GCP - IAM, Principals & Org Unauthenticated Enum
Last updated
Last updated
Apprenez et pratiquez le Hacking AWS :Formation HackTricks AWS Red Team Expert (ARTE) Apprenez et pratiquez le Hacking GCP : Formation HackTricks GCP Red Team Expert (GRTE)
Pour plus d'informations, consultez :
GCP - IAM, Principals & Org Policies EnumVérifiez les enregistrements DNS
S'il a un enregistrement google-site-verification
, il est probable qu'il utilise (ou ait utilisé) Workspace :
Si quelque chose comme include:_spf.google.com
apparaît également, cela le confirme (notez que s'il n'apparaît pas, cela ne le nie pas car un domaine peut être dans Workspace sans utiliser Gmail comme fournisseur de messagerie).
Essayez de configurer un Workspace avec ce domaine
Une autre option est d'essayer de configurer un Workspace en utilisant le domaine, si cela se plaint que le domaine est déjà utilisé (comme sur l'image), vous savez qu'il est déjà utilisé !
Pour essayer de configurer un domaine Workspace, suivez : https://workspace.google.com/business/signup/welcome
Essayez de récupérer le mot de passe d'un email utilisant ce domaine
Si vous connaissez une adresse email valide utilisée dans ce domaine (comme : admin@email.com ou info@email.com), vous pouvez essayer de récupérer le compte sur https://accounts.google.com/signin/v2/recoveryidentifier, et si l'essai ne montre pas d'erreur indiquant que Google n'a aucune idée de ce compte, alors il utilise Workspace.
Il est possible d'énumérer les emails valides d'un domaine Workspace et les emails de comptes de service en essayant de leur attribuer des permissions et en vérifiant les messages d'erreur. Pour cela, vous devez juste avoir les permissions pour attribuer des permissions à un projet (qui peut être juste détenu par vous).
Notez que pour les vérifier mais même s'ils existent, ne leur accordez pas de permission, vous pouvez utiliser le type serviceAccount
quand c'est un user
et user
quand c'est un SA
:
Une méthode plus rapide pour énumérer les comptes de service dans des projets connus est simplement d'essayer d'accéder à l'URL : https://iam.googleapis.com/v1/projects/<project-id>/serviceAccounts/<sa-email>
Par exemple : https://iam.googleapis.com/v1/projects/gcp-labs-3uis1xlx/serviceAccounts/appengine-lab-1-tarsget@gcp-labs-3uis1xlx.iam.gserviceaccount.com
Si la réponse est un 403, cela signifie que le compte de service existe. Mais si la réponse est un 404, cela signifie qu'il n'existe pas :
Notez comment, lorsque l'email de l'utilisateur était valide, le message d'erreur indiquait que le type ne l'était pas, nous avons donc réussi à découvrir que l'email support@hacktricks.xyz existe sans lui accorder de privilèges.
Vous pouvez faire la même chose avec les Comptes de Service en utilisant le type user:
au lieu de serviceAccount:
:
Apprenez et pratiquez le hacking AWS :HackTricks Formation Expert Red Team AWS (ARTE) Apprenez et pratiquez le hacking GCP : HackTricks Formation Expert Red Team GCP (GRTE)