GCP - Compute Post Exploitation
Obliczenia
Aby uzyskać więcej informacji na temat Obliczeń i VPC (Sieciowanie), sprawdź:
pageGCP - Compute EnumEksport i Inspekcja obrazów lokalnie
To pozwoliłoby atakującemu uzyskać dostęp do danych zawartych w już istniejących obrazach lub tworzyć nowe obrazy działających maszyn wirtualnych i uzyskiwać do nich dostęp bez posiadania dostępu do działającej maszyny wirtualnej.
Możliwe jest wyeksportowanie obrazu maszyny wirtualnej do kubełka, a następnie pobranie go i zamontowanie lokalnie za pomocą polecenia:
Przed wykonaniem tej czynności atakujący może potrzebować uprawnień do kubełka przechowywania oraz na pewno uprawnień do cloudbuild, ponieważ to usługa, która zostanie poproszona o wykonanie eksportu. Ponadto, aby to działało, SA codebuild i SA compute potrzebują uprzywilejowanych uprawnień. 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 Sprawdzaj Lokalnie Snapshots i Dyski
Nie jest możliwe bezpośrednie eksportowanie snapshots i dysków, ale można przekształcić snapshot w dysk, dysk w obraz i zgodnie z poprzednim rozdziałem, wyeksportować ten obraz, aby go lokalnie sprawdzić
Sprawdź obraz tworząc wirtualną maszynę
Z celem dostępu do danych przechowywanych w obrazie lub wewnątrz uruchomionej maszyny wirtualnej, z której atakujący utworzył obraz, można udzielić zewnętrznemu kontu dostępu do obrazu:
a następnie utwórz nową maszynę wirtualną z tego obrazu:
Jeśli nie możesz udzielić swojemu zewnętrznemu kontu dostępu do obrazu, możesz uruchomić maszynę wirtualną korzystając z tego obrazu w projekcie ofiary i spowodować wykonanie odwrotnego powłoki przez metadane obrazu, dodając parametr:
Sprawdź migawkę/dysk, podłączając ją do maszyny wirtualnej
Mając na celu dostęp do danych przechowywanych na dysku lub migawce, możesz przekształcić migawkę w dysk, dysk w obraz i kontynuować poprzednie kroki.
Możesz także udzielić zewnętrznemu kontu dostępu do dysku (jeśli punktem wyjścia jest migawka, udziel dostępu do migawki lub utwórz z niej dysk):
Podłącz dysk do instancji:
Zamontuj dysk wewnątrz maszyny wirtualnej:
Zaloguj się przez SSH do maszyny wirtualnej:
Zidentyfikuj dysk: Po zalogowaniu się do maszyny wirtualnej zidentyfikuj nowy dysk, wyświetlając listę urządzeń dyskowych. Zazwyczaj znajdziesz go jako
/dev/sdb
,/dev/sdc
, itp.Sformatuj i zamontuj dysk (jeśli jest to nowy lub surowy dysk):
Utwórz punkt montowania:
Zamontuj dysk:
Jeśli nie możesz udzielić dostępu zewnętrznemu projektowi do migawki lub dysku, możesz potrzebować wykonać te czynności wewnątrz instancji w tym samym projekcie co migawka/dysk.
Last updated