(source)
Comment effacer un mot de passe sous Windows NT/W2K/XP/W2K3
Ce qui suit concerne :
 
  • Windows NT4 (station et serveur),
    Windows 2000
    (professionnel et serveur),
    Windows XP
    (familial et professionnel),
    Windows 2003
    Windows VISTA
    en ce qui concerne l'effacement de mots de passe de comptes locaux
  • Windows 2000 (serveur)
    Windows 2003
    en ce qui concerne l'effacement de mots de passe de comptes de domaine

Ce n'est en aucune façon une incitation à l'utilisation frauduleuse d'ordinateur, mais seulement la description de méthodes permettant à un administrateur authentique de recouvrer la maitrise d'une machine après l'oubli de son mot de passe.

Toutefois cela met en évidence la vulnérabilité d'un poste de travail ou serveur sous Windows (NT, 2000, XP, 2003).

Donc, dans le cas où un ordinateur présente un caractère "sensible", il faut avant toute chose le protéger physiquement :

  • en l'enfermant dans un local protégé
  • en définissant un mot de passe suffisamment solide pour la configuration du BIOS
  • en désactivant le lecteur de disquette et de CDROM au niveau du BIOS

Introduction

La situation est assez classique : un poste de travail ou un serveur, sous Windows NT4, 2000, XP ou 2003, est à reconfigurer (par exemple modification d'adresse IP), mais son utilisateur habituel a des droits insuffisants pour le faire. Naturellement (loi de Murphy!), cela arrive juste le jour où l'administrateur est absent, et l'utilisateur doit absolument pouvoir utiliser son PC en urgence!

Deux cas seront à distinguer, suivant qu'il s'agit de compte local (serveur ou station de travail) ou de compte de domaine (serveur de domaine).

Compte local

Les mots de passe des comptes locaux de tous les utilisateurs sont stockés, sous forme chiffrée, dans une "ruche" de la Base de Registres, en l'occurrence le fichier SAM (Security Accounts Manager), et plus précisément la branche HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users

Il faut donc pouvoir accéder au fichier SAM (répertoire %systemroot%\system32\config), mais dans le cas de partition NTFS, c'est impossible sous DOS (à moins d'utiliser des outils spécialisés payants, tels que ceux fournis par Winternals). On peut éventuellement accéder à une partition NTFS en installant un autre exemplaire de NT, ce qui est assez lourd et requiert de l'espace disque libre.

Pas de panique!

Il va suffire de démarrer le PC sur une version (réduite) de LINUX (mais oui!), contenant un programme (chntpwd) qui sait accéder à la base de données SAM (Security Account Manager) située dans la partition système de NT, et permettre ainsi de définir un nouveau mot de passe pour l'administrateur (ou n'importe quel autre utilisateur).

Cette méthode diffère de celle employée dans des intentions "moins louables", qui consiste à essayer de deviner le mot de passe, par essais successifs de mots préétablis (dictionnaires, lexiques,...) ou aléatoires (technique dite "attaque en forcebrute").

Cette petite merveille, due à Petter NORDHAL-HAGEN,
est disponible gratuitement (sous licence GNU GPL) à l'adresse suivante :
http://pogostick.net/~pnh/ntpasswd/
 

Depuis le 13/12/02, il est possible de démarrer le PC sur CDROM, et non plus seulement sur disquette!

On utilisera donc soit la version disquette, soit la version CDROM, suivant les périphériques disponibles sur le PC, étant donné que la version CDROM est plus pratique à utiliser.

Cette procédure fonctionne avec :

Dans le cas des serveurs sous Windows 2000 et Windows 2003, la procédure s'applique :

Création du CDROM

le nom du fichier à télécharger est susceptible de changement au cours du temps.
En cas de problème, soit se reporter au site de Petter Nordhal, soit télécharger le fichier sur ce site.

