GCP - Cloud Shell Persistence
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Für weitere Informationen siehe:
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:
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 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:
Es gibt eine weitere Datei im Home-Ordner 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:
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:
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
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)