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.py pour 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) et passwords.txt.
  • Recon optionnelle avec generate_upns.py pour: 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:password 1:1.
    • spray: essaie un mot de passe sur tous les utilisateurs, attend selon la configuration, puis passe au suivant.
  • 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