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)