+

miércoles, 12 de octubre de 2011

¿Has perdido tu password de administrador de windows? Tranquilo, Linux te ayuda

Una situación muy común es que uno se olvida de la contraseña de administrador de Windows, pese a tenerla apuntada en un post-it al lado del servidor. Existen muchas herramientas para poder recuperar la contraseña, pero como me gusta Linux y complicarme la vida, pues lo hacemos difícil*.

Este método que comentaré tiene una ventaja, y es que no se tocan los ficheros de contraseñas de windows, por lo que no hay peligro (me he cargado un 2008 usando esas herramientas...). Hay que dejar clara una cosa, de esta forma sólo podremos cambiar contraseñas que no estén en Active Directory (a falta de probarlo con un servidor que tenga AD**...).

Este método es muy ruin, Windows se sentirá estafado por que vamos a dar gato por liebre. ¿Conoceis las sticky keys? Alguno seguro que sí, sobre todo los que jugaron al trackmania. Bueno, eso lo que hace es lanzarnos un programa cada vez que pulsamos 5 veces la tecla Shift. Pero, ¿que pasa si cambiamos el ejecutable al que llama por defecto? Sencillo, Windows se lo traga y nos ejecuta lo que hayamos puesto. Usaremos esta falla para poder ejecutar una consola y así poder cambiar la password, pero es un fallo demasiado gordo que ya veremos al final cómo solucionarlo.

Básicamente lo que haremos será cambiar el archivo sethc.exe por un cmd.exe, para ello necesitaremos una live cd de cualquier sistema operativo. Yo me he decantado por usar una knoppix, ya que trae los ficheros necesarios para trabajar con una particion ntfs (necesario kernel 2.6 para ello), pero podremos usar cualquiera que lo soporte***.

Tras cargar nuestra live favorita, sólo queda montar la particion de Windows, bien por consola, bien por escritorio, al gusto/posibilidad de cada uno, y entrar en la carpeta Windows/System32. Una vez allí, renombramos el archivo sethc.exe a sethc.exe.bck y hacemos una copia del archivo cmd.exe renombrandlo como sethc.exe. Desmontamos, reiniciamos y cargamos Windows.

Ahora, en la pantalla de login, pulsamos 5 veces la tecla shift y voilá, se nos abrirá una ventana con una consola con privilegios administrativos (en local). En este punto, el servidor es nuestro, podemos hacer lo que queramos con esa consola. Para nuestro cometido, cambiar la password de administrador, tendremos que ejecutar el siguiente comando:
net user Administrador ContaseñaNueva
Nos saldrá una confirmación de que se ha cambiado y listo, ya podemos loguearnos como administrador. Sólo falta deshacer lo que hicimos para que no se quede el sticky keys lanzando un cmd. Para ello apagamos y cargamos de nuevo la Live, borramos el sethc.exe actual (un cmd camuflado) y renombramos el sethc.exe.bck a sethc.exe. Ya podemos usar nuestro 2008 de nuevo.

Ahora bien, para solucionar este fallo de seguridad, simplemente con desactivar las sticky keys basta, esta en opciones de accesibilidad o asi. Ya cada uno que lo desactive si quiere, ya que una vez desactivado, este metodo no funcionaría. Tened en cuenta otra cosa, desde escritorio remoto se puede invocar a las sticky keys poniendolo a pantalla completa, asi que cuidado.

En Linux también hay trucos para recuperar la clave de root, pero son más sencillos y están así a posta ;) no son fallos de seguridad. Hablaremos de ello en otro post, saludos.

* Este metodo sólo es válido para Windows con las sticky seys y tienen que estar activadas (xp en adelante)
** Todo sería probar a invocar la herramienta de adminstracion de Active Directory a ver si cuela, pero vamos, que en terminos generales, si pierdes la pass de administrador de un AD, date por despedido.
** Como digo, para particiones NTFS hace falta que tenga kernel 2.6, pero si tenemos el windows en una particion FAT32 nos valdría casi cualquier linux (con kernel 2.4 en adelante que yo haya probado). Esto no se aplica al 2008, no deja instsalarse en una FAY (o eso recuerdo).

No hay comentarios:

Publicar un comentario