Derrière ce titre accrocheur se dessine un réel besoin. En tant qu’administrateur système il peut être intéressant de réaliser un audit de l’ensemble des comptes Actives Directory de votre entreprise afin d’évaluer le niveau de sécurité des comptes utilisateurs. Voyons comment procéder !

Web resources:

  • http://flemmingriis.com/get-badpasswords/
  • http://paulasitblog.blogspot.de/2016/03/auditing-active-directory-passwords.html
  • http://colesec.inventedtheinternet.com/tag/fgdump/
    • Other ways to get passwords include John the Ripper (CPU based cracking tool), Hashcat (GPU based cracking tool), and Ophcrack (Rainbow table password cracking tool).  Details on using those are beyond the scope of this article, but all 3 will crack NTLM passwords.  One neat thing about Ophcrack is if you have physical access to the machine, you can simply boot it to an Ophcrack Live CD, and let it find and crack the passwords automatically.  Of course if you already have physical access to a machine in a pentest, you can probably consider the engagement done with everything compromised already.

      An even better way to grab passwords is to do so in cleartext.  In comes WCE (Windows Credential Editor).  Just running wce from the command line will also dump the hashes, but running it with the -w flag will grab the credentials in cleartext from memory.

      wce

       

      As you can see, the password clearly shown is asdf.  This won’t always grab all the passwords in the system, but it sure helps for the ones it does grab.

      Another tool that works in the same way as WCE (not in English, but less likely to be caught by anti-virus) is mimikatz.  You can try that tool as well.

There is even official audit of password complexity that audit this kind of audit

 

Procedure:

Avant de commencer …

Fgdump va nous permettre d’extraire une base de compte Windows, qu’elle soit locale (le poste d’un utilisateur) ou partagée (comme un Active Directory par exemple)

Téléchargez Fgdump et décompressez le fichier fgdump.exe contenu dans l’archive dans C:\audit

La base de compte qui va être récupérée par fgdump sera cryptée ! C’est là qu’interviendra John The Ripper

Téléchargez John The Ripper et décompressez les fichiers contenu dans l’archive dans C:\audit, ça n’est pas obligatoire mais c’est plus pratique !

Récupérer la liste des comptes Active Directory

Grâce à fgdump nous allons pouvoir récupérer une copie des “hash” des password utilisateurs de tout un domaine. Mais bien sur, on ne peux le faire que si on est “Domain Admin” ou équivalent ou local administrator pour un ordinateur membre d’un domaine. Sinon il y a encore mieux que fgdump et cela s’appelle “windows credentials editors“.

Ouvrez une ligne de commande et naviguez vers le répertoire ou vous avez extrait fgdump.exe

Puis entrain la commande suivante:

fgdump.exe -h VotreServerAD -u CompteAdminDomain -p p4ssw0rd

ou VotreServerAD correspond à le nom ou l’adresse du serveur Active Directory.

Après quelques dizaines de secondes un fichier VotreServerAD.pwdump est généré. Il contient la liste des comptes utilisateurs de votre domaine ainsi que le mot de passe crypté en MD5.

Sélectionner les comptes à décrypter

Le décryptage d’un seul mot de passe peut durer très très très longtemps ! Parfois plusieurs heures selon la complexité d’un mot de passe …

je vous conseille donc d’éditer votre fichier VotreServerAD.pwdump afin de ne conserver que les comptes que vous souhaitez auditer.

Décrypter les mots de passe

L’étape suivante va consister à décrypter les mot de passe MD5 contenus dans le fichier généré précédemment

Pour cela ouvrez une ligne de commande et naviguez vers le répertoire contenant l’exécutable john-386.exe puis lancer la commande suivante:

john-386.exe VotreServerAD.pwdump

Le décryptage va alors commencer. Armez vous de patience ! Si un utilisateur à un mot de passe à 4 caractères cela va durer quelques secondes à peine, par contre à titre d’exemple il me faut 4 heures pour décrypter un mot de passe de 12 caractères dont 2 caractères spéciaux avec un P4 2.66 Ghz.

Pour visualiser les mot de passe qui ont été trouvés pendant le traitement ouvrez une nouvelle invite de commande et lancez la commande:

john-386.exe –show VotreServerAD.pwdump

Pour exporter le résultat dans un fichier .txt tapez la commande suivante:

john-386.exe –show VotreServerAD.pwdump >c:\exportpassword.txt

@echo off
cls
echo *******************************
echo ** Audit AD passwords – July 10 **
echo *******************************
echo.
if /I “%1” EQU “” goto USAGE
goto MAIN

:USAGE
echo.
echo AuditADPasswords outputfile_with_fgdump
echo ex: AuditADPassword mydomaincontroller.pwdump
echo.
goto end

:MAIN
echo.
echo Audit AD passwords …
echo.
for /f “tokens=1,2,3,4* delims=/ ” %%i in (‘date /t’) do set TDDAY=%%i&set TDMM=%%j&set TDDD=%%k&set TDYY=%%l
for /f “tokens=1* delims=:” %%i in (‘time /t’) do set HH=%%i&set MM=%%j
echo.
echo Deleting existing temp files…
del /q .\logs\temp1.txt
del /q .\logs\temp2.txt
del /q .\logs\temp3.txt
del /q .\logs\temp4.txt
echo.
echo Filtering in progress…
sleep 1
type %1 | sort >>.\logs\temp1.txt
sleep 1
type .\logs\temp1.txt | findstr /v /i _history >>.\logs\temp2.txt
sleep 1
echo Auditing in progress…
.\john\john-386 –show .\logs\temp2.txt >.\logs\temp3.txt
echo.
sleep 1
for /f “tokens=1,2 delims=:” %%i in (.\logs\temp3.txt) do @echo %%i:%%j >>.\logs\temp4.txt
sleep 1
type .\logs\temp4.txt | findstr /V /i $: >>.\ADpasswords_audited_%TDMM%%TDDD%%TDYY%.txt
sleep 1
goto end
:end
echo Completed…
echo.