Páginas

01 julio, 2011

Restablecer la password de cualquier tipo de cuenta de usuario local de Windows

Con esto se podrá recuperar la contraseña de los usuarios registrados en un equipo local sin necesidad obviamente de entrar en el sistema, de manera que no se tenga que introducir la clave anterior para restablecer una nueva passw, de modo que genera una nueva contraseña para el usuario en la que seleccionemos, incluido administradores locales. Así también como el poder manipular otras configuraciones adicionales.

Figura 1: Iniciando consola de recuperación de passwords antes de iniciar sesión en el sistema.

Esto es un pequeño hack que funciona en todas las versiones de Windows hasta la fecha.
Me imagino que la razón de que Microsoft permita esto es simplemente administrativa, por si algún usuario que solo tenga una cuenta y cambia la password y se llega a olvidar de ella, pueda iniciar sesión con una nueva clave y acceder al sistema.

Ya que un sistema operativo Windows siempre y cuando siga cumpliendo estos dos requisitos:
  • Funcionalidad por defecto de las stickykeys (sethc.exe), con pulsación de 5 veces seguidas en la tecla mayus. O el uso de la lupa de Windows (magnify.exe).
  • Se pueda acceder a las consolas .msc: lusrmgr.msc o de "netplwiz".
Una forma de evitar esto y añadir un obstáculo más de seguridad, sería establecer una contraseña al acceso de la BIOS, para no poder realizar bootstrap a un USB o CD/DVD, también sería aconsejable si la BIOS lo permite deshabilitar la opción de hacer booting con "medios extraíbles desmontables" (USB) y lo mismo con la lectora/grabadora CD/DVD. Y ya si somo muy paranoicos a parte de la password para el acceso y configuración a la BIOS, establecer otra aún a un nivel más bajo o anterior que sería establecer otra antes de que el equipo realice el POST (Power On Self Test) de arranque (esto también si la configuración de la BIOS lo permite).

En este tutorial voy intentar explicar todos los pasos al detalle a seguir y definir comando básicos, con el fin de que cualquier usuario pueda entenderlo.

[1] - Arrancamos el PC y booteamos el Live DVD/USB de instalación de Microsoft Windows (nos valdría cualquier versión sería lo mismo. Simplemente tendremos que tener acceso a una "Consola de recuperación").


Una vez se nos carga el Live DVD/USB de la instalación de Windows, y accedemos a la primera ventana del asistente de instalación.

Pulsamos en 'Siguiente' -> Reparar el equipo -> esperamos que se carguen las 'opciones de recuperación de sistema' -> pulsamos en 'Siguiente' -> se nos mostrará una nueva ventana en la que elegimos la opción "Símbolo del sistema".


Figura 2: Siguiente en el asistente de instalación de Windows.
Figura 3: Sección "Reparar el equipo" en el asistente de instalación de Windows.
Figura 4: Opciones de recuperación del sistema.
Figura 5: Símbolo de sistema, como opción de recuperación del sistema.

[2] - Cuando se nos muestra la ventana de símbolo del sistema, ejecutada por defecto como Administrador local.

Listamos las unidades disponibles.

wmic logicaldisk get name
Trabajamos sobre el disco local del sistema C:\.
C:
cd \windows\system32
ren sethc.exe sethc.ejm
copy cmd.exe sethc.exe
exit
Después de cada instrucción, para la confirmación presionamos la tecla Enter.


Figura 6: Renombrando fichero sethc por una consola cmd.

sethc.exe: Fichero ejecutable que hace llamada a las StickyKeys (teclas pegajosas o teclas espeiales), esta lo que hace es que cuando, por ejemplo, pulsamos la tecla "Shift" (mayusculas, derecha o izquierda) del teclado 5 veces seguidas, nos salga una ventana que nos permite activar o desactivar dichas teclas.
 

cmd.exe: Fichero ejecutable que hace llamada al Símbolo del sistema de Windows

C: Entramos en la unidad c: por defecto, o la letra que tengamos asignada al disco local donde almacenemos la instalación de Windows.
 

cd: Entramos en los directorios de del disco local especificados, que en este caso es donde se encuentras los ficheros en los que haremos las modificaciones necesarias.
 

