GCP - Storage Post Exploitation
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 Storage
For more information about CLoud Storage check this page:
Conceder Acesso Público
É possível conceder a usuários externos (logados no GCP ou não) acesso ao conteúdo de buckets. No entanto, por padrão a opção para expor publicamente um bucket estará desativada:
# Disable public prevention
gcloud storage buckets update gs://BUCKET_NAME --no-public-access-prevention
# Make all objects in a bucket public
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=allUsers --role=roles/storage.objectViewer
## I don't think you can make specific objects public just with IAM
# Make a bucket or object public (via ACL)
gcloud storage buckets update gs://BUCKET_NAME --add-acl-grant=entity=AllUsers,role=READER
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --add-acl-grant=entity=AllUsers,role=READER
Se você tentar conceder ACLs a um bucket com ACLs desativadas você encontrará este erro: ERROR: HTTPError 400: Cannot use ACL API to update bucket policy when uniform bucket-level access is enabled. Read more at https://cloud.google.com/storage/docs/uniform-bucket-level-access
Para acessar buckets abertos via navegador, acesse a URL https://<bucket_name>.storage.googleapis.com/ ou https://<bucket_name>.storage.googleapis.com/<object_name>
storage.objects.delete (storage.objects.get)
Para excluir um objeto:
gcloud storage rm gs://<BUCKET_NAME>/<OBJECT_NAME> --project=<PROJECT_ID>
storage.buckets.delete, storage.objects.delete & storage.objects.list
Para excluir um bucket:
gcloud storage rm -r gs://<BUCKET_NAME>
Desativar chaves HMAC
A permissão storage.hmacKeys.update permite desativar chaves HMAC, e a permissão storage.hmacKeys.delete permite que uma identidade exclua chaves HMAC associadas a contas de serviço no Cloud Storage.
# Deactivate
gcloud storage hmac update <ACCESS_ID> --deactivate
# Delete
gcloud storage hmac delete <ACCESS_ID>
storage.buckets.setIpFilter & storage.buckets.update
A permissão storage.buckets.setIpFilter, juntamente com a permissão storage.buckets.update, permite que uma identidade configure filtros de endereço IP em um bucket do Cloud Storage, especificando quais intervalos ou endereços IP estão autorizados a acessar os recursos do bucket.
Para limpar completamente o filtro de IP, o seguinte comando pode ser usado:
gcloud storage buckets update gs://<BUCKET_NAME> --project=<PROJECT_ID>
Para alterar os IPs filtrados, o seguinte comando pode ser usado:
gcloud storage buckets update gs://<BUCKET_NAME> \
--ip-filter-file=ip-filter.json \
--project=<PROJECT_ID>
O arquivo JSON representa o próprio filtro, algo como:
{
"mode": "Enabled",
"publicNetworkSource": {
"allowedIpCidrRanges": ["<IP>/<MASK>"]
},
"allowCrossOrgVpcs": false,
"allowAllServiceAgentAccess": false
}
storage.buckets.restore
Restaurar um bucket usando:
gcloud storage restore gs://<BUCKET_NAME>#<GENERATION> \
--project=<PROJECT_ID>
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

