chntpw

Réinitialisation hors ligne de mot de passe Windows et éditeur de registre. Efface ou change les mots de passe Windows locaux directement dans la base SAM sans connaître l'ancien mot de passe. Offline Windows password reset and registry editor. Blanks or changes local Windows passwords directly in the SAM database without knowing the old password.

↗ https://github.com/hierynomus/chntpw

Overview

chntpw (Change NT Password) edits Windows registry hive files offline. Its primary use is resetting or blanking local Windows account passwords by directly modifying the SAM database — without booting into Windows. Boot from a live Linux USB, mount the Windows partition, and reset passwords.

Basic Usage

Reset/blank a Windows user password (interactive)

chntpw /mnt/windows/Windows/System32/config/SAM

With SYSTEM hive (required for newer Windows)

chntpw -s /mnt/windows/Windows/System32/config/SYSTEM \
       /mnt/windows/Windows/System32/config/SAM

Edit registry keys (interactive)

chntpw -e /mnt/windows/Windows/System32/config/SAM

Load specific hive for editing

chntpw -h /mnt/windows/Users/user/NTUSER.DAT

Mounting Windows Partition

# Boot from Kali live USB

# Find Windows partition
lsblk
fdisk -l | grep NTFS

# Mount the partition
mkdir /mnt/windows
mount -t ntfs /dev/sda2 /mnt/windows

Navigate to config directory

ls /mnt/windows/Windows/System32/config/

→ You need: SAM, SYSTEM

Password Reset Workflow

Step 1: Mount Windows partition

mount -t ntfs-3g /dev/sda2 /mnt/windows

Step 2: Run chntpw

chntpw /mnt/windows/Windows/System32/config/SAM
# Step 3: Interactive menu
# ============================================================
# chntpw version 1.00 ...
# ============================================================
# 
# Loaded hives: <SAM>
# 
# ------- Users -------
# | RID  | Username         | Admin? |
# ---------------------------------
# | 01f4 | Administrator    | ADMIN  |
# | 01f5 | Guest            |        |
# | 03e8 | john             | ADMIN  |
# 
# Select: [q]uit, [l]ist users, [u]nlock, [c]lear pass, <rid> to edit
# -> u john        (unlock account)
# -> c john        (clear/blank password)
# -> john          (interactive edit)

# Step 4: Write changes
# q to quit, answer y to write changes

Interactive Options

# Inside chntpw:
l list users
<name>  → edit user by name
<RID>   → edit user by RID
u <usr> unlock user account (remove disabled flag)
c <usr> clear (blank) password
q quit

# After editing:
# Save changes? [y/n] → y

Registry Editor Mode

Edit registry directly (-e flag)

chntpw -e /mnt/windows/Windows/System32/config/SOFTWARE
# Inside registry editor:
ls list current key
cd <key> navigate into key
nk <name> create new key
dk <name> delete key
nv <type> <name> create new value
ed <name> edit value
dv <name> delete value
q quit (prompts to save)

Enabling Built-in Administrator

The Administrator account (RID 500) is often disabled Enable it and blank the password:

chntpw /mnt/windows/Windows/System32/config/SAM
# In the interactive menu:
# Select user 500 (Administrator)
# Unlock the account
# Clear the password
# Save changes

Tips

  • Works on Windows XP through Windows 11 for local accounts
  • Does NOT work on Microsoft/Azure AD accounts (cloud-linked accounts)
  • Does NOT bypass BitLocker — the disk must be decryptable first
  • After blanking password: log in with blank password → immediately set a new one
  • Some Windows versions require SYSTEM hive alongside SAM (-s flag)
Help / Man page
chntpw [options] <SAM_hive>

-s FILE     SYSTEM hive (needed for newer Windows)
-S          Skip SYSTEM hive (older Windows)
-e          Registry editor mode
-h          Edit NTUSER.DAT (user hive)
-u USER     Username to edit
-l          List users only (no editing)
-i          Interactive mode (default)
-v          Verbose output

Vue d’ensemble

chntpw (Change NT Password) édite les fichiers de ruche du registre Windows hors ligne. Son usage principal est de réinitialiser ou d’effacer les mots de passe de comptes Windows locaux en modifiant directement la base SAM, sans démarrer sous Windows. Démarrez depuis une clé USB Linux live, montez la partition Windows, et réinitialisez les mots de passe.

