Ya sea en ejercicios de Red Team o en tests de intrusión en entornos Active Directory, conseguir credenciales de acceso válidas es, en la mayoría de los casos, un proceso fundamental para avanzar al siguiente paso en un día de trabajo. Por ello, ntlm-theft es una de esas herramientas que puede marcar la diferencia en un test de intrusión o en un ejercicio de Red Team.
Primero de todo, imaginemos la situación. Se ha conseguido acceso a la red interna de la organización pero no se tienen credenciales de usuario válidas que permitan realizar movimientos laterales o verticales en nuestra misión de comprometer los activos, pero sí se dispone de direcciones email corporativas a las que poder efectuar ingeniería social.
Una de las muchísimas casuísticas posibles podría ser enviar un fichero malicioso, con un nombre que llame la atención del usuario y en un formato que sea usado en el día a día de la organización.
Es aquí dónde se puede jugar con Ntlm-Theft, ya que nos permite crear, de manera extremadamente sencilla, ficheros maliciosos que apunten a nuestra IP (servidor) dónde se envenenarán las peticiones y capturaremos los hashes NTLMv2 de cualquier usuario que abra dicho fichero.
Veamos un ejemplo creando un fichero .xlsx de Microsoft Office Excel:
Después de su creación, hagamos uso personal de la imaginación y añadamos algo creíble que no levante demasiadas sospechas. Acto seguido, demos por hecho que se ha conseguido enviar satisfactoriamente vía email.
El siguiente paso será levantar el servidor al que apunta el fichero malicioso. Esto se realizará con la herramienta Responder, que será el envenenador encargado de realizar el NTLMv2 Relay y capturar los hashes.
Ahora solo es cuestión de tiempo que el usuario abra el fichero e interceptemos la petición de autenticación, obteniendo el hash.
Importante hacer incapié en que se habilite la edición para que el ataque sea efectivo y se ejecute la acción que desencadena la apertura del fichero.
Una vez abierto, observaremos cómo interceptamos cada petición que realiza Windows para autenticarse, obteniendo el hash NTLMv2
Con el hash en nuestro haber, procederemos a intentar crackearlo para que, con suerte, nos hagamos con credenciales válidas que nos permitan continuar moviéndonos por la red.
Una vez crackeada, podemos comprobar si se tiene posibilidad de ejecución remota de comandos (si se tratase de usuario Administrador Local) con crackmapexec:
Después de comprobar que, efectivamente, se poseen privilegios de ejecución remota de comandos, intentemos acceder al sistema:
Como se puede observar, tenemos acceso al sistema con usuario con máximos privilegios.
LinkedIn: https://linkedin.com/in/jesus-rufo