Dans le cas de Windows VISTA, ne pas utiliser de fichiers dont la version serait antérieure à 0704xx (avril 2007)

  1. Télécharger le fichier suivant :

    • cd080802.zip (2.8 Mo) (sur ce site : cd080802.zip)
      la version CDROM contient tous les fichiers nécessaires, PATA, SCSI et SATA compris.

  2. Le décompresser (avec Winzip, Winrar,...), ce qui donne le fichier suivant :

    • cd080802.iso
      Ce fichier est une image ISO de CD bootable (norme "El Torito")

  3. Graver le CDROM à partir du fichier .ISO à l'aide d'un outil quelconque (NERO, CDRWIN,...)
    Exemple (réalisé avec Nero Express) :

    • Sélectionner
      "Image de disque ou projet sauvegardé"
      Sélectionner le type :
      Fichiers image (*.nrg,*.iso,*.cue)

      Sélectionner le fichier image, ici
      cd030126.iso

      (suivant l'arrivée de nouvelles versions, le nom de ce fichier est susceptible de varier)

      Si tout est correct, insérer un CD vierge
      dans le graveur et appuyer sur Suivant

      La gravure va s'effectuer
      Vu la taille réduite de l'image,
      cela est fait très rapidement.

Mise en oeuvre

IMPORTANT !

Cette version de LINUX est censée fonctionner avec un clavier de type QWERTY.

Si on utilise un clavier AZERTY, il faudra penser à modifier certaines frappes :
Pour obtenir
le caractère

Il faut
appuyer sur

/

!

.

:

! <MAJ>&

Les captures d'écran affichées ci-dessous ont été réalisées à partir d'une version antérieure.
Si certains libellés peuvent différer par rapport à la version actuelle, le principe reste toujours le même.

Redémarrer le PC avec la disquette ou le CDROM obtenu précédemment.
Les messages de démarrage de Linux apparaissent alors :

Les réponses aux questions qui vont suivre sont prédéfinies par défaut.

La plupart du temps, une action sur la touche <ENTRER> suffira.

Il est demandé ensuite si on utilise des disques SCSI.

Répondre en conséquence.

Puis la liste de toutes les partitions est affichée, suivie (éventuellement) de la liste des partitions NTFS.
A l'invite de commande, la 1ère des partitions NTFS bootable est présélectionnée. 

Il est possible d'en changer (aussi bien NTFS que FAT) en donnant son nom complet :

p.ex. : /dev/hdc1 , /dev/sda2, ... sachant que le nom est défini ainsi :

  • 1er et 2ème caractères : hd (disque IDE) ou sd (disque SCSI)

  • 3ème caractère : a (1er disque), b (2ème disque), ... (d est la limite pour les disques IDE)

  • 4ème caractère : 1, 2, 3, 4, ... = le n° de la partition sur le disque, en sachant que :
    - les partitions primaires sont numérotées de 1 à 4
    - les partions logiques sont numérotées à partir de 5 (même s'il n'y a qu'une seule partition primaire)

Le programme essaie alors de monter la partition choisie, en essayant FAT puis NTFS comme type (ne pas tenir des messages d'erreurs éventuels).

La liste des ruches s'affiche ensuite :

Par défaut, c'est la ruche SAM qui sera concernée

Une copie de la SAM est effectuée.

Il est alors demandé ce que l'on veut faire.

Par défaut, le choix 1 permet d'éditer les mots de passe.

La liste des comptes s'affiche :

Il est demandé de choisir le compte à modifier (par défaut le compte Administrateur)

Des messages indiquant un verrouillage du compte peuvent apparaître.

Répondre y le cas échéant afin que le compte soit déverrouillé.

Il est ensuite demandé le nouveau de passe.
Il est recommandé de taper * afin de fixer un mot de passe vide.

Le programme demande confirmation. Taper y

Taper ! si on n'a pas d'autre compte à modifier

Si on a terminé les opérations, taper q

Une nouvelle confirmation est demandée (écriture de la ruche) Taper y

On peut demander l'écriture d'un backup, (Taper y ) mais cela ne fonctionne pas toujours!

Après avoir retiré le CD ou la disquette, redémarrer le PC en appuyant sur CTRL-ALT-DEL
Windows redémarre, et on peut constater que le mot de passe a bien été modifié (ici aucun mot de passe)
  • Cette procédure a été testée avec succès sous Windows 2000 (PRO et SRV), Windows XP , Windows 2003, Vista, et sur plusieurs machines (et avec SYSKEY activé !)
  • Il peut arriver qu'au cours de la procédure un message indique que le disque est en lecture seule ("read only filesystem").
    Cela est dû généralement au fait que Windows n'a pas été arrêté "proprement".
    Dans ce cas :
    • redémarrer l'ordinateur (sous Windows) en mode sans échec
      (appuyer sur la touche F8 tout au début pour faire apparaitre le menu)
    • lorsque l'écran de connexion apparait, arrêter l'ordinateur
    • répéter cette opération