GCP - Compute Enum

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

GCP VPC & Mreženje

Saznajte kako ovo funkcioniše u:

Enumeracija

# List networks
gcloud compute networks list
gcloud compute networks describe <network>

# List subnetworks
gcloud compute networks subnets list
gcloud compute networks subnets get-iam-policy <name> --region <region>
gcloud compute networks subnets describe <name> --region <region>

# List FW rules in networks
gcloud compute firewall-rules list --format="table(
name,
network,
direction,
priority,
sourceRanges.list():label=SRC_RANGES,
destinationRanges.list():label=DEST_RANGES,
allowed[].map().firewall_rule().list():label=ALLOW,
denied[].map().firewall_rule().list():label=DENY,
sourceTags.list():label=SRC_TAGS,
sourceServiceAccounts.list():label=SRC_SVC_ACCT,
targetTags.list():label=TARGET_TAGS,
targetServiceAccounts.list():label=TARGET_SVC_ACCT,
disabled
)"

# List Hierarchical Firewalls
gcloud compute firewall-policies list  (--folder <value>| --organization <value>)
gcloud compute firewall-policies describe <fw_policy>
gcloud compute firewall-policies list-rules <fw_policy>

# Get Firewalls of each region
gcloud compute network-firewall-policies list
## Get final FWs applied in a region
gcloud compute network-firewall-policies get-effective-firewalls --network=<vpc_name> --region <region>

Lako možete pronaći računske instance sa otvorenim pravilima firewall-a sa https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum

Računske instance

Ovo je način na koji možete pokrenuti virtuelne mašine unutar GCP-a. Pogledajte ovu stranicu za više informacija:

Enumeracija

# Get list of zones
# It's interesting to know which zones are being used
gcloud compute regions list | grep -E "NAME|[^0]/"

# List compute instances & get info
gcloud compute instances list
gcloud compute instances describe <instance name>
gcloud compute instances get-iam-policy <instance> --zone=ZONE
gcloud compute instances get-screenshot <instance name> # Instace must have "Display Device" enabled
gcloud compute instances os-inventory list-instances # Get OS info of instances (OS Config agent is running on instances)


# Enumerate disks
gcloud compute disks list
gcloud compute disks describe <disk>
gcloud compute disks get-iam-policy <disk>

Za više informacija o tome kako SSH ili modifikovati metapodatke instance radi escalacije privilegija, pogledajte ovu stranicu:

Escalacija privilegija

Na sledećoj stranici možete proveriti kako zloupotrebiti dozvole računanja za escalaciju privilegija:

Neautentifikovano nabrajanje

Post eksploatacija

Upornost

Zapisnici serijske konzole

Zapisnici serijske konzole Compute Engine-a su funkcija koja vam omogućava da pogledate i dijagnostikujete zapisnike pokretanja i operativnog sistema vaših virtuelnih mašina.

Zapisnici serijske konzole pružaju niskonivojski prikaz procesa pokretanja instance, uključujući poruke jezgra, inicijalne skripte i druge sistemsko događaje koji se dešavaju tokom pokretanja. Ovo može biti korisno za otklanjanje problema sa pokretanjem, identifikaciju neispravnih konfiguracija ili softverskih grešaka, ili rešavanje problema sa povezivanjem na mrežu.

Ovi zapisnici mogu otkriti osetljive informacije iz zapisnika sistema koje obično niskoprivilegovani korisnik ne bi mogao videti, ali uz odgovarajuće IAM dozvole možda ćete moći da ih pročitate.

Možete koristiti sledeću gcloud komandu za upit zapisnika serijskog porta (potrebna dozvola je compute.instances.getSerialPortOutput):

gcloud compute instances get-serial-port-output <instance-name>

Izlazni podaci skripti za pokretanje

Moguće je videti izlazne podatke skripti za pokretanje sa virtuelne mašine izvršavanjem:

sudo journalctl -u google-startup-scripts.service

