GCP - Compute Post Exploitation
Compute
Aby uzyskać więcej informacji na temat Compute i VPC (Networking), sprawdź:
Eksportuj i sprawdź obrazy lokalnie
To 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 oraz na pewno uprawnień do cloudbuild, ponieważ to jest 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
Eksportuj i sprawdź migawki i dyski lokalnie
Nie jest możliwe bezpośrednie eksportowanie 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.
Inspekcja obrazu tworząc VM
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:
Inspect a Snapshot/Disk attaching it to a VM
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, wypisując urządzenia dyskowe. Zazwyczaj można go znaleźć jako
/dev/sdb
,/dev/sdc
itd.Sformatuj i zamontuj dysk (jeśli to nowy lub surowy dysk):
Utwórz punkt montowania:
Zamontuj dysk:
Jeśli nie możesz udzielić 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.
Last updated