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
nebulousAD — NebulousAD automated credential auditing tool. | Kitploit
Outils/GitHubGitHub/nuid/nebulousad
Password CrackingPassword AttacksVulnerability AnalysisIdentity & Access Management (IAM)AuthenticationAPI SecurityArchived
GitHubnuid/nebulousad

nebulousAD

NebulousAD automated credential auditing tool.

Voir le dépôt
15220il y a 6 ansVé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

⚠️ Une note aux utilisateurs de NebulousAD

À partir du 14 avril, NuID n'hébergera plus l'API NebulousAD avec laquelle ce code communique. En tant que petite équipe de développeurs, nous avons constaté qu'il n'est pas réalisable de supporter, surveiller et développer activement à la fois le portail NebulousAD et notre Portail Développeur d'authentification.

Le code de vérification des mots de passe Active Directory par rapport à un ensemble d'identifiants compromis dans des fuites publiques continuera à vivre dans ce dépôt, et nous intégrerons tous les excellents retours que nous avons reçus via notre expérience avec NebAD pour fournir un service de liste noire de mots de passe fluide aux côtés de notre API d'authentification dans les mois à venir. Alors restez à l'écoute !

Nous apprécions votre implication et vos retours passés, et nous nous réjouissons de vous entendre à l'avenir. N'hésitez pas à nous contacter pour toute question concernant NebAD, NuID ou tout sujet lié à l'identité numérique.

À bientôt ! – l'équipe NuID

NebulousAD

Liens rapides

  • À propos
  • Futures versions
  • Installation
  • Utilisation
  • API REST Nebulous
  • Problèmes connus

À propos

NebulousAD est un outil d'audit des mots de passe des utilisateurs Active Directory par rapport à une base de données de mots de passe compromis trouvés lors de fuites de données. L'outil a été créé pour aider les administrateurs système Windows à trouver et, éventuellement, à corriger l'utilisation de mots de passe compromis. Cette approche est recommandée par le NIST 800-63B et peut aider à se protéger contre les attaques par pulvérisation d'identifiants et par bourrage d'identifiants.

La base de données Nebulous contient actuellement plus de 2,5 milliards de hachages uniques de mots de passe compromis.

Par défaut, NebulousAD utilise le modèle de k-anonymat pour préserver la confidentialité et la sécurité des mots de passe vérifiés par rapport à l'API. Seuls les cinq premiers caractères d'un hachage SHA-2 sont envoyés à l'API. Vous pouvez en savoir plus sur le k-anonymat ici.

L'outil a été initialement publié à BSides Las Vegas 2019. Une vidéo de la présentation BSides est disponible ici.

Futures versions :

Fonctionnalités à venir :

  • Rédaction par groupe. Permet d'omettre la vérification de hachage pour les membres d'un groupe AD spécifique.

Installation

