GCP - Compute Post Exploitation
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Aby uzyskać więcej informacji na temat Compute i VPC (Networking), sprawdź:
GCP - Compute EnumTo pozwoli atakującemu na dostęp do danych zawartych w już istniejących obrazach lub utworzenie nowych obrazów działających VM i dostęp do ich danych bez dostępu do działającej VM.
Możliwe jest wyeksportowanie obrazu VM do bucketu, a następnie pobranie go i zamontowanie lokalnie za pomocą polecenia:
Aby wykonać tę akcję, atakujący może potrzebować uprawnień do zasobnika pamięci masowej i na pewno uprawnień do cloudbuild, ponieważ to usługa, która zostanie poproszona o wykonanie eksportu.
Ponadto, aby to zadziałało, SA codebuild i SA compute muszą mieć uprawnienia uprzywilejowane.
SA cloudbuild <project-id>@cloudbuild.gserviceaccount.com
potrzebuje:
roles/iam.serviceAccountTokenCreator
roles/compute.admin
roles/iam.serviceAccountUser
A SA <project-id>-compute@developer.gserviceaccount.com
potrzebuje:
roles/compute.storageAdmin
roles/storage.objectAdmin
Nie można bezpośrednio eksportować migawek i dysków, ale możliwe jest przekształcenie migawki w dysk, dysku w obraz i zgodnie z poprzednią sekcją, wyeksportowanie tego obrazu, aby sprawdzić go lokalnie.
Celem uzyskania dostępu do danych przechowywanych w obrazie lub wewnątrz działającego VM, z którego atakujący utworzył obraz, możliwe jest przyznanie zewnętrznemu kontu dostępu do obrazu:
a następnie utwórz nową VM z tego:
Jeśli nie mogłeś przyznać dostępu do swojego zewnętrznego konta przez obraz, mógłbyś uruchomić VM używając tego obrazu w projekcie ofiary i sprawić, by metadane wykonały reverse shell w celu uzyskania dostępu do obrazu, dodając parametr:
Z celem uzyskania dostępu do danych przechowywanych na dysku lub w migawce, możesz przekształcić migawkę w dysk, dysk w obraz i postępować zgodnie z wcześniejszymi krokami.
Lub możesz przyznać zewnętrznemu kontu dostęp do dysku (jeśli punktem wyjścia jest migawka, przyznaj dostęp do migawki lub utwórz z niej dysk):
Dołącz dysk do instancji:
Zamontuj dysk wewnątrz VM:
SSH do VM:
Zidentyfikuj dysk: Po wejściu do VM, zidentyfikuj nowy dysk, wyświetlając urządzenia dyskowe. Zazwyczaj można go znaleźć jako /dev/sdb
, /dev/sdc
itp.
Sformatuj i zamontuj dysk (jeśli to nowy lub surowy dysk):
Utwórz punkt montowania:
Zamontuj dysk:
Jeśli nie możesz przyznać dostępu do zewnętrznego projektu do migawki lub dysku, być może będziesz musiał wykonać te działania wewnątrz instancji w tym samym projekcie co migawka/dysk.
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)