GCP - アーティファクト レジストリの持続性

Reading time: 5 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

アーティファクト レジストリ

アーティファクト レジストリに関する詳細情報は、以下を確認してください:

GCP - Artifact Registry Enum

依存関係の混乱

  • リモートと標準のリポジトリが仮想リポジトリで混在し、両方にパッケージが存在する場合、どうなりますか?
  • 仮想リポジトリ優先度が最も高く設定されたものが使用されます
  • 優先度が同じの場合:
  • バージョン同じであれば、仮想リポジトリアルファベット順に最初のポリシー名が使用されます
  • そうでない場合は、最も高いバージョンが使用されます

caution

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

この技術は、持続性認証されていないアクセスに役立ちます。悪用するには、アーティファクト レジストリに保存されているライブラリ名知っている必要があり、同じライブラリを公開リポジトリ(例えばPythonのPyPi)により高いバージョンで作成するだけです。

持続性のために従うべき手順は次のとおりです:

  • 要件: 仮想リポジトリ存在し、使用されている必要があります。公開リポジトリに存在しない名前内部パッケージを使用する必要があります。
  • リモートリポジトリが存在しない場合は作成します
  • リモートリポジトリを仮想リポジトリに追加します
  • リモートリポジトリにより高い(または同じ)優先度を与えるために、仮想レジストリのポリシーを編集します。
    次のようなコマンドを実行します:
  • gcloud artifacts repositories update --upstream-policy-file ...
  • 正当なパッケージをダウンロードし、悪意のあるコードを追加して、同じバージョンで公開リポジトリに登録します。開発者がインストールするたびに、あなたのものがインストールされます!

依存関係の混乱に関する詳細情報は、以下を確認してください:

Dependency Confusion - HackTricks

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする