Pasar el hash


En criptoanálisis y seguridad informática , pasar el hash es una técnica de piratería que permite a un atacante autenticarse en un servidor o servicio remoto utilizando el hash NTLM o LanMan subyacente de la contraseña de un usuario, en lugar de requerir la contraseña de texto sin formato asociada, como suele ser el caso. . Reemplaza la necesidad de robar la contraseña de texto sin formato con simplemente robar el hash y usarlo para autenticarse.

Después de que un atacante obtiene valores válidos de hash de nombre de usuario y contraseña de usuario (de alguna manera, usando diferentes métodos y herramientas), puede usar esa información para autenticarse en un servidor o servicio remoto usando autenticación LM o NTLM sin la necesidad de fuerza bruta los hashes para obtener la contraseña de texto sin cifrar (como se requería antes de que se publicara esta técnica). El ataque explota una debilidad de implementación en el protocolo de autenticación, donde los hash de contraseña permanecen estáticos de una sesión a otra hasta que se cambia la contraseña.

Esta técnica se puede realizar contra cualquier servidor o servicio que acepte autenticación LM o NTLM, ya sea que se ejecute en una máquina con Windows, Unix o cualquier otro sistema operativo.

En los sistemas o servicios que utilizan la autenticación NTLM, las contraseñas de los usuarios nunca se envían en texto sin cifrar por cable. En su lugar, se proporcionan al sistema solicitante, como un controlador de dominio , como un hash en respuesta a un esquema de autenticación de desafío-respuesta . [1]

Las aplicaciones nativas de Windows solicitan a los usuarios la contraseña en texto sin cifrar , luego llaman a API como LsaLogonUser [2] que convierten esa contraseña en uno o dos valores hash (los hash LM o NT) y luego la envían al servidor remoto durante la autenticación NTLM. [Notas 1] [3] El análisis de este mecanismo ha demostrado que la contraseña de texto sin cifrar no es necesaria para completar la autenticación de red con éxito, solo se necesitan los hash.

Si un atacante tiene los hash de la contraseña de un usuario, no necesita forzar la contraseña en texto sin cifrar; simplemente pueden usar el hash de una cuenta de usuario arbitraria que han recolectado para autenticarse en un sistema remoto y hacerse pasar por ese usuario. [4] En otras palabras, desde la perspectiva de un atacante, los hash son funcionalmente equivalentes a las contraseñas originales a partir de las cuales se generaron.