Selon la documentation du projet publiée sur GitHub, “apimspray” est un toolkit de password spraying ciblant Entra ID, destiné à la recherche autorisée et au Red Teaming.
🧰 Description et prérequis
- Outil spécialisé pour Entra ID (Azure AD), utilisant des passerelles Azure API Management (APIM) comme couche de proxy distribué et rotatif (IP rotating).
- Prérequis : Azure CLI (az) et abonnement Azure actif pour déployer des ressources APIM en tier Consumption (coût annoncé négligeable pour de courts tests, typiquement < 0,01 $).
- Installation/prise en main: clonage du dépôt, installation des dépendances Python, session Azure CLI authentifiée, exécution depuis Azure Cloud Shell possible.
🏗️ Déploiement des passerelles
- Script dédié
apimspraycreate.pypour déployer plusieurs instances APIM dans une ou plusieurs régions Azure et exporter les URLs correspondantes. - Exemples fournis (compte/régions, ex. germanywestcentral et westeurope) et options CLI: nombre d’instances, régions, préfixes d’URL/realm, suppression des anciens groupes de ressources.
- Point important: nécessite une session az login active en arrière-plan.
🎯 Usage, modes et cadence
- Listes d’entrée attendues:
users.txt(UPN) etpasswords.txt. - Recon optionnelle avec
generate_upns.pypour: découvrir les domaines connectés/vérifiés du tenant cible, télécharger des usernames de comptes de service probables, générer des permutations d’UPN. - Deux modes dans
apimspray.py:- validate: vérifie des paires
user:password1:1. - spray: essaie un mot de passe sur tous les utilisateurs, attend selon la configuration, puis passe au suivant.
- validate: vérifie des paires
- Profils de pacing prédéfinis (high/medium/low/stealth) contrôlant workers, délais, taille de chunk, temporisation de verrouillage, seuil de sécurité et jitter. Le Safe Threshold arrête l’outil si trop de comptes retournent
AADSTS50053(verrouillage). Option pour continuer après succès.
🗂️ Sortie et références
- Sorties dans
results/<timestamp>/avec fichiers valid_* (auth OK ou MFA requis), blocked_* (comptes bloqués/conditionnés), failed_* (identifiants invalides ou utilisateur introuvable). - Crédits: o365spray (logique ROPC), TeamFiltration (structure), FireProx (techniques de rotation via passerelles cloud).
🔎 TTPs et IOCs
- TTPs:
- Password Spraying contre Entra ID (ROPC/flux d’authentification).
- Rotation d’IP via APIM pour distribuer les tentatives et limiter la corrélation par adresse source.
- Gestion du verrouillage avec pauses, jitter et seuil de sécurité (
AADSTS50053). - Recon UPN via découverte de domaines vérifiés et permutations d’identifiants.
- IOCs: non fournis dans le texte.
Type d’article: nouveaux outils ; but principal: présenter un toolkit d’évaluation/red teaming pour le password spraying sur Entra ID avec rotation d’IP et cadres de cadence.
🔗 Source originale : https://github.com/crtvrffnrt/apimspray