ren: Básicamente lo que se está haciendo es, renombrar, cambiándole la extensión, al fichero original 'sethc.exe' por 'sethc.ejm'. Por que ejm?, es indiferente podemos poner lo que queramos, siempre que no supere las 3 letras de extensión. Elegí: ejm (ejemplo) "por poner algo". Pero como ya digo esto no tiene relavancia, simplemente se hace para que no se tenga concordancia cuando posteriormente se copie la cmd.exe por sethc.exe.
 

copy: Después se copia la cmd.exe por sethc.exe, como sethc.exe lo habíamos renombrado a sethc.ejm el fichero sethc.exe no existe, supuestamente. Entonces lo que hacemos es crear una cmd.exe original pero con el nombre sethc.exe. De este modo, se conseguiría que cuando llamemos a las StickyKeys, se nos abra un Símbolo del sistema (CMD).
 

exit: Salimos del símbolo del sistema.

[3] - Una vez acabado el paso 2, reiniciamos el PC en el botón "Reiniciar" en la ventana de 'Opciones de recuperación del sistema'. 


Iniciamos el equipo sin bootear el Live DVD/USB de instalación de Windows, es decir que lo inicializamos de manera normal.

[4] - En la pantalla de bienvenida, pulsamos 5 veces seguidas la tecla "Shift" izquierda o derecha, nos funcionará igual.
 

Se nos abrirá el cmd.exe o Símbolo del sistema de Windows.
control userpasswords2
También podríamos usar netplwiz, es lo mismo y nos llevaría a la misma ventana gráfica.
Sería lo mismo. La diferencia (creo recordar...) está en que netplwiz era el fichero que abría y daba acceso a dicha ventana de control de cuentas de usuario en sistemas Windows NT y 2000, este aún se conserva en Windows XP, Vista y 7. Aunque añadieron una segunda vía de acceso: control userpasswords2, que es exactamente lo mismo.

[5] - Se nos abrirá la ventana de 'Cuentas de usuario', si no apareciese en ese momento en la pantalla de bienvenida, reiniciamos y volvemos a realizar el paso 4 y no tendrá que aparecer. 

Pues en esta ventana podremos restablecer la contraseña del usuario que seleccionemos. En este ejemplo, se trata de una cuenta tipo Administrador con el nombre de usuario "1loiswin7". Una vez seleccionamos el usuario podemos pulsar en el botón "Restablecer contraseña" he introducir la contraseña nueva sin necesidad de que nos pregunta la contraseña que hubiese anteriormente.
'Aplicamos' y 'Aceptamos' los cambios. (O simplemente 'Aceptar' sería lo mismo).



Figura 7: Iniciada consola con las StickyKeys y restableciendo passw de administrador de Windows.

Aunque en la captura de pantalla de arriba no muestro la ficha o pestaña "Opciones avanzadas" de la ventana 'Cuentas de usuario', en esta podremos elegir una cuenta de usuario de tipo 'limitada' y cambiarla por una de tipo 'Administrador' o viceversa, así como también agregar dicho usuario seleccionado a un grupo local que hubiéramos creado previamente o los incluidos por defecto del sistema, esto solo para Windows XP. En Windows Vista o 7 veremos otro aspecto similar en el que podremos administrar las contraseñas de la base de datos local SAM de Windows y entrar en la ventana 'Usuario y grupos locales' (lusrmgr.msc) con la cual también podremos realizar lo mismo que en Windows XP.

[6] - Y por último iniciamos sesión en el sistema con el nombre de usuario y contraseña que restablecimos. Y ya estaremos dentro, para hacer las modificaciones necesarias, así como cambiar a una nueva contraseña o lo que fuese.


Reinvertir los cambios 

[7] - Como paso final dejaremos o restableceremos los ficheros modificados (sethc y cmd) a su estado original o default. 

Para ello una vez que estamos ya dentro del sistema ejecutamos un "Símbolo del sistema" como administrador. Para ello, vamos a:
Inicio -> Todos los programas -> Accesorios -> y botón derecho en 'Símbolo de sistema' -> Ejecutar como administrador.

 
Si tenemos activado el UAC (User Account Control) de Windows, nos saldrá una ventana informativa 'Control de cuentas de usuario', que nos preguntará si deseamos que se hagan cambios en el sistema, le decimos que si.

