"Después del juego es antes del juego"
Sepp Herberger

domingo, 10 de septiembre de 2017

Activar un usuario de Windows deshabilitado usando chntpw

Por imperativo legal he tenido que instalar un Windows 7 en una máquina algo antigua. Durante la instalación te pide un nombre de usuario que convertirá en el administrador de la máquina y será con el que por defecto se trabajará. El usuario por defecto es administrador, que te voy a contar...

Bueno, pues despues de hacer esto lo primero es despojar a ese usuario de trabajo de sus permisos de administrador, sacándole del grupo de "Administradores". Tras eso, en dicho grupo solo permanece el usuario "Administrador" que es creado de forma silenciosa durante la instalación. También hay que cambiar la contraseña al usuario "Administrador" por la que queramos que tenga.

Tras esto reiniciamos, vamos a la pantalla de login y vemos ambos usuarios. Pero si intentas acceder con el usuario Administrador te dice que "está deshabilitado". Agarrate: el Windows 7 te permite quedar el sistema sin un administrador válido sin avisarte de ello. ¿Ahora cómo habilito el usuario?.

Bueno, pues la solución está en arrancar con un CD/USB Live de Linux que tenga la herramienta chntpw, ya sea el CD propio o alguno que lo contenga (tipo SystemRescueCD o Ubuntu). Una vez arrancado, montamos la particion de Windows en /mnt (o equivalente) con:
# mount /dev/sda2 /mnt
Normalmente el sistema Windows a partir de su versión 7 está en la partición sda2 o sda3, siendo la sda1 una pequeña partición reservada para hacer el mal a través de UEFI o similar.

Una vez montada, hacemos una copia de seguridad del fichero de configuración de usarios (por si metemos la pata poder restaurar):
# cd /mnt/WINDOWS/System32/config
# cp SAM SAM.backup
Avisamos que alguno de los nombres anteriores podría estar en mayúscula/minúscula, en función del Windows usado.

Una vez hecha la copia de seguridad miramos el fichero con chntpw:
# chntpw /mnt/WINDOWS/System32/config/SAM
chntpw version 0.99.6 110511 , (c) Petter N Hagen

Hive  name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c 
File size 65536 [10000] bytes, containing 5 pages (+ 1 headerpage)
Used for data: 298/27544 blocks/bytes, unused: 42/9160 blocks/bytes.


* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length        : 0
Password history count         : 0
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrador                  | ADMIN  | dis/lock |
| 01f7 | DefaultAccount                 |        | dis/lock |
| 01f5 | Invitado                       |        | dis/lock |
| 03ea | Usuario                        |        | *BLANK*  |
...
...
Como se ve, el usario Administrador está bloqueado. Para cambiar esa situación (o para borrar la contraseña si no la conocemos o la hemos olvidado), usamos el parámetro "-i" (pongo en negrita la parte interactiva):
# chntpw +i /mnt/WINDOWS/System32/config/SAM
chntpw version 0.99.6 110511 , (c) Petter N Hagen
Hive  name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c 
File size 65536 [10000] bytes, containing 5 pages (+ 1 headerpage)
Used for data: 298/27544 blocks/bytes, unused: 42/9160 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: 

  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

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

| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrador                  | ADMIN  | dis/lock |
| 01f7 | DefaultAccount                 |        | dis/lock |
| 01f5 | Invitado                       |        | dis/lock |
| 03ea | Usuario                        |        | *BLANK*  |

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

RID     : 0500 [01f4]
Username: Administrador
fullname: 
comment : Cuenta integrada para la administracion del equipo o dominio
homedir : 

User is member of 1 groups:
00000220 = Administradores (which has 2 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: 0, 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] > 4
Unlocked!

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

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

Loaded hives: 

  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

Hives that have changed:
 #  Name
 0  
Write hive files? (y/n) [n] : y
 0   - OK
Y ya podemos ver que está desbloqueado:
# chntpw /mnt/WINDOWS/System32/config/SAM
chntpw version 0.99.6 110511 , (c) Petter N Hagen

Hive  name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c 
File size 65536 [10000] bytes, containing 5 pages (+ 1 headerpage)
Used for data: 298/27544 blocks/bytes, unused: 42/9160 blocks/bytes.


* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length        : 0
Password history count         : 0
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrador                  | ADMIN  |          |
| 01f7 | DefaultAccount                 |        | dis/lock |
| 01f5 | Invitado                       |        | dis/lock |
| 03ea | Usuario                        |        | *BLANK*  |
...
...
Si nos hemos fijado en un momento dado nos ha ofrecido la siguiente gama de acciones para realizar sobre el usuario:
 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
Lo cual nos da una idea de la potencia del comando. Incluye incluso una opción de edición de registro que parece bastante peligrosa y de la que ya habĺe en su día para otra cosa.

Bueno, pues con el entuerto arreglado...¡feliz fin del verano!.

No hay comentarios:

Publicar un comentario