GCP - IAM Post Exploitation
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
IAM
You can find further information about IAM in:
GCP - IAM, Principals & Org Policies Enum
Conceder acceso a la consola de administración
El acceso a la GCP management console se proporciona a cuentas de usuario, no a cuentas de servicio. Para iniciar sesión en la interfaz web, puedes otorgar acceso a una cuenta de Google que controles. Esto puede ser una cuenta genérica “@gmail.com”, no tiene que ser miembro de la organización objetivo.
Sin embargo, para conceder el rol primitivo de Owner a una cuenta genérica “@gmail.com”, necesitarás usar la consola web. gcloud devolverá un error si intentas otorgarle un permiso por encima de Editor.
Puedes usar el siguiente comando para conceder a un usuario el rol primitivo Editor en tu proyecto existente:
gcloud projects add-iam-policy-binding [PROJECT] --member user:[EMAIL] --role roles/editor
Si tuviste éxito aquí, intenta acceder a la interfaz web y explorar desde allí.
Esto es el nivel más alto que puedes asignar usando la herramienta gcloud.
Eliminar componentes de IAM iam.*.delete
Los permisos iam.*.delete (p. ej., iam.roles.delete, iam.serviceAccountApiKeyBindings.delete, iam.serviceAccountKeys.delete, etc.) permiten que una identidad elimine componentes críticos de IAM como roles personalizados, vínculos de API keys, claves de cuentas de servicio y las propias cuentas de servicio. En manos de un atacante, esto hace posible eliminar mecanismos legítimos de acceso para provocar una denegación de servicio.
Para llevar a cabo tal ataque, es posible, por ejemplo, eliminar roles usando:
gcloud iam roles delete <ROLE_ID> --project=<PROJECT_ID>
iam.serviceAccountKeys.disable || iam.serviceAccounts.disable
Los permisos iam.serviceAccountKeys.disable y iam.serviceAccounts.disable permiten desactivar claves activas de cuentas de servicio o las cuentas de servicio; en manos de un atacante esto podría utilizarse para interrumpir operaciones, provocar denegación de servicio o dificultar la respuesta a incidentes al impedir el uso de credenciales legítimas.
Para desactivar una cuenta de servicio, puedes usar el siguiente comando:
gcloud iam service-accounts disable <SA_EMAIL> --project=<PROJECT_ID>
Para deshabilitar las keys de un Service Account, puedes usar el siguiente comando:
gcloud iam service-accounts keys disable <KEY_ID> --iam-account=<SA_EMAIL>
iam.*.undelete
Los permisos iam.*.undelete permiten restaurar elementos previamente eliminados, tales como vinculaciones de claves API, roles personalizados o cuentas de servicio. En manos de un atacante, esto puede usarse para revertir acciones defensivas (recuperar accesos eliminados), restablecer vectores de compromiso eliminados para mantener persistencia o evadir esfuerzos de remediación, complicando la contención del incidente.
gcloud iam service-accounts undelete "${SA_ID}" --project="${PROJECT}"
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripción!
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
HackTricks Cloud