Una vez abierto el CMD y estar situados en la ubicación:
C:\Windows\System32

En el caso de no estarlo, escribimos en el CMD:

C:
cd windows\system32
Una vez estemos en dicho direcctorio (lo cual por defecto lo está, si ejecutando el CMD con privilegios administrativos) simplemente tendríamos que escribir en el CMD:
del sethc.exe
ren sethc.ejm sethc.exe
exit
Figura 8: Restableciendo el orden de los ficheros renombrados anteriormente.

del: Borra ficheros y direcctorios, en este caso borraría el fichero sethc.exe.
 

ren y exit: renombra y salir de la CMD.

Lo que se está haciendo, es borrar el fichero sethc.exe que es una copia del cmd.exe original. Después renombramos el fichero sethc.ejm a sethc.exe, el sethc.ejm que es el fichero del sethc original. Por lo tanto, lo dejamos como estaba para que a la hora de llamar a la ejecución de las StickyKeys este se ejecute correctamente.
Y con la copia del cmd borrada y el fichero del sethc en su estado original, daremos por acabado la configuración.


Espero que este tutorial ayude aquell@s usuari@s, que no recuerdan su contraseña y de este modo haya una solución al problema. Y no utilizar este pequeño hack maliciosamente...

Saludos!

11 comentarios

  1. En realidad es un agujero de seguridad tan grande como la copa de un pino.

    Dado que la pantalla de login se muestra como el usuario "default", si se ejecuta desde ese usuario una linea de comandos, no deja de ser un usuario más. Microsoft podría fijarlo a lo bestia, suprimiendo esa funcion de accesibilidad, o bien cambiando la perspectiva... ¿¿cómo que default, que solo sirve para loguearse, sea administrador??

    ResponderEliminar
  2. Eso no es un agujero de seguridad, jaja..! De hecho se puede hacer más sencillo, y más todavía si tienes un disco de arranque.

    ResponderEliminar
  3. @Anónimo
    A no...?

    Yo creo que cualquier forma, por más secilla o absurda que sea y que nos permite entrar de manera no apropiada (ya sea: saltarse alguna protección, modificar o crear) a un sistema operativo, es un fallo de seguridad. Ya que existe una/s puerta/s de entrada/s a un sistema. El cual ya viola una política segura.

    Un Saludo :)

    ResponderEliminar
  4. Buen tutorial ... lo probare en mis equipos antiguos con win7....

    Porque en win10 no creo que funcione pero igual lo probare..

    ResponderEliminar
  5. Hola @wilber20066, en Windows 8/8.1 e incluso Win10 funciona igual.
    Siempre y cuando el sistema Windows instalado tenga dos cosas:
    - La funcionalidad por defecto de las stickykeys (sethc.exe)
    - Se pueda acceder a las consolas .msc: lusrmgr.msc o de "netplwiz".

    Entonces cualquier Windows que cumpla estas dos características anteriores este tutorial seguirá sirviendo para restablecer las passwords de administrador Windows.

    Y en el caso de Windows 10 esto sigue siendo así...

    Saludos.

    ResponderEliminar
  6. Una vez en la consola puedes simplemente teclear:
    net user usuario nuevacontraseña + Enter

    Y listo.

    ResponderEliminar
  7. Correcto @anibal, llegados a ese punto daría un poco igual que hacer en la consola si de una forma u otra.
    La cuestión de todo esto es mostrar como llegar a abrir una consola con privilegios antes de iniciar sesión en el equipo.

    Saludos.

    ResponderEliminar
  8. Después de tanto buscar ayuda pude solucionar el problema, muchas gracias!!

    ResponderEliminar
  9. Me puedes ayudar no puedo escribir la contraseña por más que apretó las teclas no escribe ayudaaaa

    ResponderEliminar
  10. Hola, tengo un problema ya que apreto la tecla shift y se abre la consola con un nombre "setch.exe" me gustaría desactivar ya que me molesta bastante por que no puedo apretar demasiado la tecla shift sin que se abra esa ventana.
    Gracias

    ResponderEliminar
    Respuestas
    1. Hola,

      En el apartado 7 ("Reinvertir los cambios") se detalla el proceso que comentas, dejando de nuevo los ficheros en su estado por defecto.

      Saludos.

      Eliminar

Entradas Populares