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
apimspray — Mini proxy Azure apim | Kitploit
Outils/GitHubGitHub/crtvrffnrt/apimspray
OSINT (Renseignement de Sources Ouvertes)ReconnaissanceAttaques de Mots de PasseCollecte d'InformationsSécurité CloudRed Teaming
GitHubcrtvrffnrt/apimspray

apimspray

Mini proxy Azure apim

Voir le dépôt
616il y a 11 joursVérifié par Kitploit

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 →
Partager
Site web

Apimspray

apimspray

Python Azure License Status

apimspray est une boîte à outils de pulvérisation de mots de passe Entra ID spécialisée, conçue pour la recherche en sécurité autorisée et le Red Teaming. Elle utilise les passerelles Azure API Management (APIM) comme une couche proxy distribuée et rotative pour la rotation d'adresses IP.

Lisez l'article de blog pour plus de détails sur ce projet.

Prérequis

  • Azure CLI (az) : nécessaire pour le script rotateur afin de déployer les ressources. (Exécutez le script depuis une session CLI déjà authentifiée auprès d'az cli ou utilisez Azure Cloud Shell)
  • Abonnement Azure actif : pour déployer les ressources APIM de niveau Consommation (le coût est négligeable, généralement <0,01 $ pour des évaluations courtes).

Installation

  1. Clonez le dépôt.
  2. Installez les dépendances Python :
    root@kitploit:~
    pip install -r requirements.txt
    
  3. Assurez-vous d'être connecté à Azure CLI :
    root@kitploit:~
    az login
    
    Remarque : le script rotateur s'appuie sur une session Azure CLI active en arrière-plan pour déployer les ressources.

Configuration

Démarrage rapide (Azure Cloud Shell)

Exécutez apimspray directement depuis un environnement Azure authentifié.

Ouvrir dans Azure Cloud Shell
root@kitploit:~
git clone https://github.com/crtvrffnrt/apimspray.git
cd apimspray
python3 apimspray.py --help

1. Déployer les passerelles

Déployez plusieurs passerelles APIM dans différentes régions

root@kitploit:~
python3 apimspraycreate.py --count 5 --outfile urls.txt

Déploie 33 instances APIM dans Germanywestcentral et westeurope et enregistre dans urls.txt

root@kitploit:~
 python3 apimspraycreate.py --location germanywestcentral,westeurope --count 33 --outfile urls.txt

Référence CLI apimspraycreate :

root@kitploit:~
usage: apimspraycreate.py [-h] --outfile OUTFILE [--count COUNT] [--location LOCATION] [--prefix PREFIX] [--realm-prefix REALM_PREFIX] [--delete-old]

apimspraycreate - Déploiement APIM Azure

options:
  -h, --help            affiche ce message d'aide et quitte
  --outfile OUTFILE     fichier de sortie pour les URLs
  --count COUNT         nombre d'instances
  --location LOCATION   emplacement(s) APIM (séparés par des virgules) où déployer. Lorsque fourni, seules ces régions sont utilisées et le premier emplacement sert pour le groupe de ressources.
  --prefix PREFIX       préfixe d'URL API
  --realm-prefix REALM_PREFIX
                        préfixe d'API Realm
  --delete-old          supprimer les anciens groupes de ressources

Important : Pour toutes les méthodes, vous devez avoir une session az active en arrière-plan (az login).

2. Préparer les listes de mots

Assurez-vous d'avoir vos listes cibles prêtes :

  • users.txt : liste des UserPrincipalNames (ex. [email protected]).
  • passwords.txt : liste des mots de passe à pulvériser.

3. Reconnaissance / Génération d'UPN (optionnel)

Si vous ne disposez pas d'une liste d'utilisateurs, vous pouvez utiliser le script d'assistance generate_upns.py. Cet outil :

  1. Interroge le locataire Azure cible pour découvrir tous les domaines connectés et vérifiés.
  2. Télécharge une liste de noms d'utilisateurs de comptes de service statistiquement probables depuis GitHub.
  3. Génère une liste de permutations d'UPN (UserPrincipalNames) et les enregistre dans users.txt.

Utilisation :

root@kitploit:~
# Générer users.txt pour un domaine ou un ID de locataire spécifique
python3 generate_upns.py --target example.com
# OU en utilisant l'ID du locataire
python3 generate_upns.py --target 00000000-0000-0000-0000-000000000000

Référence CLI generate_upns :

root@kitploit:~
usage: generate_upns.py [-h] --target TARGET

Générer des UPN à partir des locataires Azure connectés et des comptes de service.

options:
  -h, --help       affiche ce message d'aide et quitte
  --target TARGET  domaine cible (ex. example.com) ou UUID du locataire

Utilisation

root@kitploit:~
usage: apimspray.py [-h] [--urls URLS] [--users USERS] [--passwords PASSWORDS] [--output OUTPUT] [--tenant TENANT] [--domain DOMAIN] --mode {spray,validate} [--pace {stealth,low,mid,medium,high}]
                    [--continue-on-success]

apimspray - Outil d'évaluation Entra ID

options:
  -h, --help            affiche ce message d'aide et quitte
  --urls URLS           chemin vers le fichier d'URL APIM (provenant de apimspraycreate.py ou apimsprayrotator.sh)
  --users USERS         chemin vers le fichier d'utilisateurs
  --passwords PASSWORDS
                        chemin vers le fichier de mots de passe
  --output OUTPUT       répertoire de sortie
  --tenant TENANT       ID du locataire ou domaine
  --domain DOMAIN       ajouter le domaine aux utilisateurs si manquant
  --mode {spray,validate}
                        mode d'opération. 'spray' teste tous les mots de passe contre tous les utilisateurs (1:N). 'validate' effectue un test 1:1 de paires d'identifiants.
  --pace {stealth,low,mid,medium,high}
                        profil de cadence pour les requêtes et la gestion du verrouillage :
                         - high:    15 workers, 0.1s délai, 10 passes/tronçon, 5m attente verrouillage, 20 seuil sécurité
                         - medium:  5 workers,  1.0s délai,  5 passes/tronçon, 10m attente verrouillage, 10 seuil sécurité, 10% gigue
                         - low:     2 workers,  5.0s délai,  2 passes/tronçon, 15m attente verrouillage,  5 seuil sécurité, 20% gigue
                         - stealth: 1 worker,  30.0s délai,  1 passe/tronçon,  20m attente verrouillage,  1 seuil sécurité, 40% gigue
  --continue-on-success
                        continuer l'évaluation même après avoir trouvé des identifiants valides.

Modes

  • validate : vérifie une liste de paires utilisateur:motdepasse. Nécessite des listes de longueur égale.

    root@kitploit:~
    python3 apimspray.py --urls urls.txt --mode validate --users u.txt --passwords p.txt
    
  • spray : tente un mot de passe contre tous les utilisateurs, puis attend (si configuré), puis passe au mot de passe suivant.

    root@kitploit:~
    python3 apimspray.py --urls urls.txt --mode spray --users users.txt --passwords common_passwords.txt --pace medium
    

Profils de cadence

L'argument --pace contrôle l'agressivité de la pulvérisation. Les valeurs sont codées en dur pour garantir la stabilité et la sécurité.

  • Compte : nombre de mots de passe à essayer par utilisateur avant une pause pour laisser les temporisateurs de verrouillage se réinitialiser.
  • Attente Verrouillage : temps de pause entre les tronçons de mots de passe.
  • Seuil Sécurité : si ce nombre de comptes est verrouillé (AADSTS50053), l'outil s'arrête immédiatement.
  • Gigue : randomise le délai pour échapper à l'analyse temporelle statique.

Sortie

Les résultats sont stockés dans le répertoire results/<timestamp>/ :

  • valid_*.txt : authentifications réussies (MFA requise ou jeton reçu).
  • blocked_*.txt : comptes verrouillés ou bloqués conditionnellement.
  • failed_*.txt : identifiants invalides ou utilisateur non trouvé.

Crédits et Références

  • o365spray : inspiration logique pour le flux ROPC.
  • TeamFiltration : inspiration de conception pour la structure de l'outil.
  • FireProx : le grand-père des techniques de rotation de passerelle cloud.
Télécharger l’outil
ProfilWorkersDélaiCompte (Tronçon)Attente VerrouillageSeuil SécuritéGigue
high150.1s105m20 verrouillé0%
medium51.0s510m10 verrouillé10%
low25.0s215m5 verrouillé20%
stealth130.0s120m1 verrouillé40%