Recuperar contraseñas o administrar usuarios en Windows
Lo que parece una vulnerabilidad en realidad no lo es, esta es una debilidad de la protección de memoria presente en todos los sistemas operativos y por lo tanto no excluye a GNU/Linux, FreeBSD, Windows ni siquiera a Mac OS X.
Esto realmente no es nuevo, desde hace muchos años los armadores de computadoras o “técnicos” lo han usado por mucho tiempo, se requiere estar frente a la PC. Por lo que en realidad es un método que sirve para entrar a una computadora de la que no se tiene la clave y no encuentras al dueño para que te la proporcione.
Durante el arranque y antes de que ingrese algún usuario el sistema operativo tiene que realizar tareas como administrador o root para lanzar los servicios o incluso para dejar ingresar a los usuarios.
Por ejemplo en GNU/Linux el archivo /etc/shadow contiene las contraseñas de los usuarios pero solo root puede leerlo, esto significa que el proceso de login de GNU/Linux y cualquier Unix debe tener el UID 0 o de root al momento de autenticar la contraseña de lo contrario el usuario nunca se podría logear, una vez logeado el proceso termina y se migra al UID que le corresponde al usuario diferente a 0, si fuera modificado el binario del login se podria crear un backdoor
En Windows esto no es diferente, de hecho es peor ya que Windows ni siquiera cumple al 100% con Posix.
Durante el arranque y hasta que se ingresa un usuario todo funciona con la memoria de Sistema que incluso es superior a un usuario administrador, desde el Windows XP y seguramente hasta el Windows 8 por default viene activado el servicio de accesibilidad para discapacitados el cual se activa presionando en cualquier momento 5 veces la tecla shift, el proceso se lanza con el programa sethc.exe. Al igual que con GNU/Linux si alguien aprovecha a modificar los procesos previos al LOGIN podrá crear un backdoor.
Una vez que Windows ha arrancado el sethc.exe es protegido por la memoria de sistema, significa que ni siquiera un usuario administrador podría tocar esos archivos, pero. ¿Si la protección no estuviera activa? ¿ Si Windows no estuviera corriendo… ?
Si reinicias una PC con cualquier sistema operativo que te permita acceder a NTFS y modificar archivos podrías sin problemas modificar los archivos.
Ni siquiera es muy complicado, el mismo Windows tiene a la mano el programa perfecto con el cual sustituir el sethc.exe, el cmd.exe, cmd es el símbolo de sistemas o consola de Windows, los que saben moverse en las consolas saben administrar las maquinas sin requerir entornos graficos.
Lo único que se requiere hacer es sustituir sethc.exe por cmd.exe , de esta manera cuando se presione 5 veces shift será lanzada la consola.
el comando para lanzar el administrador grafio de usuarios es
Control userpasswords2
Esto debe funcionar en incluso en Windows 8 aunque no lo he probado, como saben compro cada copia de Windows original, ya que no me gusta ser pirata, pero la versión 8 es la primera versión de Windows que jamás saque siquiera de su empaque.
Ver mas grande
Ver mas grande
Con el siguiente video puedes ver la prueba de concepto.
También puedes trolear o jugar bromas, borrando hasta el último usuario de la maquina.