Flexible Security for Your Peace of Mind

Comment effectuer un audit de mot de passe Active Directory

Les mots de passe sont le fléau de la vie de tout responsable de la sécurité informatique, mais comme ils restent le principal moyen d’authentifier les utilisateurs dans Active Directory, il est judicieux de vérifier que vos utilisateurs font de bons choix de mot de passe. Malheureusement, les politiques Active Directory intégrées ne peuvent pas faire grand-chose pour empêcher les utilisateurs de prendre de mauvaises décisions concernant leur mot de passe.

Cet article détaille comment auditer les mots de passe existants afin de vérifier qu’aucun mot de passe faible, facile à deviner ou déjà compromis n’est utilisé dans votre organisation.

Toutes les informations et tous les outils abordés ici doivent être traités avec le plus grand soin, car les mots de passe révélés et les fichiers générés pourraient entraîner une compromission de votre réseau. En tant que tel, nous vous recommandons de pratiquer d’abord ce qui est présenté ici sur un domaine de test, et non sur une copie en direct ou restaurée de votre AD. Une fois satisfait des résultats et les protections appropriées mises en place (c’est-à-dire que tout audit doit être effectué sur un PC isolé et sécurisé et avec les autorisations appropriées accordées par la direction), vous pouvez alors utiliser l’un de ces outils/procédures sur votre base de données AD en direct.

Nous parlerons d’AD basé sur des serveurs 2008 R2 et supérieurs. Tout d’abord, il convient d’obtenir une copie des hachages de mot de passe d’AD. Si vous êtes connecté à un DC avec un compte de niveau administrateur de domaine, le processus est assez simple. Exécutez simplement ntdsutil à partir d’une invite de commande élevée. Définissez l’instance active sur ntds en tapant :

Act ins ntds

Et utilisez la commande Install From Media :

Ifm

Pour vider la base de données AD et le fichier SYSTEM :

Créer un c:\audit complet

Vous devriez voir une capture d’écran similaire à celle ci-dessous :

Cela videra le fichier NTDS.dit et SYSTEM dans le dossier c:\audit

Pour des raisons de sécurité, il n’est pas souhaitable de conserver une copie des hachages de mot de passe sur une machine connectée au réseau. Maintenant que vous avez ces fichiers, déplacez-les de votre DC vers un PC rapide, idéalement avec un GPU (carte graphique) décent, et déconnectez ce PC du réseau. N’oubliez pas de supprimer les fichiers du DC.

Maintenant que nous avons ces fichiers, nous devons vider les hachages de mot de passe de la base de données. Il existe un très bon utilitaire de Dionach appelé NTDSAudit qui peut le faire de manière fiable, vous pouvez l’obtenir gratuitement sur github :

https://github.com/Dionach/NtdsAudit/releases

Placez NTDSAudit.exe dans le même dossier que vos fichiers NTDS.DIT ​​et SYSTEM et exécutez la commande suivante :

Ntdsaudit.exe “ntds.dit” -s “SYSTEM” -p pwdump.txt –users-csv users.csv

Il devrait afficher un écran similaire à celui ci-dessous avec quelques statistiques utiles ainsi que 2 fichiers pwdump.txt et users.csv

Maintenant que nous avons les hachages de mots de passe, nous pouvons essayer de les déchiffrer. De nombreux outils sont disponibles. La plupart seront signalés et mis en quarantaine par tout logiciel antivirus dont vous disposez, vous aurez donc peut-être besoin de désactiver ces systèmes.

Certains de ces systèmes sont basés sur la ligne de commande, d’autres ont des interfaces graphiques. Pour plus de facilités, nous utiliserons ici Cain & Abel :

Ouvrez Cain en tant qu’administrateur, sélectionnez l’onglet Cracker, puis cliquez avec le bouton droit n’importe où dans la zone « blanche » et choisissez Ajouter à la liste dans le menu contextuel.

Sélectionnez Importer des hachages à partir d’un fichier texte et choisissez votre fichier pwdump.txt, puis cliquez sur Suivant.

Il convient ensuite de charger son (ou ses) dictionnaire(s) en texte brut. Cliquez à nouveau avec le bouton droit sur le volet de droite et choisissez Dictionary Attack > NTLM Hashes.

Cliquez avec le bouton droit sur la zone de fichier blanche et choisissez Ajouter à la liste.

Accédez ensuite à votre fichier de texte brut. Vous pouvez voir dans la capture d’écran ci-dessus celui appelé SpecopsMaster.txt.

Une fois que vous avez vos listes en place, vous pouvez également ajouter des permutations à la liste, telles que l’inverse, la casse, le langage l337, les substitutions de caractères, etc.

Vous pouvez aussi exécuter As is (Password) pour une analyse plus rapide qui ne recherchera que les correspondances exactes.

Appuyez sur Démarrer et voyez le résultat !

Dans l’exemple ci-dessus, nous pouvons voir que 4 mots de passe ont été trouvés. Si vous cliquez sur le bouton Quitter, vous pourrez voir quels utilisateurs ont utilisé ces mots compromis. Comme vous pouvez le constater, ils ont été utilisés par plusieurs utilisateurs.

Nous savons maintenant que nous avons un problème de mot de passe faible dans notre organisation. Comment résoudre ce problème ou appliquer et promouvoir de meilleurs mots de passe (ou peut-être des phrases secrètes) ? Et bien, pour cela, vous devez recourir à des outils tiers, tels que Specops Password Policy.

En résumé, il est toujours bon d’auditer les mots de passe Active Directory. Assurez-vous simplement que vous disposez des bons outils et que tout ce que vous découvrez est sécurisé et corrigé dès que possible. Toutes les données sensibles telles que les noms d’utilisateur et les mots de passe associés, vos fichiers NTDS.DIT ​​et SYSTEM extraits et les fichiers pwdump.txt doivent être correctement supprimés.

(Dernière mise à jour le 29/08/2022)

Revenir sur le blog