La verdad es que cuando descubrí esto de las técnicas de Pass-the-Hash me pregunté como algo así podía existir sin que me hubiera dado cuenta antes. Las descubrí investigando si podía saltar del contexto de un usuario SYSTEM en Windows al contexto de otro usuario del equipo para poder acceder a los recursos de otra máquina con esas credenciales. Al final, como solución, pensé en como tenía que funcionar Windows para hacer esta autenticación de forma automática, y... BINGO, técnicas de Pass-the-Hash.
Este tipo de técnicas están fundamentadas en la ausencia del uso de un Salt que añade un factor aleatorio en la generación de los Hashes, lo cual quiere decir que la misma contraseña, en usuarios diferentes e incluso en equipos diferentes, les va a corresponder el mismo Hash.
Esto abre la posibilidad de dos tipos de ataques, por un lado permite la realización de Crackeo de contraseñas mediante Rainbow Tables (con Salt el tamaño de las tablas y el tiempo se hace practicamente inusable), y por otro lado, nos abre la posibilidad de usar técnicas de Pass-the-Hash.
Estas técnicas consisten en la posibilidad de autenticarse entre máquinas Windows sin necesidad de nada más que de poseer el Hash, con lo que podemos conseguir acceso a los recursos de un usuario sin conocer realmente la contraseña ni emplear ningún tiempo de crackeo, simplemente obteniendo el Hash de la SAM o de la caché del sistema.
Para utilizar estas técnicas, existen un Toolkit de herramientas llamadas Pass-the-Hash Toolkit(desarrollado por Hernán Ochoa mientras trabajaba en Core Security, los desarrolladores del conocido Framework de Explotación Core Impact) que viene con una serie de ficheros. Entre ellos se encuentra el fichero IAM.EXE, al que se puede llamar con la siguiente sintaxis:
> iam.exe usuario dominio HashLM HashNT
Nota: El Hash se encuentra en la SAM como HashLM:HashNT, hay que separar estas dos partes en la llamada a iam.exe
Este binario lo que consigue es cambiar en memoria nuestras credenciales en la máquina windows que estemos y con el usuario que estemos utilizando por estas credenciales que le pasamos, por lo que a todos los efectos, en uan red Microsoft, seremos ese usuario y podremos conectar a todos los recursos que pueda ver ese usuario con sus privilegios de forma transparente, y todo ello sin necesidad de conocer la clave, no importa que sea una buena clave, con mayusculas, minúsculas, numeros, signos, etc, si conseguimos obtener el Hash de algún sitio, podemos usarlo para acceder a recursos sin necesidad de emplear ningún tiempo de crackeo.
Existen también otras aplicaciones que premiten autenticarse mediante al utilización del Hash en lugar de la contraseña (lo único que hace es saltarse el paso de "me das la contraseña y calculo el Hash"), como puede ser un parche para Samba (para los amantes de Linux, como yo) que permite establecer una variable de entorno SMBHASH con el Hash y a partir de ahí usar los comandos típicos de Samba para acceder a los recursos. Otra de las interesantes es el módulo psexec (original de Sysinternals) que existe en la Metasploit Framework, que también permite pasarle el Hash en lugar de la contraseña, con lo cual podemos ejecutar comandos de forma remota en una máquina Windows siempre que el usuario del que hemos obtenido el Hash tenga privilegios de Administrador. Sin embargo, de todas estas opciones, yo sigo prefiriendo el Pass-the-Hash Toolkit, puesto que me parece más flexible.
No obstante, que podamos usar este tipo de técnicas no quiere decir que no necesitemos para nada el crackeo de este Hash, ya que no solo de Microsoft viven las empresas, y a veces crackear y obtener la contraseña de un usuario nos puede ayudar a obtener acceso a otros sistemas no-Microsoft pero en los que el usuario esté usando la misma contraseña (y en los que no vale el mismo hash, evidentemente) como puedan ser sistemas Unix, páginas web, accesos VPN, etc.
Fuente:
http://www.pentester.es/2009/09/tecnicas-pass-hash.html
Links de interés:
http://www.securitytube.net/video/754
http://www.sans.org/reading-room/whitepapers/testing/pass-the-hash-attacks-tools-mitigation-33283
http://colesec.inventedtheinternet.com/hacking-windows-passwords-with-pass-the-hash/
http://www.madhur.co.in/blog/2011/08/16/passthehash.html --Recomendado
http://www.pentester.es/2009/09/tecnicas-pass-hash.html
Links de interés:
http://www.securitytube.net/video/754
http://www.sans.org/reading-room/whitepapers/testing/pass-the-hash-attacks-tools-mitigation-33283
http://colesec.inventedtheinternet.com/hacking-windows-passwords-with-pass-the-hash/
http://www.madhur.co.in/blog/2011/08/16/passthehash.html --Recomendado
No hay comentarios:
Publicar un comentario