GCP - local privilege escalation ssh pivoting
Tip
Aprenda e pratique AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoie o HackTricks
- Check the subscription plans!
- Participe do đŹ Discord group ou do telegram group ou siga-nos no Twitter đŠ @hacktricks_live.
- Compartilhe hacking tricks enviando PRs para os HackTricks e HackTricks Cloud github repos.
neste cenĂĄrio vamos supor que vocĂȘ comprometeu uma conta sem privilĂ©gios dentro de uma VM em um projeto do Compute Engine.
Surpreendentemente, as permissĂ”es do GPC do Compute Engine que vocĂȘ comprometeu podem ajudĂĄ-lo a escalar privilĂ©gios localmente dentro de uma mĂĄquina. Mesmo que isso nem sempre seja muito Ăștil em um ambiente cloud, Ă© bom saber que Ă© possĂvel.
Leia os scripts
Compute Instances provavelmente existem para executar alguns scripts para realizar açÔes com suas service accounts.
Como o IAM é granular, uma conta pode ter privilégios de leitura/escrita sobre um recurso, mas sem privilégios de listagem.
Um ótimo exemplo hipotético disso é uma Compute Instance que tem permissão para ler/gravar backups em um storage bucket chamado instance82736-long-term-xyz-archive-0332893.
Executar gsutil ls a partir da linha de comando nĂŁo retorna nada, pois a service account nĂŁo tem a permissĂŁo IAM storage.buckets.list. No entanto, se vocĂȘ executar gsutil ls gs://instance82736-long-term-xyz-archive-0332893 pode encontrar um backup completo do sistema de arquivos, dando acesso em texto claro a dados que sua conta Linux local nĂŁo possui.
VocĂȘ pode ser capaz de encontrar esse nome de bucket dentro de um script (em bash, Python, RubyâŠ).
Custom Metadata
Administrators can add custom metadata at the instance and project level. Essa Ă© simplesmente uma forma de passar pares arbitrĂĄrios chave/valor para dentro de uma instĂąncia, e Ă© comumente usada para variĂĄveis de ambiente e scripts de startup/shutdown.
AlĂ©m disso, Ă© possĂvel adicionar userdata, que Ă© um script que serĂĄ executado toda vez que a mĂĄquina for iniciada ou reiniciada e que tambĂ©m pode ser acessado a partir do endpoint de metadata.
For more info check:
Abusing IAM permissions
A maioria das permissĂ”es listadas a seguir sĂŁo concedidas ao default Compute SA, o Ășnico problema Ă© que o escopo de acesso padrĂŁo impede que o SA as utilize. No entanto, se o escopo cloud-platform estiver habilitado ou apenas o escopo compute estiver habilitado, vocĂȘ poderĂĄ abusar delas.
Check the following permissions:
- compute.instances.osLogin
- compute.instances.osAdminLogin
- compute.projects.setCommonInstanceMetadata
- compute.instances.setMetadata
- compute.instances.setIamPolicy
Search for Keys in the filesystem
Verifique se outros usuĂĄrios efetuaram login no gcloud dentro da mĂĄquina e deixaram suas credenciais no sistema de arquivos:
Procurar credenciais gcloud no sistema de arquivos
``` sudo find / -name "gcloud" ```Estes sĂŁo os arquivos mais interessantes:
~/.config/gcloud/credentials.db~/.config/gcloud/legacy_credentials/[ACCOUNT]/adc.json~/.config/gcloud/legacy_credentials/[ACCOUNT]/.boto~/.credentials.json
Mais API Keys regexes
PadrÔes de grep para GCP credentials and keys
```bash TARGET_DIR="/path/to/whatever"Service account keys
grep -Pzr â(?s){[^{}]?service_account[^{}]?private_key.*?}â
â$TARGET_DIRâ
Legacy GCP creds
grep -Pzr â(?s){[^{}]?client_id[^{}]?client_secret.*?}â
â$TARGET_DIRâ
Google API keys
grep -Pr âAIza[a-zA-Z0-9\-_]{35}â
â$TARGET_DIRâ
Google OAuth tokens
grep -Pr âya29.[a-zA-Z0-9_-]{100,200}â
â$TARGET_DIRâ
Generic SSH keys
grep -Pzr â(?s)ââBEGIN[ A-Z]?PRIVATE KEY[a-zA-Z0-9/+=\n-]?END[ A-Z]*?PRIVATE KEYâââ
â$TARGET_DIRâ
Signed storage URLs
grep -Pir âstorage.googleapis.com.*?Goog-Signature=[a-f0-9]+â
â$TARGET_DIRâ
Signed policy documents in HTML
grep -Pzr â(?s)<form action.?googleapis.com.?name=âsignatureâ value=â.*?â>â
â$TARGET_DIRâ
</details>
## ReferĂȘncias
- [https://about.gitlab.com/blog/2020/02/12/plundering-gcp-escalating-privileges-in-google-cloud-platform/](https://about.gitlab.com/blog/2020/02/12/plundering-gcp-escalating-privileges-in-google-cloud-platform/)
> [!TIP]
> Aprenda e pratique AWS Hacking:<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://hacktricks-training.com/courses/arte)<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">\
> Aprenda e pratique GCP Hacking: <img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training GCP Red Team Expert (GRTE)**](https://hacktricks-training.com/courses/grte)<img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">\
> Aprenda e pratique Az Hacking: <img src="../../../../../images/azrte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training Azure Red Team Expert (AzRTE)**](https://hacktricks-training.com/courses/azrte)<img src="../../../../../images/azrte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">
>
> <details>
>
> <summary>Apoie o HackTricks</summary>
>
> - Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
> - **Participe do** đŹ [**Discord group**](https://discord.gg/hRep4RUj7f) ou do [**telegram group**](https://t.me/peass) ou **siga**-nos no **Twitter** đŠ [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
> - **Compartilhe hacking tricks enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
>
> </details>
HackTricks Cloud

