De nuevo, se ha creado algo de confusión con una supuesta vulnerabilidad en Windows que permitía «conocer las contraseñas» del usuario. Lo cierto es que no es para tanto, y que lo único que se ha automatizado es un método para sacar en texto claro los indicios de contraseñas de Windows.
Jonathan Claudio de SpiderLab, detectó una entrada en el registro en Windows 7 y 8 (que se puede ver con los privilegios de SYSTEM). Se llama UserPasswordHint y está en:
HKLM\SAM\SAM\Domains\Account\Users\\UserPasswordHint
Esta clave almacena la frase de indicio de contraseña que Windows muestra al usuario, por si se le ha olvidado y necesita «una pista«. La frase que se usa para inspirar al usuario, está «codificada» (que no cifrada), y el sencillo método de descodificación, es lo que principalmente, ha descubierto Claudio.
https://unaaldia.hispasec.com/wp-content/uploads/2012/08/c0e33-6a0133f264aa62970b017617607949970c-pi.png |
En realidad, es una codificación muy sencilla. De hecho, por ejemplo, en mi equipo personal la «pista» para adivinar la contraseña es «a» (por supuesto, algo que está lejos de dar alguna pista). Si se lanza el registro con permisos de SYSTEM (abajo en la imagen se observa el comando) y se navega hacia la rama del registro correspondiente, se comprueba que la codificación es «00 61«, lo que inmediatamente lleva al valor hexadecimal de la letra «a» minúscula. La decodificación, por tanto, es trivial.
Además, la pista está diseñada para ser pública. Cualquiera con acceso físico puede observarla si se «equivoca» una vez al introducir la contraseña.
Por tanto, el valor de lo que ha descubierto SpiderLabs es más una «curiosidad» que una debilidad real, pero que tiene utilidad. Lo que ha descubierto permite a un atacante remoto, conocer esa «pista«. Por supuesto, este atacante ya habrá obtenido acceso al sistema ejecutando código para poder extraer la información. Lo relevante, es que si esa pista es real y además el atacante obtiene los hashes de las contraseñas, quizás le permita acotar el diccionario y conocer las contraseñas de manera más sencilla. O incluso, si la pista es lo suficientemente explícita, no sea necesario crackear nada. Con ese objetivo, se ha añadido a mestasploit el módulo que permite volcar los hashes de las contraseñas y las pistas.
https://unaaldia.hispasec.com/wp-content/uploads/2012/08/d407d-6a0133f264aa62970b01774446fb19970d-pi.jpg |
Así que parece que en realidad no es una vulnerabilidad grave, sino una pequeña facilidad para los atacantes que quieran conocer las contraseñas de víctimas sobre las que ya tienen todo el poder.
En definitiva, utilizar pistas para recordar la contraseña es una mala idea, igual que utilizar el recordatorio de contraseñas de los correos y, en general, cualquier ventaja que se le pueda dar a un usuario que quiera atacar un sistema protegido por contraseña.
Más información:
All Your PasswordHints Are Belong to Us
Sergio de los Santos
Twitter: @ssantosv
Jaime García dice
Hola Sergio, pues totalmente de acuerdo contigo en el último párrafo.
Pero seguro que tú, yo y muchas personas que trabajamos en Informática alguna vez nos olvidamos una contraseña.
Supongo que uno de los poquitos métodos no tan inseguros sea el «reseteo» de contraseña. ¿Cómo lo ves?
Por cierto, una de las opciones de publicación aquí es hacer login con mi cuenta de Google, cosa que no hago.
Un saludo.
tiovik dice
…una pequeña observacion: Muchos usuarios usan como pista de la contraseña la contraseña misma. No se si existira una forma (via politicas de sistema?) de desactivar esto, pero pinta muy mal y no es una buena idea…
Anónimo dice
En https://www.owasp.org/index.php/Forgot_Password_Cheat_Sheet dan algunas ideas sobre cómo se puede hacer de forma razonable. Es una lectura interesante. Las preguntas-recordatorio se consideran seguras si no las elige el usuario y son suficientemente diversas. Habría que ver si la cultura de EEUU es directamente trasladable a nuestras costumbres (allí hay más movilidad, más desapego de la familia, con lo que es más difícil saber en qué colegio estudió alguien y esas cosas…).
¿Opiniones?
Juanjo dice
¿Por qué no usar un gestor de contraseñas? Así no se olvida ninguna y pueden contener caracteres suficientes para considerarse segura 😉