GCP - Artifact Registry Persistence
Reading time: 3 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Artifact Registry
Für weitere Informationen über Artifact Registry siehe:
Dependency Confusion
- Was passiert, wenn remote und standard Repositories in einem virtuellen gemischt werden und ein Paket in beiden existiert?
- Das mit der höchsten Priorität, die im virtuellen Repository festgelegt ist, wird verwendet
- Wenn die Priorität gleich ist:
- Wenn die Version die gleiche ist, wird der Policy-Name alphabetisch zuerst im virtuellen Repository verwendet
- Andernfalls wird die höchste Version verwendet
caution
Daher ist es möglich, eine höchste Version (dependency confusion) in einem öffentlichen Paket-Registry auszunutzen, wenn das Remote-Repository eine höhere oder gleiche Priorität hat
Diese Technik kann nützlich sein für Persistence und unauthenticated access, da es nur erforderlich ist, einen Bibliotheksnamen zu kennen, der im Artifact Registry gespeichert ist, und diese gleiche Bibliothek im öffentlichen Repository (PyPi für Python zum Beispiel) mit einer höheren Version zu erstellen.
Für Persistence sind dies die Schritte, die du befolgen musst:
- Anforderungen: Ein virtuelles Repository muss existieren und verwendet werden, ein internes Paket mit einem Namen, der im öffentlichen Repository nicht existiert, muss verwendet werden.
- Erstelle ein Remote-Repository, falls es nicht existiert
- Füge das Remote-Repository zum virtuellen Repository hinzu
- Bearbeite die Richtlinien des virtuellen Registrys, um dem Remote-Repository eine höhere (oder gleiche) Priorität zu geben.
Führe etwas wie aus: - gcloud artifacts repositories update --upstream-policy-file ...
- Lade das legitime Paket herunter, füge deinen schädlichen Code hinzu und registriere es im öffentlichen Repository mit der gleichen Version. Jedes Mal, wenn ein Entwickler es installiert, installiert er deins!
Für weitere Informationen über Dependency Confusion siehe:
Dependency Confusion - HackTricks
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.