En seguridad informática , el hash pass es una técnica de piratería que permite a un atacante autenticarse en un servidor o servicio remoto mediante el uso del hash NTLM o LanMan subyacente de la contraseña de un usuario, en lugar de requerir la contraseña de texto simple asociada como suele ser el caso. Reemplaza la necesidad de robar la contraseña de texto simple para obtener acceso por el robo del hash.
El ataque explota una debilidad de implementación en el protocolo de autenticación, donde los hashes de contraseña permanecen estáticos de una sesión a otra hasta que se cambia la contraseña nuevamente.
Esta técnica se puede realizar contra cualquier servidor o servicio que acepte la 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 autenticación NTLM, las contraseñas de los usuarios nunca se envían en texto sin formato por la red, sino que 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 piden a los usuarios la contraseña en texto simple y luego llaman a API como LsaLogonUser [2] que convierten esa contraseña en uno o dos valores hash (los hashes LM o NT) y luego los envían al servidor remoto durante la autenticación NTLM. [Notas 1] [3]
Si un atacante tiene los hashes de la contraseña de un usuario, no necesita la contraseña en texto claro; simplemente puede usar el hash para autenticarse con un servidor y hacerse pasar por ese usuario. [4] [5] [6] [ enlace muerto permanente ] En otras palabras, desde la perspectiva de un atacante, los hashes son funcionalmente equivalentes a las contraseñas originales a partir de las cuales se generaron.
La técnica de pasar el hash fue publicada originalmente por Paul Ashton en 1997 [6] y consistía en un cliente SMB Samba modificado que aceptaba hashes de contraseñas de usuario en lugar de contraseñas en texto sin formato. Las versiones posteriores de Samba y otras implementaciones de terceros de los protocolos SMB y NTLM también incluían esta funcionalidad.
Esta implementación de la técnica se basaba en una pila SMB creada por un tercero (por ejemplo, Samba y otros), y por este motivo sufría una serie de limitaciones desde la perspectiva de un hacker, incluida una funcionalidad limitada o parcial: El protocolo SMB ha seguido evolucionando a lo largo de los años, esto significa que terceros que crean su propia implementación del protocolo SMB necesitan implementar cambios y adiciones al protocolo después de que sean introducidos por versiones más nuevas de Windows y SMB (históricamente mediante ingeniería inversa, que es muy compleja y requiere mucho tiempo). Esto significa que incluso después de realizar la autenticación NTLM con éxito utilizando la técnica de pasar el hash , herramientas como el cliente SMB de Samba podrían no haber implementado la funcionalidad que el atacante podría querer usar. Esto significaba que era difícil atacar a los programas de Windows que usan DCOM o RPC.
Además, debido a que los atacantes estaban restringidos a usar clientes de terceros al realizar ataques, no era posible usar aplicaciones integradas de Windows, como Net.exe o la herramienta Usuarios y computadoras de Active Directory , entre otras, porque pedían al atacante o al usuario que ingresara la contraseña de texto sin formato para autenticarse, y no el valor hash de contraseña correspondiente.
En 2008, Hernan Ochoa publicó una herramienta llamada "Pass-the-Hash Toolkit" [7] que permitía realizar la operación de "pasar el hash" de forma nativa en Windows. Permitía que los hashes de nombre de usuario, nombre de dominio y contraseña almacenados en caché en la memoria por la Autoridad de Seguridad Local se cambiaran en tiempo de ejecución después de que un usuario se autenticara; esto hizo posible "pasar el hash" utilizando aplicaciones estándar de Windows y, por lo tanto, socavar los mecanismos de autenticación fundamentales integrados en el sistema operativo.
La herramienta también introdujo una nueva técnica que permitía volcar los hashes de contraseñas almacenados en caché en la memoria del proceso lsass.exe (no en el almacenamiento persistente en el disco), que rápidamente se volvió ampliamente utilizada por los evaluadores de penetración (y los atacantes). Esta técnica de recolección de hashes es más avanzada que las técnicas utilizadas anteriormente (por ejemplo, volcar la base de datos del Administrador de cuentas de seguridad (SAM) local utilizando pwdump y herramientas similares), principalmente porque los valores de hashes almacenados en la memoria podrían incluir credenciales de usuarios de dominio (y administradores de dominio) que iniciaron sesión en la máquina. Por ejemplo, los hashes de usuarios de dominio autenticados que no se almacenan de forma persistente en el SAM local también se pueden volcar. Esto hace posible que un evaluador de penetración (o atacante) comprometa todo un dominio de Windows después de comprometer una sola máquina que era miembro de ese dominio. Además, el ataque se puede implementar instantáneamente y sin ningún requisito de recursos informáticos costosos para llevar a cabo un ataque de fuerza bruta.
Este kit de herramientas fue reemplazado posteriormente por "Windows Credential Editor", que amplía la funcionalidad de la herramienta original y la compatibilidad con el sistema operativo. [8] [9] Algunos proveedores de antivirus clasifican el kit de herramientas como malware. [10] [11]
Antes de que un atacante pueda llevar a cabo un ataque de transferencia de hash, debe obtener los hashes de contraseñas de las cuentas de usuario objetivo. Para ello, los evaluadores de penetración y los atacantes pueden obtener los hashes de contraseñas mediante distintos métodos:
Cualquier sistema que utilice autenticación LM o NTLM en combinación con cualquier protocolo de comunicación (SMB, FTP, RPC, HTTP, etc.) está en riesgo de sufrir este ataque. [1] Es muy difícil defenderse de este exploit, debido a posibles exploits en Windows y aplicaciones que se ejecutan en Windows que pueden ser utilizadas por un atacante para elevar sus privilegios y luego llevar a cabo la recolección de hash que facilita el ataque. Además, puede que solo se necesite que una máquina en un dominio de Windows no esté configurada correctamente o que le falte un parche de seguridad para que un atacante encuentre una forma de entrar. Además, hay una amplia gama de herramientas de prueba de penetración disponibles para automatizar el proceso de descubrir una debilidad en una máquina.
No existe una única defensa contra la técnica, por lo que se aplican prácticas de defensa en profundidad estándar [12] ; por ejemplo, uso de firewalls , sistemas de prevención de intrusiones , autenticación 802.1x , IPsec , software antivirus , reducción del número de personas con privilegios elevados, [13] parches de seguridad proactivos [14] , etc. Evitar que Windows almacene credenciales en caché puede limitar a los atacantes a obtener hashes de la memoria, lo que generalmente significa que la cuenta de destino debe iniciar sesión en la máquina cuando se ejecuta el ataque. [15] Permitir que los administradores de dominio inicien sesión en sistemas que pueden estar comprometidos o no ser confiables creará un escenario en el que los hashes de los administradores se convertirán en el objetivo de los atacantes; por lo tanto, limitar los inicios de sesión de los administradores de dominio a los controladores de dominio confiables puede limitar las oportunidades para un atacante. [12] El principio del mínimo privilegio sugiere que se debe adoptar un enfoque de acceso mínimo de usuarios (LUA), en el que los usuarios no deben usar cuentas con más privilegios de los necesarios para completar la tarea en cuestión. [12] Configurar sistemas para que no utilicen LM o NTLM también puede fortalecer la seguridad, pero los exploits más nuevos pueden reenviar tickets Kerberos de manera similar. [16] Limitar el alcance de los privilegios de depuración en el sistema puede frustrar algunos ataques que inyectan código o roban hashes de la memoria de procesos sensibles. [12]
El modo de administración restringida es una nueva característica del sistema operativo Windows introducida en 2014 a través del boletín de seguridad 2871997, que está diseñada para reducir la efectividad del ataque. [17]
{{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda )