Cuando olvidamos nuestra contraseña de Windows, Microsoft nos recomienda algunas opciones para recuperarla, como recuperar el password si la cuenta está vinculada con Microsoft, por medio de una pregunta secreta o mediante un archivo de recuperación. Sin embargo, estas opciones a menudo no serán de nuestra utilidad, especialmente si no se configuraron previamente o no se tiene acceso a la cuenta de correo asociada.
No obstante, existe una manera en que podemos restaurar la contraseña de Windows de forma forzada mediante la ejecución de una consola en modo administrador sin conocer ningún password. Este método implica una modificación temporal de la pantalla de inicio de sesión de Windows.

Explicación del Problema y la Solución
Cuando perdemos nuestra contraseña, no nos será posible acceder a nuestra cuenta ni utilizar el Símbolo del sistema (CMD) para cambiar nuestro password desde “Recuperación de sistema” integrado en Windows 10 (aunque antes sí era posible).
La solución se basa en la utilidad Utilman.exe. Este es un fichero que tiene Windows para activar las opciones de accesibilidad, como el teclado en pantalla, la lupa y otras herramientas para quienes no pueden usar el teclado normal. El icono que activa Utilman.exe se encuentra en la esquina inferior derecha de la pantalla de inicio de sesión.

El truco consiste en sustituir temporalmente el fichero Utilman.exe por el binario de cmd.exe. De esta manera, al hacer clic sobre el icono de accesibilidad en la pantalla de inicio de sesión, se abrirá una consola CMD privilegiada. Desde esta consola, podremos cambiar la contraseña de cualquier usuario sin necesidad de iniciar sesión.
Nuestro ataque consistirá en:
- Bootear desde una USB/CD externo que permita modificar los archivos del sistema operativo.
- Sustituir el binario de Utilman.exe por el binario cmd.exe.
- Reiniciar el equipo y ejecutar nuestro CMD para cambiar la contraseña de nuestra cuenta.
- Restaurar el archivo Utilman.exe a su estado original.
Requisitos
Para llevar a cabo este proceso, necesitará:
- Tener un CD/USB booteable con Windows 10 o algún Linux con Live mode.
Iniciando una Consola Privilegiada
Para iniciar una consola que pueda realizar cambios sobre el sistema de archivos de nuestro Sistema Operativo, es necesario bootear desde un medio extraíble. Generalmente, un CD o USB booteable.
Dos formas populares para esto son:
- Utilizar una USB/CD de instalación de Windows 10.
- Utilizar una USB/CD de algún Linux con Live mode.
Para este ejemplo, usaremos un USB booteable con Windows 10. Los pasos serán los siguientes:
- Se inserta la USB/CD booteable.
- Iniciamos en modo solución de problemas.
- Booteamos desde nuestro USB/CD booteable.
- Ejecutamos una CMD.
Una vez insertado nuestro USB/CD booteable, desde la pantalla de inicio de sesión de Windows, damos clic en el “Botón de apagado” (icono de energía en la esquina inferior derecha), y manteniendo presionada la tecla SHIFT, damos clic en “Reiniciar”. (También podríamos simplemente bootear desde el inicio de Windows directamente, aunque el proceso puede variar según la marca de su computadora).

Esto nos abrirá las opciones de solución de problemas de Windows 10. A continuación, ejecutaremos los siguientes pasos:
- Seleccionamos "Solucionar problemas".
- Dentro de las opciones, elegimos "Opciones avanzadas".
- Seleccionamos "Símbolo del sistema".

Es posible que, antes de llegar al Símbolo del sistema, se le pida seleccionar un dispositivo desde el cual iniciar (su CD/USB booteable) y configurar el idioma. Asegúrese de llegar a una pantalla donde pueda seleccionar "Reparar computadora" y luego "Solucionar problemas" y finalmente "Símbolo del sistema". Una vez allí, obtendremos nuestra consola CMD en modo administrador.

Sustituir Utilman.exe por Cmd.exe
Ahora que tenemos un intérprete de comandos con privilegios, debemos seguir estos pasos:
- Ubicar dónde está nuestra instalación de Windows.
- Renombrar Utilman.exe a Utilman.exe.bak.
- Crear una copia de Cmd.exe y llamarla Utilman.exe.
- Reiniciar nuestro sistema operativo.
Para ubicar la unidad en la que se encuentra nuestra instalación de Windows, usamos el comando fsutil fsinfo drives. Esto nos mostrará las unidades montadas:
X:\ Es nuestra unidad actual, por lo que ahí no puede estar nuestra instalación de Windows.C:\ y D:\ podrían alojar nuestra instalación.
Entonces, seleccionamos "unidad:" + Enter para acceder a ella y "dir" para ver qué hay dentro. Por ejemplo, para la unidad "C:", haremos lo siguiente:
c:dir
De esa manera, encontramos nuestra unidad que tiene Windows instalado. Puede que en su caso sea "d:" en lugar de "c:". Lo que le mostrará que está en el sitio correcto son las carpetas típicas de Windows que encuentre dentro, como "Windows", "Program Files", etc.
Una vez ubicada la unidad correcta (por ejemplo, C:), navegamos al directorio System32 y realizamos las modificaciones:
cd C:\Windows\System32ren Utilman.exe Utilman.exe.bakcopy cmd.exe Utilman.exeshutdown -r -t 0
El comando shutdown -r -t 0 reiniciará su equipo inmediatamente.

Cambiando la Contraseña
Una vez hecho lo anterior, regresaremos a nuestra pantalla normal de inicio de sesión. Sin embargo, ahora podremos ejecutar el cambio de contraseña desde el botón de accesibilidad (el que solía ejecutar Utilman.exe).

Al hacer clic en el botón de accesibilidad, obtendremos nuestro CMD en modo administrador. Ahora, simplemente procederemos a:
- Ubicar el nombre de la cuenta a la que vamos a reiniciarle la contraseña.
- Cambiar la contraseña.
- Comprobar que ha funcionado.
Para listar los usuarios del sistema, ejecutamos:
net user

En este caso, si el usuario al que le restauraremos la contraseña es "user", podemos hacerlo de dos maneras:
a) Modo interactivo
Aquí llenaremos el password desde la línea de comandos. El sistema le pedirá que introduzca y confirme la nueva contraseña.
net user user *

b) Modo directo
Aquí se establece directamente el usuario y la nueva contraseña.
net user user your-new-password
Hay que notar que el segundo "user" en el comando net user user your-new-password es el nombre de usuario de la cuenta. Por lo que quedaría net user [nombre_de_usuario] [nueva_contraseña]. Por ejemplo, si el usuario es "Pedro" y queremos la contraseña "MiNuevaClave123", el comando sería: net user Pedro MiNuevaClave123.

Después de ejecutar el comando, podrá iniciar sesión con la nueva contraseña.

Regresando Utilman.exe a la Normalidad
Finalmente, debemos regresar la funcionalidad normal de Utilman.exe. Esto es crucial para la seguridad del sistema, ya que no queremos que otro usuario pueda hacer uso de nuestro CMD con privilegios desde la pantalla de inicio de sesión. Para ello, necesitamos bootear nuevamente desde nuestro medio externo (USB/CD de Windows 10) y acceder al Símbolo del sistema como lo hicimos al principio.
Una vez en la consola CMD, ejecutaremos los siguientes comandos para restaurar el archivo original:
cd C:\Windows\System32del Utilman.exeren Utilman.exe.bak Utilman.exeshutdown -r -t 0
El comando del Utilman.exe elimina la copia de Cmd.exe que renombramos. Luego, ren Utilman.exe.bak Utilman.exe renombra el archivo original de Utilman.exe de vuelta a su nombre predeterminado.
Reinicie el equipo para que los cambios surtan efecto y la función de accesibilidad vuelva a ser la original.
Consideraciones de Seguridad
Esta vulnerabilidad subraya la importancia de medidas de seguridad adicionales. Una forma de evitar que alguien use este método para acceder a su sistema sería:
- Establecer una contraseña en la BIOS/UEFI: Esto impide que usuarios no autorizados cambien la secuencia de arranque para bootear desde un USB o CD/DVD.
- Deshabilitar el arranque desde medios extraíbles: Si la BIOS/UEFI lo permite, deshabilitar las opciones de arranque desde USB y CD/DVD añade un obstáculo adicional.
Estos pasos aseguran que, incluso si alguien tiene acceso físico a su equipo, no pueda modificar los archivos del sistema operativo a través de un medio externo.
tags: #cambiar #accesibilidad #por #cmd