GCP - local privilege escalation ssh pivoting
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:
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
Reference
Last updated