GCP - Cloud Shell Persistence
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Za više informacija pogledajte:
GCP - Cloud Shell EnumGoogle Cloud Shell vam pruža pristup komandnoj liniji vašim cloud resursima direktno iz vašeg pregledača bez ikakvih povezanih troškova.
Možete pristupiti Google-ovom Cloud Shell-u iz web konzole ili pokretanjem gcloud cloud-shell ssh
.
Ova konzola ima neke zanimljive mogućnosti za napadače:
Svaki Google korisnik sa pristupom Google Cloud-u ima pristup potpuno autentifikovanoj Cloud Shell instanci (Servisni nalozi mogu, čak i kao vlasnici organizacije).
Ta instanca će održavati svoj home direktorijum najmanje 120 dana ako ne dođe do aktivnosti.
Nema mogućnosti za organizaciju da prati aktivnost te instance.
To u suštini znači da napadač može staviti backdoor u home direktorijum korisnika i sve dok se korisnik povezuje na GC Shell svake 120 dana, backdoor će preživeti i napadač će dobiti shell svaki put kada se pokrene samo tako što će uraditi:
Postoji još jedna datoteka u home folderu pod nazivom .customize_environment
koja, ako postoji, će biti izvršena svaki put kada korisnik pristupi cloud shell-u (kao u prethodnoj tehnici). Samo umetnite prethodni backdoor ili jedan poput sledećeg da biste održali postojanost sve dok korisnik "često" koristi cloud shell:
Važno je napomenuti da se prvi put kada se izvrši akcija koja zahteva autentifikaciju, u pretraživaču korisnika pojavljuje prozor za autorizaciju. Ovaj prozor mora biti prihvaćen pre nego što se komanda može izvršiti. Ako se pojavi neočekivani prozor, to može izazvati sumnju i potencijalno kompromitovati metodu postojanosti koja se koristi.
Ovo je prozor koji se pojavljuje prilikom izvršavanja gcloud projects list
iz cloud shell-a (kao napadač) u korisničkoj sesiji pretraživača:
Međutim, ako je korisnik aktivno koristio cloudshell, prozor se neće pojaviti i možete prikupiti tokene korisnika sa:
U osnovi, koriste se ova 3 API poziva:
https://content-cloudshell.googleapis.com/v1/users/me/environments/default:addPublicKey [POST] (omogućava vam da dodate svoj javni ključ koji ste kreirali lokalno)
https://content-cloudshell.googleapis.com/v1/users/me/environments/default:start [POST] (omogućava vam da pokrenete instancu)
https://content-cloudshell.googleapis.com/v1/users/me/environments/default [GET] (prikazuje vam IP adresu google cloud shell-a)
Ali možete pronaći dodatne informacije na https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key
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)