GCP - Cloud Shell Persistence
Cloud Shell
Für weitere Informationen siehe:
pageGCP - Cloud Shell EnumPersistente Hintertür
Google Cloud Shell bietet Ihnen den Zugriff auf die Befehlszeile für Ihre Cloud-Ressourcen direkt über Ihren Browser ohne anfallende Kosten.
Sie können auf die Google Cloud Shell über die Webkonsole oder durch Ausführen von gcloud cloud-shell ssh
zugreifen.
Diese Konsole bietet Angreifern einige interessante Möglichkeiten:
Jeder Google-Benutzer mit Zugriff auf Google Cloud hat Zugriff auf eine vollständig authentifizierte Cloud Shell-Instanz (auch Service-Konten können dies, selbst wenn sie Eigentümer der Organisation sind).
Diese Instanz wird ihren 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 genommen, dass ein Angreifer eine Hintertür im Home-Verzeichnis des Benutzers platzieren kann und solange der Benutzer mindestens alle 120 Tage eine Verbindung zur GC Shell herstellt, wird die Hintertür überleben und der Angreifer wird jedes Mal eine Shell erhalten, wenn sie ausgeführt wird, einfach durch:
Es gibt eine weitere Datei im Home-Verzeichnis namens .customize_environment
, die, wenn sie existiert, jedes Mal ausgeführt wird, wenn der Benutzer auf die Cloud Shell zugreift (wie bei der vorherigen Technik). Fügen Sie einfach die zuvor verwendete Hintertür oder eine ähnliche 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 Authentifizierung erfordernde Aktion 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 Misstrauen erregen und potenziell die verwendete Persistenzmethode gefährden.
Dies ist das Pop-up, das beim Ausführen von gcloud projects list
aus der Cloud Shell (als Angreifer) in der Browsersitzung des Benutzers angezeigt wird:
Wenn der Benutzer jedoch die Cloud Shell aktiv verwendet hat, wird das Pop-up nicht angezeigt und Sie können Benutzertoken sammeln mit:
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] (fordert Sie auf, Ihren öffentlichen Schlüssel hinzuzufügen, den Sie lokal erstellt haben)
https://content-cloudshell.googleapis.com/v1/users/me/environments/default:start [POST] (fordert Sie auf, die Instanz zu starten)
https://content-cloudshell.googleapis.com/v1/users/me/environments/default [GET] (gibt Ihnen die IP des Google Cloud Shell)
Aber 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
Last updated