GCP - Artifact Registry Persistence

ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

Artifact Registry

Artifact Registryに関する詳細情報は次を参照してください:

pageGCP - Artifact Registry Enum

依存関係混乱

  • リモートと標準リポジトリが仮想的に混在し、パッケージが両方に存在する場合、どうなりますか?

  • 仮想リポジトリで最優先設定されたものが使用されます

  • 優先度が同じ場合:

    • バージョンが同じ場合、仮想リポジトリ内でアルファベット順に最初のポリシー名が使用されます

    • そうでない場合、最高バージョンが使用されます

したがって、リモートリポジトリがより高いまたは同じ優先度を持つ場合、公開パッケージレジストリで最高バージョン(依存関係混乱)を悪用することが可能です

このテクニックは永続性認証されていないアクセスに役立ち、それを悪用するにはArtifact Registryに保存されているライブラリ名を知っているだけで、同じライブラリを**公開リポジトリ(たとえばPythonのPyPi)**により高いバージョンで作成する必要があります。

永続性のためには、以下の手順に従う必要があります:

  • 要件仮想リポジトリ存在し、使用されている必要があり、公開リポジトリに存在しない名前を持つ内部パッケージを使用する必要があります。

  • リモートリポジトリを作成する(存在しない場合)

  • リモートリポジトリを仮想リポジトリに追加する

  • 仮想レジストリのポリシーを編集して、リモートリポジトリに**より高い優先度(または同じ)**を与えます。 次のようなコマンドを実行します:

  • 正規のパッケージをダウンロードし、悪意のあるコードを追加して、同じバージョンで公開リポジトリに登録します。開発者がインストールするたびに、彼らはあなたのものをインストールします!

依存関係混乱についての詳細は次を参照してください:

ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

最終更新