GCP - Apikeys Privesc
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
Apikeys
Les autorisations suivantes sont utiles pour créer et voler des clés API, notez ceci des docs : Une clé API est une simple chaîne cryptée qui identifie une application sans aucun principal. Elles sont utiles pour accéder à des données publiques de manière anonyme, et sont utilisées pour associer les requêtes API à votre projet pour le quota et la facturation.
Par conséquent, avec une clé API, vous pouvez faire en sorte que cette entreprise paie pour votre utilisation de l'API, mais vous ne pourrez pas élever vos privilèges.
Pour plus d'informations sur les clés API, consultez :
Pour d'autres façons de créer des clés API, consultez :
Accès par Brute Force à la clé API
Comme vous ne savez peut-être pas quelles API sont activées dans le projet ou les restrictions appliquées à la clé API que vous avez trouvée, il serait intéressant d'exécuter l'outil https://github.com/ozguralp/gmapsapiscanner et de vérifier ce à quoi vous pouvez accéder avec la clé API.
apikeys.keys.create
Cette autorisation permet de créer une clé API :
gcloud services api-keys create
Operation [operations/akmf.p7-[...]9] complete. Result: {
"@type":"type.googleapis.com/google.api.apikeys.v2.Key",
"createTime":"2022-01-26T12:23:06.281029Z",
"etag":"W/\"HOhA[...]==\"",
"keyString":"AIzaSy[...]oU",
"name":"projects/5[...]6/locations/global/keys/f707[...]e8",
"uid":"f707[...]e8",
"updateTime":"2022-01-26T12:23:06.378442Z"
}
Vous pouvez trouver un script pour automatiser la création, l'exploitation et le nettoyage d'un environnement vulnérable ici.
caution
Notez qu'en default, les utilisateurs ont des permissions pour créer de nouveaux projets et ils se voient attribuer le rôle de Propriétaire sur le nouveau projet. Donc, un utilisateur pourrait créer un projet et une clé API à l'intérieur de ce projet.
apikeys.keys.getKeyString
, apikeys.keys.list
Ces permissions permettent de lister et d'obtenir toutes les apiKeys et d'obtenir la clé :
for key in $(gcloud services api-keys list --uri); do
gcloud services api-keys get-key-string "$key"
done
Vous pouvez trouver un script pour automatiser la création, l'exploitation et le nettoyage d'un environnement vulnérable ici.
apikeys.keys.undelete
, apikeys.keys.list
Ces permissions vous permettent de lister et de régénérer des clés API supprimées. La clé API est donnée dans la sortie après que l'undelete soit effectué :
gcloud services api-keys list --show-deleted
gcloud services api-keys undelete <key-uid>
Créer une application OAuth interne pour hameçonner d'autres travailleurs
Consultez la page suivante pour apprendre comment faire cela, bien que cette action appartienne au service clientauthconfig
selon la documentation:
GWS - Google Platforms Phishing
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.