GCP - local privilege escalation ssh pivoting

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

Drugi načini podrške HackTricks-u:

U ovom scenariju pretpostavićemo da ste kompromitovali nalog bez privilegija unutar virtuelne mašine (VM) u projektu Compute Engine.

Neverovatno, GCP dozvole za compute engine koji ste kompromitovali mogu vam pomoći da eskaliirate privilegije lokalno unutar mašine. Iako to neće uvek biti veoma korisno u cloud okruženju, dobro je znati da je to moguće.

Pročitajte skripte

Računarske instance verovatno postoje da bi izvršavale neke skripte radi obavljanja akcija sa svojim servisnim nalozima.

Pošto je IAM veoma granularan, nalog može imati privilegije za čitanje/pisanje nad resursom ali ne i privilegije za listanje.

Odličan hipotetički primer je Compute Instance koji ima dozvolu za čitanje/pisanje rezervnih kopija u skladištu podataka nazvanom instance82736-long-term-xyz-archive-0332893.

Pokretanje gsutil ls iz komandne linije ne vraća ništa, jer servisni nalog nema storage.buckets.list IAM dozvolu. Međutim, ako pokrenete gsutil ls gs://instance82736-long-term-xyz-archive-0332893 možete pronaći kompletnu rezervnu kopiju fajl sistema, omogućavajući vam pristup čistom tekstu podacima kojima vaš lokalni Linux nalog nedostaje.

Možete pronaći ime ovog skladišta unutar skripte (u bash-u, Python-u, Ruby-ju...).

Prilagođeni metapodaci

Administratori mogu dodati prilagođene metapodatke na nivou instance i projekta. Ovo je jednostavno način da se proslede proizvoljni parovi ključ/vrednost u instancu, i često se koristi za promenljive okruženja i skripte za pokretanje/gašenje.

Osim toga, moguće je dodati korisničke podatke, koji su skripta koja će se izvršiti svaki put kada se mašina pokrene ili ponovo pokrene i koja se može pristupiti i sa metapodataka endpointa.

Za više informacija pogledajte:

Zloupotreba IAM dozvola

Većina sledećih predloženih dozvola je dodata podrazumevanom Compute SA, jedini problem je što podrazumevani opseg pristupa sprečava SA da ih koristi. Međutim, ako je omogućen cloud-platform opseg pristupa ili samo compute opseg pristupa, moći ćete ih zloupotrebiti.

Proverite sledeće dozvole:

Pretražite ključeve u fajl sistemu

Proverite da li su se drugi korisnici prijavili u gcloud unutar kutije i ostavili svoje akreditive u fajl sistemu:

sudo find / -name "gcloud"

Ovo su najinteresantnije datoteke:

  • ~/.config/gcloud/credentials.db

  • ~/.config/gcloud/legacy_credentials/[ACCOUNT]/adc.json

  • ~/.config/gcloud/legacy_credentials/[ACCOUNT]/.boto

  • ~/.credentials.json

Više API ključeva regexes

TARGET_DIR="/path/to/whatever"

# Service account keys
grep -Pzr "(?s){[^{}]*?service_account[^{}]*?private_key.*?}" \
"$TARGET_DIR"

# Legacy GCP creds
grep -Pzr "(?s){[^{}]*?client_id[^{}]*?client_secret.*?}" \
"$TARGET_DIR"

# Google API keys
grep -Pr "AIza[a-zA-Z0-9\\-_]{35}" \
"$TARGET_DIR"

# Google OAuth tokens
grep -Pr "ya29\.[a-zA-Z0-9_-]{100,200}" \
"$TARGET_DIR"

# Generic SSH keys
grep -Pzr "(?s)-----BEGIN[ A-Z]*?PRIVATE KEY[a-zA-Z0-9/\+=\n-]*?END[ A-Z]*?PRIVATE KEY-----" \
"$TARGET_DIR"

# Signed storage URLs
grep -Pir "storage.googleapis.com.*?Goog-Signature=[a-f0-9]+" \
"$TARGET_DIR"

# Signed policy documents in HTML
grep -Pzr '(?s)<form action.*?googleapis.com.*?name="signature" value=".*?">' \
"$TARGET_DIR"

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