GCP - Storage Post Exploitation
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
Cloud Storage
Para más información sobre Cloud Storage consulta esta página:
Conceder acceso público
Es posible otorgar a usuarios externos (con sesión en GCP o no) acceso al contenido de los buckets. Sin embargo, por defecto la opción para exponer públicamente un bucket estará deshabilitada:
# 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
Si intentas otorgar ACLs a un bucket con ACLs deshabilitadas verás este error: 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 acceder a buckets abiertos desde el navegador, accede a la URL https://<bucket_name>.storage.googleapis.com/ o https://<bucket_name>.storage.googleapis.com/<object_name>
storage.objects.delete (storage.objects.get)
Para eliminar un objeto:
gcloud storage rm gs://<BUCKET_NAME>/<OBJECT_NAME> --project=<PROJECT_ID>
storage.buckets.delete, storage.objects.delete & storage.objects.list
Para eliminar un bucket:
gcloud storage rm -r gs://<BUCKET_NAME>
Desactivar claves HMAC
El permiso storage.hmacKeys.update permite deshabilitar claves HMAC, y el permiso storage.hmacKeys.delete permite a una identidad eliminar claves HMAC asociadas con cuentas de servicio en Cloud Storage.
# Deactivate
gcloud storage hmac update <ACCESS_ID> --deactivate
# Delete
gcloud storage hmac delete <ACCESS_ID>
storage.buckets.setIpFilter & storage.buckets.update
El permiso storage.buckets.setIpFilter, junto con el permiso storage.buckets.update, permite a una identidad configurar filtros de direcciones IP en un bucket de Cloud Storage, especificando qué rangos o direcciones IP pueden acceder a los recursos del bucket.
Para borrar completamente el filtro de direcciones IP, se puede usar el siguiente comando:
gcloud storage buckets update gs://<BUCKET_NAME> --project=<PROJECT_ID>
Para cambiar las IPs filtradas, se puede usar el siguiente comando:
gcloud storage buckets update gs://<BUCKET_NAME> \
--ip-filter-file=ip-filter.json \
--project=<PROJECT_ID>
El archivo JSON representa el propio filtro, algo así:
{
"mode": "Enabled",
"publicNetworkSource": {
"allowedIpCidrRanges": ["<IP>/<MASK>"]
},
"allowCrossOrgVpcs": false,
"allowAllServiceAgentAccess": false
}
storage.buckets.restore
Restaurar un bucket usando:
gcloud storage restore gs://<BUCKET_NAME>#<GENERATION> \
--project=<PROJECT_ID>
Tip
Aprende y practica AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Consulta los subscription plans!
- Únete al 💬 Discord group o al telegram group o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud github repos.
HackTricks Cloud