Téléchargez simplement la version précompilée (ne nécessite pas d'interpréteur Python) ou compilez à partir des sources :

Cet outil nécessite Python 2.7 (pour l'instant).

Exécutez git clone https://github.com/NuID/nebulousAD.git

Ensuite, installez avec python setup.py install

Puis initialisez votre clé. Vous pouvez obtenir votre clé en visitant : https://nebulous.nuid.io/#/register Une fois inscrit, cliquez sur le bouton pour générer votre clé API et copiez-la.

Vous pouvez maintenant les initialiser comme ceci : nebulousAD -init-key <api_key>

Vous pouvez maintenant exécuter l'outil. S'il ne trouve pas votre clé API, vous devrez peut-être redémarrer votre session de terminal. La clé API est stockée dans une variable d'environnement. Se déconnecter et se reconnecter fonctionne également.

Compilation d'un binaire statique

Vous pouvez télécharger le fichier nebulousAD.exe pour une utilisation sans interpréteur ici. Vous pouvez également compiler l'outil vous-même à partir des sources :

  1. pip install pyinstaller
  2. git clone https://github.com/NuID/nebulousAD.git
  3. cd .\nebulousAD\nebulousAD
  4. pyinstaller --onefile nebulousAD.py

Pyinstaller affichera l'emplacement du binaire compilé :

exemple

Utilisation

Une commande exemple pour vider tous les hachages et les vérifier par rapport à l'API : nebulousAD.exe -v -snap --check

root@kitploit:~
NuID Credential Auditing tool.

optional arguments:
  -h, --help            show this help message and exit
  -ntds NTDS            NTDS.DIT file to parse
  -system SYSTEM        SYSTEM registry hive to parse
  -csv CSV              Output results to CSV file at this PATH.
  -json JSON            Output results to JSON file at this PATH
  -init-key INIT_KEY    Install your Nu_I.D. API key to the current users
                        PATH.
  -c, --check           Check against Nu_I.D. API for compromised
                        credentials.
  -dk, --disable-k-anon
                        Disable k-anon hash searches against the API (speeds
                        up the audit).
  -snap                 Use ntdsutil.exe to snapshot the system registry
                        hive and ntds.dit file to <systemDrive>:\Program
                        Files\NuID\
  -shred                When performing delete operations on files, use a 7
                        pass overwrite with sdelete.exe. Download here:
                        https://docs.microsoft.com/en-
                        us/sysinternals/downloads/sdelete
  -no-backup            Do not backup the existing snapshots, just overwrite
                        them instead.
  -clean-old-snaps CLEAN_OLD_SNAPS
                        Clean backups older than N days.

display options:
  -user-status          Display whether or not the user is disabled
  -pwd-last-set         Shows pwdLastSet attribute for each account found
                        within the NTDS.DIT database.
  -history              Dump NTLM hash history of the users.
  -v                    Enable verbose mode.

--disable-k-anon

Désactive la fonction de vérification de hachage par k-anonymat. Cela permet d'accélérer le temps de recherche, mais entraîne l'envoi du hachage SHA-256(NTLM) complet à l'API. Nous ne journalisons ni ne stockons les hachages envoyés à l'API.

-snap

Le paramètre -snap va automatiquement prendre un instantané d'Active Directory (en utilisant ntdsutil.exe), et extraire le fichier ntds.dit ainsi que la ruche du registre SYSTEM, si vous avez les privilèges nécessaires. Vous pouvez effectuer cette extraction manuellement en utilisant diverses méthodes ou l'outil ntdsutil.exe.

Si vous l'extrayez manuellement, vous pouvez pointer vers les fichiers avec -system chemin\vers\SYSTEM et -ntds chemin\vers\ntds.dit. Cela est utile si vous souhaitez auditer d'anciens instantanés.

--check

Cela nécessite une clé API depuis https://nebulous.nuid.io/#/register. Une fois que vous l'avez et que vous l'avez installée avec -init-key, vous pouvez vérifier les hachages par rapport à l'API NuID. Si vous avez spécifié -history, il vérifiera également l'historique des mots de passe de chaque compte pour voir si un mot de passe précédemment utilisé a été compromis.

-user-status

Ajoute une sortie indiquant si le compte est Activé ou Désactivé dans Active Directory.

-pwd-last-set

Ajoute une sortie indiquant la date de dernière modification du mot de passe du compte. Cela peut être utile pour détecter les violations de la politique de sécurité des comptes qui ne sont pas réinitialisés automatiquement comme défini dans la GPO, par exemple les comptes de service.

-history

Auditez ou extrayez également l'historique des mots de passe stockés du compte.

-shred

Utilise un écrasement DoD à 7 passages lors du nettoyage des instantanés. Cela nécessite d'avoir sdelete.exe dans votre chemin. Vous pouvez l'obtenir ici : https://docs.microsoft.com/en-us/sysinternals/downloads/sdelete

Téléchargez-le et placez-le dans votre répertoire %SYSTEMDRIVE\Windows\System32\, ou configurez la variable d'environnement.

-clean-old-snaps

Utile pour nettoyer les sauvegardes lorsque vous planifiez l'exécution de cette application avec le Planificateur de tâches. La ruche SYSTEM et le fichier .dit peuvent être assez volumineux dans les grands domaines et prendre beaucoup d'espace disque. Si vous utilisez le Planificateur de tâches pour un audit quotidien, vous pouvez utiliser cette option comme ceci : -clean-old-snaps 7 pour ne conserver qu'une semaine d'instantanés.

-no-backup

Si nous détectons un ancien instantané, nous le sauvegardons par défaut dans %SYSTEMDRIVE%\Program Files\NuID\snapshot-backups. Cela est dû au fait que ntdsutil.exe nécessite un répertoire vide. Si vous souhaitez désactiver cette sauvegarde et simplement écraser l'instantané actuel, utilisez cet argument.

API REST Nebulous

Une API Web RESTful est fournie pour permettre aux utilisateurs d'utiliser le jeton API NuID, une fois généré, pour votre propre client personnalisé. Cette section décrit le fonctionnement correct de l'API Web, les requêtes valides, les types d'erreurs, etc.

Réponse

La structure de base de chaque réponse sera identique. Sans exception, les réponses doivent contenir les trois champs suivants : success, data et error. La première chose à déterminer lors de la réception de la réponse est la valeur de success. Cela déterminera si vous devez continuer à traiter l'objet data ou gérer l'objet error. Les exemples suivants montrent des réponses génériques du serveur dans une situation de succès et d'échec :

Succès

root@kitploit:~
{
    success: True,  // Indicates the request completed successfully
    data: {
        /* value depends on endpoint queried */
    },
    error: {} // Empty 
}

Échec

root@kitploit:~
{
    success: False,  // Indicates the request did not complete successfully
    data: { },  // Empty
    error: {
        "ErrorName": "Helpful description of the error that occurred during the request"
    }
}

Erreurs

Chaque erreur offre un aperçu de ce qui n'a pas fonctionné lors de la requête, permettant à l'utilisateur d'apporter les modifications nécessaires.

Hachages pris en charge

Pour l'instant, un seul hash_type est pris en charge. Ces valeurs (insensibles à la casse) peuvent être utilisées à la place de hash_type. La taille de la représentation hexadécimale de la chaîne hash_value est également fournie. Le hash_prefix ne peut pas dépasser cette taille :

HachageLongueur
NTLMSHA264

Points d'accès API

L'en-tête HTTP suivant doit être fourni pour toutes les requêtes vers les points d'accès API, sinon une erreur sera renvoyée :

root@kitploit:~
X-NUID-API-KEY:   <Votre clé API NuID>

Chaque point d'accès commence par l'URL suivante :

root@kitploit:~
https://nebulous.nuid.io
/api/search/kanon/<hash_type>/<hash_prefix>

Méthode : GET Description : Interroge la base de données de hachages en utilisant une version anonymisée d'un hachage. Le hachage complet peut être fourni, mais un hachage partiel peut également être utilisé sous la forme d'un préfixe d'au moins 5 caractères. Tous les hachages de la base de données Nebulous correspondant à ce préfixe seront renvoyés sans divulguer le hachage exact. Réponse : La réponse de l'URL suivante : https://nebulous.nuid.io/api/search/kanon/5f4dcc

root@kitploit:~
{
  "success": true,
  "data": {
    "matches": [
      "5f4dcc3010a3b4ffd56ec97b33a0f837",
      "5f4dcc3b5aa765d61d8327deb882cf99",
      "5f4dcc3b5bef0f9cc4c0f96d758010b8"
    ]
  },
  "error": {}
}
/api/search/kanon/<hash_type>

Méthode : POST Données POST :

root@kitploit:~
{
    "prefix": "<Préfixe du hachage>"
}

Description : Interroge la base de données de hachages en utilisant une version anonymisée d'un hachage. Le hachage complet peut être fourni, mais un hachage partiel peut également être utilisé sous la forme d'un préfixe d'au moins 5 caractères. Tous les hachages de la base de données Nebulous correspondant à ce préfixe seront renvoyés sans divulguer le hachage exact. Réponse : La réponse de l'URL suivante : https://nebulous.nuid.io/api/search/kanon avec les données {"prefix": "5f4dcc"}

root@kitploit:~
{
  "success": true,
  "data": {
    "matches": [
      "5f4dcc3010a3b4ffd56ec97b33a0f837",
      "5f4dcc3b5aa765d61d8327deb882cf99",
      "5f4dcc3b5bef0f9cc4c0f96d758010b8"
    ]
  },
  "error": {}
}

Problèmes connus

Il semble y avoir un bug dans impacket qui empêche l'extraction correcte du nthash. Évitez d'utiliser l'argument -history pour l'instant.

https://github.com/SecureAuthCorp/impacket/issues/395 https://github.com/SecureAuthCorp/impacket/issues/660

Un problème ?

Contactez-nous à [email protected]

Télécharger l’outil
Nom de l'erreurDescriptionCode de statut
ActionExpiredL'action que vous essayez d'invoquer a expiré et n'est plus valide401
ActionInvalidL'action que vous essayez d'invoquer n'existe pas401
AuthFailureCombinaison utilisateur/mot de passe invalide401
AuthMissingTokenAucun jeton d'authentification n'a été fourni401
FieldMissingUn ou plusieurs champs manquent dans la requête JSON422
HashInvalidLengthLe hachage fourni et la longueur attendue pour le type de hachage donné ne correspondent pas422
HashInvalidValueReprésentation hexadécimale attendue pour le hachage422
HashInvalidPrefixUn préfixe doit avoir une longueur minimale de 5 caractères422
HashUnsupportedLe type de hachage fourni n'est pas pris en charge422
InvalidJWTLe JWT fourni était invalide401
InvalidRequestLa requête fournie était mal formée ou il manquait un payload JSON422
KeyBadUserLa clé API fournie ne correspond pas à l'utilisateur attendu401
KeyDisabledLa clé API fournie est désactivée403
KeyInvalidLa clé API fournie est invalide401
KeyMissingAucune clé API n'a été fournie401
NotFoundLe point d'accès que vous essayez d'atteindre est invalide404
PasswordIncorrectLe mot de passe actuel ne correspond pas401
UserDisabledLe compte est actuellement désactivé401
UserKeyLimitVous avez atteint le nombre maximum de clés API403
UserNotActivatedLe compte utilisateur n'a pas encore été activé403
UserNotFoundLe compte utilisateur est introuvable401