Menadžer konfiguracije operativnog sistema

Možete koristiti uslugu upravljanja konfiguracijom operativnog sistema da implementirate, upitate i održavate dosledne konfiguracije (željeno stanje i softver) za svoj VM instancu (VM). Na Compute Engine-u, morate koristiti gostujuće politike da biste održavali dosledne softverske konfiguracije na VM-u.

Funkcija upravljanja konfiguracijom operativnog sistema vam omogućava da definišete konfiguracione politike koje specificiraju koje softverske pakete treba instalirati, koje servise treba omogućiti, i koje fajlove ili konfiguracije treba da budu prisutni na vašim VM-ovima. Možete koristiti deklarativni pristup za upravljanje softverskom konfiguracijom vaših VM-ova, što vam omogućava da automatizujete i skalirate svoj proces upravljanja konfiguracijom lakše.

Ovo takođe omogućava prijavljivanje na instance putem IAM dozvola, tako da je veoma korisno za privesc i pivoting.

Da biste omogućili os-config u celom projektu ili na instanci, samo treba da postavite ključ metapodataka enable-oslogin na true na željenom nivou. Osim toga, možete postaviti metapodatke enable-oslogin-2fa na true da biste omogućili 2fa.

Kada ga omogućite prilikom kreiranja instance, ključevi metapodataka će automatski biti postavljeni.

Više o 2fa u OS-config, primenjuje se samo ako je korisnik korisnik, ako je SA (kao što je compute SA) neće zahtevati ništa dodatno.

Enumeracija

gcloud compute os-config patch-deployments list
gcloud compute os-config patch-deployments describe <patch-deployment>

gcloud compute os-config patch-jobs list
gcloud compute os-config patch-jobs describe <patch-job>

Slike

Prilagođene slike

Prilagođene računske slike mogu sadržati osetljive detalje ili druge ranjive konfiguracije koje možete iskoristiti.

Kada se slika kreira, možete izabrati 3 vrste enkripcije: Korišćenje Google upravljane ključeve (podrazumevano), ključa iz KMS-a, ili sirovog ključa koji je dat od strane klijenta.

Enumeracija

Možete upitati listu nestandardnih slika u projektu pomoću sledeće komande:

gcloud compute machine-images list
gcloud compute machine-images describe <name>
gcloud compute machine-images get-iam-policy <name>

Zatim možete izvesti virtuelne diskove sa bilo koje slike u više formata. Sledeća komanda bi izvezla sliku test-image u qcow2 formatu, omogućavajući vam da preuzmete datoteku i izgradite virtuelnu mašinu lokalno radi daljeg istraživanja:

gcloud compute images export --image test-image \
--export-format qcow2 --destination-uri [BUCKET]

# Execute container inside a docker
docker run --rm -ti gcr.io/<project-name>/secret:v1 sh

Eskalacija privilegija

Proverite sekciju eskalacije privilegija za računske instance.

Prilagođene šablone instanci

Šablon instance definiše osobine instance kako bi pomogao u implementaciji doslednih konfiguracija. Oni mogu sadržati iste vrste osetljivih podataka kao prilagođeni metapodaci pokrenute instance. Možete koristiti sledeće komande za istraživanje:

# List the available templates
gcloud compute instance-templates list

# Get the details of a specific template
gcloud compute instance-templates describe [TEMPLATE NAME]

Moglo bi biti interesantno znati koji disk koriste nove slike, ali ovi predlošci obično neće imati osetljive informacije.

Snimci

Snimci su rezervne kopije diskova. Imajte na umu da ovo nije isto kao kloniranje diska (još jedna dostupna funkcija). Snimak će koristiti istu enkripciju kao disk sa kog je napravljen.

Enumeracija

gcloud compute snapshots list
gcloud compute snapshots describe <snapshot>
gcloud compute snapshots get-iam-policy <snapshot>

Eskalacija privilegija

Proverite sekciju eskalacije privilegija za računske instance.

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated