Kubernetes External Secret Operator
このページの元の著者は Fares
このページでは、ESOの設定ミスやESOを使用してシークレットを同期するアプリケーションからシークレットを盗む方法についてのポインタをいくつか示しています。
免責事項
以下に示すテクニックは、特定の状況が整った場合にのみ機能する可能性があります。たとえば、所有している/侵害された名前空間でシークレットを同期するために必要な要件に依存します。自分で解決する必要があります。
前提条件
管理者権限を持つkubernetes / openshiftクラスター内での立ち入り口
少なくともクラスターレベルのExternalSecretへの読み取りアクセス
ESOがシークレットを同期するために必要なラベル/注釈またはグループメンバーシップが必要かどうかを特定します。運が良ければ、定義されたシークレットを自由に盗むことができます。
既存のClusterSecretStoreに関する情報の収集
このリソースを読む権限を持つユーザーがいると仮定して、まず最初に既存の ClusterSecretStores をリストアップします。
ExternalSecretの列挙
ClusterSecretStoreという名前の_mystore_が見つかったと仮定します。関連するexternalsecretを列挙してください。
このリソースはネームスペーススコープされているため、すでに検索するネームスペースを知っている場合を除いて、すべてのネームスペースを横断して検索するには-Aオプションを追加してください。
外部シークレットが定義されたリストを取得する必要があります。外部シークレットオブジェクトが_mysecret_と呼ばれ、_mynamespace_ネームスペースで使用されていると仮定しましょう。それがどの種類のシークレットを保持しているかについてもう少し情報を収集してください。
ピースを組み立てる
ここから、1つまたは複数のシークレット名(Secret リソースで定義されたもの)の名前を取得できます。次のような出力が得られます:
数分後、同期条件が満たされた場合、名前空間内で漏洩したシークレットを表示できるはずです。
参照
Last updated