GCP - Privilege Escalation

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

Drugi načini podrške HackTricks-u:

Uvod u eskalaciju privilegija u GCP-u

GCP, kao i svaki drugi oblak, ima neke principale: korisnike, grupe i servisne naloge, i neke resurse poput računarskog sistema, cloud funkcija... Zatim, putem uloga, dodeljuju se dozvole tim principima nad resursima. To je način da se specificira dozvole koje princip ima nad resursom u GCP-u. Postoje određene dozvole koje će omogućiti korisniku da dobije još više dozvola nad resursom ili resursima trećih strana, a to se naziva eskalacija privilegija (takođe, iskorišćavanje ranjivosti da bi se dobile više dozvole).

Stoga, želeo bih da razdvojim tehnike eskalacije privilegija u GCP-u u 2 grupe:

  • Privesc na principala: To će vam omogućiti da se predstavljate kao drugi princip, i stoga delujete kao da imate sve njegove dozvole. npr.: Zloupotreba getAccessToken da bi se predstavljao kao servisni nalog.

  • Privesc na resursu: To će vam omogućiti da dobijete više dozvola nad određenim resursom. npr.: možete zloupotrebiti dozvolu setIamPolicy nad cloud funkcijama da biste omogućili pokretanje funkcije.

  • Imajte na umu da će neke dozvole za resurse takođe omogućiti da pridružite proizvoljni servisni nalog resursu. To znači da ćete moći da pokrenete resurs sa SA, uđete u resurs i ukradete SA token. Stoga će vam to omogućiti eskalaciju na principala putem eskalacije resursa. Ovo se dogodilo u nekoliko resursa ranije, ali sada je manje uobičajeno (ali se i dalje može dogoditi).

Očigledno, najinteresantnije tehnike eskalacije privilegija su one iz druge grupe, jer će vam omogućiti da dobijete više privilegija izvan resursa nad kojima već imate neke privilegije. Međutim, imajte na umu da eskalacija u resursima može vam dati i pristup osetljivim informacijama ili čak drugim principima (možda putem čitanja tajne koja sadrži token SA).

Važno je napomenuti da su u GCP servisni nalozi i principali i dozvole, pa će eskalacija privilegija u SA vam omogućiti i da se predstavljate kao taj SA.

Dozvole između zagrada ukazuju na dozvole potrebne za iskorišćavanje ranjivosti pomoću gcloud-a. One možda neće biti potrebne ako se iskorištava putem API-ja.

Dozvole za metodologiju eskalacije privilegija

Ovako testiram specifične dozvole za izvođenje određenih radnji unutar GCP-a.

  1. Dodajte novi skriptu u tests/

Zaobilaženje pristupnih opsega

Tokeni SA koji su procurili iz GCP metadata servisa imaju pristupne opsege. To su ograničenja na dozvole koje token ima. Na primer, ako token ima opseg https://www.googleapis.com/auth/cloud-platform, imaće puni pristup svim GCP uslugama. Međutim, ako token ima opseg https://www.googleapis.com/auth/cloud-platform.read-only, imaće samo samo za čitanje pristup svim GCP uslugama, čak i ako SA ima više dozvola u IAM-u.

Ne postoji direktni način za zaobilaženje ovih dozvola, ali uvek možete pokušati da tražite nove akreditive na kompromitovanom hostu, pronađete ključ servisa da biste generisali OAuth token bez ograničenja ili pređete na drugi VM sa manje restrikcija.

Kada se koriste pristupni opsezi, OAuth token koji se generiše za računarski instancu (VM) će imati ograničenje opsega uključeno. Međutim, možda ćete moći da zaobiđete ovo ograničenje i iskoristite dozvole koje kompromitovani nalog ima.

Najbolji način za zaobilaženje ovog ograničenja je ili da pronađete nove akreditive na kompromitovanom hostu, da pronađete ključ servisa za generisanje OAuth tokena bez ograničenja ili da kompromitujete drugi VM sa manje restrikcija.

Proverite SA sa generisanim ključevima koristeći:

for i in $(gcloud iam service-accounts list --format="table[no-heading](email)"); do
echo "Looking for keys for $i:"
gcloud iam service-accounts keys list --iam-account $i
done

Tehnike eskalacije privilegija

Način da eskalirate svoje privilegije u GCP-u je da imate dovoljno dozvola da biste mogli, na neki način, pristupiti privilegijama drugih servisnih naloga/korisnika/grupa. Povezivanje eskalacija dok ne dobijete administratorski pristup organizaciji.

GCP ima stotine (ako ne i hiljade) dozvola koje entitet može dobiti. U ovoj knjizi možete pronaći sve dozvole koje znam koje možete zloupotrebiti za eskalciju privilegija, ali ako znate neki drugi put koji ovde nije naveden, molimo vas da ga podelite.

Možete pronaći sve putanje eskalacije privilegija podeljene po uslugama:

Zloupotreba GCP-a za lokalnu eskalaciju privilegija

Ako se nalazite unutar mašine u GCP-u, možda ćete moći zloupotrebiti dozvole za lokalnu eskalaciju privilegija:

GCP - local privilege escalation ssh pivoting

Reference

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

Drugi načini da podržite HackTricks:

Last updated