GCP - Artifact Registry Persistence
Last updated
Last updated
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する: HackTricks Training GCP Red Team Expert (GRTE)
Artifact Registryに関する詳細情報は次を確認してください:
GCP - Artifact Registry Enumリモートと標準のリポジトリが仮想リポジトリで混在し、両方にパッケージが存在する場合、どうなるか?
仮想リポジトリで設定された優先度が最も高いものが使用される
優先度が同じ場合:
バージョンが同じであれば、仮想リポジトリでアルファベット順で最初のポリシー名が使用される
そうでなければ、最も高いバージョンが使用される
したがって、リモートリポジトリがより高いまたは同じ優先度を持っている場合、パブリックパッケージレジストリでの最も高いバージョン(依存関係の混乱)を悪用することが可能です
この技術は、持続性と認証されていないアクセスに役立つ可能性があり、これを悪用するには、Artifact Registryに保存されているライブラリ名を知っていることと、パブリックリポジトリ(例えばPythonのPyPi)に同じライブラリをより高いバージョンで作成することが必要です。
持続性のために従うべき手順は次のとおりです:
要件: 仮想リポジトリが存在し、使用されている必要があり、パブリックリポジトリに存在しない名前の内部パッケージを使用する必要があります。
リモートリポジトリが存在しない場合は作成する
リモートリポジトリを仮想リポジトリに追加する
リモートリポジトリにより高い(または同じ)優先度を与えるために仮想レジストリのポリシーを編集する。 次のようなコマンドを実行します:
正当なパッケージをダウンロードし、悪意のあるコードを追加し、同じバージョンでパブリックリポジトリに登録します。開発者がインストールするたびに、彼はあなたのものをインストールします!
依存関係の混乱に関する詳細情報は次を確認してください:
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する: HackTricks Training GCP Red Team Expert (GRTE)