mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 14:47:17 -07:00
2.8 KiB
2.8 KiB
GCP - アーティファクト レジストリの持続性
{{#include ../../../banners/hacktricks-training.md}}
アーティファクト レジストリ
アーティファクト レジストリに関する詳細情報は、以下を確認してください:
{{#ref}} ../gcp-services/gcp-artifact-registry-enum.md {{#endref}}
依存関係の混乱
- リモートと標準のリポジトリが仮想リポジトリで混在し、両方にパッケージが存在する場合、どうなりますか?
- 仮想リポジトリで優先度が最も高く設定されたものが使用されます
- 優先度が同じの場合:
- バージョンが同じであれば、仮想リポジトリでアルファベット順に最初のポリシー名が使用されます
- そうでない場合は、最も高いバージョンが使用されます
Caution
したがって、リモートリポジトリがより高いまたは同じ優先度を持っている場合、公開パッケージレジストリで最高バージョン(依存関係の混乱)を悪用することが可能です
この技術は、持続性と認証されていないアクセスに役立ちます。悪用するには、アーティファクト レジストリに保存されているライブラリ名を知っている必要があり、同じライブラリを公開リポジトリ(例えばPythonのPyPi)により高いバージョンで作成するだけです。
持続性のために従うべき手順は次のとおりです:
- 要件: 仮想リポジトリが存在し、使用されている必要があります。公開リポジトリに存在しない名前の内部パッケージを使用する必要があります。
- リモートリポジトリが存在しない場合は作成します
- リモートリポジトリを仮想リポジトリに追加します
- リモートリポジトリにより高い(または同じ)優先度を与えるために、仮想レジストリのポリシーを編集します。
次のようなコマンドを実行します: - gcloud artifacts repositories update --upstream-policy-file ...
- 正当なパッケージをダウンロードし、悪意のあるコードを追加して、同じバージョンで公開リポジトリに登録します。開発者がインストールするたびに、あなたのものがインストールされます!
依存関係の混乱に関する詳細情報は、以下を確認してください:
{{#ref}} https://book.hacktricks.wiki/en/pentesting-web/dependency-confusion.html {{#endref}}
{{#include ../../../banners/hacktricks-training.md}}