Utilisation de base

# Réinitialiser/effacer un mot de passe utilisateur Windows (interactif)
chntpw /mnt/windows/Windows/System32/config/SAM

# Avec la ruche SYSTEM (nécessaire pour les Windows récents)
chntpw -s /mnt/windows/Windows/System32/config/SYSTEM \
       /mnt/windows/Windows/System32/config/SAM

# Éditer les clés de registre (interactif)
chntpw -e /mnt/windows/Windows/System32/config/SAM

# Charger une ruche précise pour l'éditer
chntpw -h /mnt/windows/Users/user/NTUSER.DAT

Monter la partition Windows

# Démarrer depuis une clé USB live Kali

# Trouver la partition Windows
lsblk
fdisk -l | grep NTFS

# Monter la partition
mkdir /mnt/windows
mount -t ntfs /dev/sda2 /mnt/windows
# Naviguer vers le répertoire config
ls /mnt/windows/Windows/System32/config/
# → Il vous faut : SAM, SYSTEM

Workflow de réinitialisation de mot de passe

# Étape 1 : monter la partition Windows
mount -t ntfs-3g /dev/sda2 /mnt/windows

# Étape 2 : lancer chntpw
chntpw /mnt/windows/Windows/System32/config/SAM
# Étape 3 : menu interactif
# ============================================================
# chntpw version 1.00 ...
# ============================================================
# 
# Loaded hives: <SAM>
# 
# ------- Users -------
# | RID  | Username         | Admin? |
# ---------------------------------
# | 01f4 | Administrator    | ADMIN  |
# | 01f5 | Guest            |        |
# | 03e8 | john             | ADMIN  |
# 
# Select: [q]uit, [l]ist users, [u]nlock, [c]lear pass, <rid> to edit
# -> u john        (déverrouiller le compte)
# -> c john        (effacer/vider le mot de passe)
# -> john          (édition interactive)

# Étape 4 : écrire les changements
# q pour quitter, répondre y pour écrire les changements

Options interactives

# Dans chntpw :
l lister les utilisateurs
<name>  → éditer un utilisateur par nom
<RID>   → éditer un utilisateur par RID
u <usr> déverrouiller le compte (retirer le flag désactivé)
c <usr> effacer (vider) le mot de passe
q quitter

# Après édition :
# Save changes? [y/n] → y

Mode éditeur de registre

# Éditer le registre directement (flag -e)
chntpw -e /mnt/windows/Windows/System32/config/SOFTWARE
# Dans l'éditeur de registre :
ls lister la clé courante
cd <key> naviguer dans une clé
nk <name> créer une nouvelle clé
dk <name> supprimer une clé
nv <type> <name> créer une nouvelle valeur
ed <name> éditer une valeur
dv <name> supprimer une valeur
q quitter (propose de sauvegarder)

Activer l’administrateur intégré

Le compte Administrator (RID 500) est souvent désactivé. Activez-le et videz le mot de passe :

chntpw /mnt/windows/Windows/System32/config/SAM
# Dans le menu interactif :
# Sélectionner l'utilisateur 500 (Administrator)
# Déverrouiller le compte
# Effacer le mot de passe
# Sauvegarder les changements

Conseils

  • Fonctionne de Windows XP à Windows 11 pour les comptes locaux
  • Ne fonctionne PAS sur les comptes Microsoft/Azure AD (comptes liés au cloud)
  • Ne contourne PAS BitLocker : le disque doit d’abord être déchiffrable
  • Après avoir vidé le mot de passe : connectez-vous avec un mot de passe vide, puis définissez-en un nouveau immédiatement
  • Certaines versions de Windows nécessitent la ruche SYSTEM en plus de SAM (flag -s)
Aide / Page de manuel
chntpw [options] <SAM_hive>

-s FILE     SYSTEM hive (needed for newer Windows)
-S          Skip SYSTEM hive (older Windows)
-e          Registry editor mode
-h          Edit NTUSER.DAT (user hive)
-u USER     Username to edit
-l          List users only (no editing)
-i          Interactive mode (default)
-v          Verbose output