GCP - IAM, Principals & Org Unauthenticated Enum
Last updated
Last updated
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)
Para más información consulta:
GCP - IAM, Principals & Org Policies EnumVerifica los registros DNS
Si tiene un registro google-site-verification
es probable que esté (o haya estado) utilizando Workspace:
Si algo como include:_spf.google.com
también aparece, lo confirma (ten en cuenta que si no aparece, no lo niega, ya que un dominio puede estar en Workspace sin usar Gmail como proveedor de correo).
Intenta configurar un Workspace con ese dominio
Otra opción es intentar configurar un Workspace usando el dominio; si se queja de que el dominio ya está en uso (como en la imagen), ¡sabes que ya está en uso!
Para intentar configurar un dominio de Workspace, sigue: https://workspace.google.com/business/signup/welcome
Intenta recuperar la contraseña de un correo electrónico usando ese dominio
Si conoces alguna dirección de correo electrónico válida que se esté utilizando en ese dominio (como: admin@email.com o info@email.com), puedes intentar recuperar la cuenta en https://accounts.google.com/signin/v2/recoveryidentifier, y si el intento no muestra un error que indique que Google no tiene idea sobre esa cuenta, entonces está usando Workspace.
Es posible enumerar correos electrónicos válidos de un dominio de Workspace y correos electrónicos de cuentas de servicio intentando asignarles permisos y verificando los mensajes de error. Para esto, solo necesitas tener permisos para asignar permisos a un proyecto (que puede ser solo de tu propiedad).
Ten en cuenta que para verificarlos, pero incluso si existen, no les otorgues un permiso; puedes usar el tipo serviceAccount
cuando es un user
y user
cuando es un SA
:
Una forma más rápida de enumerar Cuentas de Servicio en proyectos conocidos es simplemente intentar acceder a la URL: https://iam.googleapis.com/v1/projects/<project-id>/serviceAccounts/<sa-email>
Por ejemplo: https://iam.googleapis.com/v1/projects/gcp-labs-3uis1xlx/serviceAccounts/appengine-lab-1-tarsget@gcp-labs-3uis1xlx.iam.gserviceaccount.com
Si la respuesta es un 403, significa que la CA existe. Pero si la respuesta es un 404, significa que no existe:
Note cómo cuando el correo electrónico del usuario era válido, el mensaje de error indicaba que el tipo no lo es, así que logramos descubrir que el correo electrónico support@hacktricks.xyz existe sin otorgarle ningún privilegio.
Puedes hacer lo mismo con Cuentas de Servicio usando el tipo user:
en lugar de serviceAccount:
:
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)