GCP - Apikeys Privesc

Aprenda hacking AWS do zero ao avançado com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Chaves de API

As seguintes permissões são úteis para criar e roubar chaves de API, não isso dos documentos: Uma chave de API é uma string simples criptografada que identifica um aplicativo sem nenhum princípio. Elas são úteis para acessar dados públicos anonimamente, e são usadas para associar solicitações de API ao seu projeto para cota e faturamento.

Portanto, com uma chave de API você pode fazer com que a empresa pague pelo uso da API, mas você não poderá escalar privilégios.

Para mais informações sobre Chaves de API, confira:

pageGCP - API Keys Enum

Para outras formas de criar Chaves de API, confira:

pageGCP - Serviceusage Privesc

Forçar Acesso à Chave de API

Como você pode não saber quais APIs estão habilitadas no projeto ou as restrições aplicadas à chave de API que encontrou, seria interessante executar a ferramenta https://github.com/ozguralp/gmapsapiscanner e verificar o que você pode acessar com a chave de API.

apikeys.keys.create

Essa permissão permite criar uma chave de API:

gcloud services api-keys create
Operation [operations/akmf.p7-[...]9] complete. Result: {
"@type":"type.googleapis.com/google.api.apikeys.v2.Key",
"createTime":"2022-01-26T12:23:06.281029Z",
"etag":"W/\"HOhA[...]==\"",
"keyString":"AIzaSy[...]oU",
"name":"projects/5[...]6/locations/global/keys/f707[...]e8",
"uid":"f707[...]e8",
"updateTime":"2022-01-26T12:23:06.378442Z"
}

Pode encontrar um script para automatizar a criação, exploração e limpeza de um ambiente vulnerável aqui.

Note que por padrão os usuários têm permissões para criar novos projetos e são concedidos o papel de Proprietário sobre o novo projeto. Assim, um usuário poderia criar um projeto e uma chave de API dentro deste projeto.

apikeys.keys.getKeyString, apikeys.keys.list

Essas permissões permitem listar e obter todas as chaves de API e obter a chave:

for  key  in  $(gcloud services api-keys list --uri); do
gcloud services api-keys get-key-string "$key"
done

Pode encontrar um script para automatizar a criação, exploração e limpeza de um ambiente vulnerável aqui.

apikeys.keys.undelete , apikeys.keys.list

Estas permissões permitem que você liste e regenere chaves de API excluídas. A chave de API é fornecida na saída após o undelete ser feito:

gcloud services api-keys list --show-deleted
gcloud services api-keys undelete <key-uid>

Criar Aplicativo OAuth Interno para phishing de outros trabalhadores

Verifique a seguinte página para aprender como fazer isso, embora essa ação pertença ao serviço clientauthconfig de acordo com a documentação:

pageGWS - Google Platforms Phishing

Última actualización