GCP - Artifact Registry Privesc
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aby uzyskać więcej informacji na temat Artifact Registry, sprawdź:
Dzięki temu uprawnieniu atakujący mógłby przesyłać nowe wersje artefaktów z złośliwym kodem, takimi jak obrazy Docker:
Sprawdzono, że możliwe jest przesłanie nowego złośliwego obrazu dockera o tej samej nazwie i tagu, co już obecny, więc stary straci tag i następnym razem, gdy obraz z tym tagiem zostanie pobrany, zostanie pobrany złośliwy.
Nie można przesłać biblioteki Pythona o tej samej wersji, co już obecna, ale można przesłać większe wersje (lub dodać dodatkowe .0
na końcu wersji, jeśli to działa - nie w Pythonie jednak), lub usunąć ostatnią wersję i przesłać nową z (potrzebne artifactregistry.versions.delete)
:
artifactregistry.repositories.downloadArtifacts
Dzięki temu uprawnieniu możesz pobierać artefakty oraz wyszukiwać wrażliwe informacje i luki.
Pobierz obraz Docker:
Pobierz bibliotekę python:
Co się stanie, jeśli zdalne i standardowe rejestry zostaną zmieszane w jednym wirtualnym, a pakiet istnieje w obu? Sprawdź tę stronę:
artifactregistry.tags.delete
, artifactregistry.versions.delete
, artifactregistry.packages.delete
, (artifactregistry.repositories.get
, artifactregistry.tags.get
, artifactregistry.tags.list
)Usuń artefakty z rejestru, takie jak obrazy docker:
artifactregistry.repositories.delete
Usuń pełne repozytorium (nawet jeśli ma zawartość):
artifactregistry.repositories.setIamPolicy
Napastnik z tym uprawnieniem mógłby nadać sobie uprawnienia do przeprowadzenia niektórych z wcześniej wspomnianych ataków na repozytorium.
Cloud Functions
Gdy tworzona jest funkcja chmurowa, nowy obraz docker jest przesyłany do Artifact Registry projektu. Próbowałem zmodyfikować obraz na nowy, a nawet usunąć bieżący obraz (i obraz cache
), ale nic się nie zmieniło, funkcja chmurowa nadal działa. Dlatego może możliwe jest nadużycie ataku Race Condition jak w przypadku bucketu, aby zmienić kontener docker, który będzie uruchamiany, ale po prostu modyfikacja przechowywanego obrazu nie jest możliwa do skompromitowania funkcji chmurowej.
App Engine
Mimo że App Engine tworzy obrazy docker w Artifact Registry. Przetestowano, że nawet jeśli zmodyfikujesz obraz w tej usłudze i usuniesz instancję App Engine (aby wdrożona została nowa), wykonywany kod się nie zmienia. Może być możliwe, że przeprowadzenie ataku Race Condition jak w przypadku bucketów może umożliwić nadpisanie wykonywanego kodu, ale to nie zostało przetestowane.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)