jueves, febrero 23, 2017

Cómo hacer ataques SMBTrap a Windows con MITMf

Hoy vamos a a hablar de SMBTrap, una vulnerabilidad que se descubrió en el año 2015 y que no es más que un bug que afecta al protocolo SMB en Windows desde hace mucho tiempo atrás. En otras palabras, allá por el año 1997 se podía forzar a Windows a que enviara las credenciales a un recurso compartido. Un atacante podía poner un recurso compartido y poner un enlace en una web hacia dicho recurso lo que provocaba que las credenciales fueran enviadas, es decir, los hashes de las credenciales de Windows.

Figura 1: Cómo hacer ataques SMBTrap a Windows con MITMF

Con SMBTrap se dio una vuelta de a este concepto, y esto ocurrió en el año 2015. Existe un artículo de nuestro compañero Sergio de los Santos (@ssantosv) - autor del libro de Máxima Seguridad en Windows - que habla de esta vulnerabilidad y de cómo protegerse.

Figura 2: Paper de SMBTrap publicado por Cylance

Mediante SMBTrap se podrán enviar las credenciales de Windows hasheadas mediante un servidor SMB gracias a las redirecciones HTTP. La gente de Cylance se dio cuenta, y así lo muestra en el paper, que la API de URLMon.dll, la cual es utilizada por muchas aplicaciones hoy en día, también realizaban la operativa de enviar las credenciales gracias a las redirecciones HTTP.

Figura 3: Esquema de redirección HTPP para forzar envío de credenciales

Hoy en día, es muy común utilizar NTLMv2, lo cual no es tan débil como los antecesores, aunque siguen siendo potencialmente atacable mediante fuerza bruta o, más lógicamente, por ataques de diccionario.

Integrado con MITMf

La semana pasada hablamos de uno de los frameworks más potentes y flexibles para auditorías de red como es MITMf. Hoy vamos a ver como MITMf proporciona soporte, a través de un plugin, para poder capturar hashes de Windows a través de redirecciones HTTP. El plugin encapsula todo el proceso, pero lo que se levantará es un servidor HTTP que, ante una petición, redirigirá hacia el servicio SMB montado también por el propio plugin.

Figura 4: Ejecución de plugin smbtrap en mitmf

Como se puede ver, para invocar el plugin –smbtrap solamente hay que indicarlo al ejecutar MITMf sobre nuestro Kali Linux 2. Si leemos lo que es levantado, gracias a la ejecución del plugin, se puede leer un servidor HTTP y un servidor SMB. Si echamos un ojo a los puertos a la escucha en la máquina vemos lo comentado.

Figura 5: Servicios arrancados con el plugin de smbtrap

PoC: Sacanco provecho de todo esto

Un escenario típico para sacar provecho aquí sería utilizar técnicas como ARP Spoofing o DNS Spoofing buscando un envenenamiento de la caché ARP o caché DNS. Las peticiones que la víctima haga desde, por ejemplo, su navegador que utilice la autenticación por HTTP u otras aplicaciones que utilicen URLMon.dll.

Para este ejemplo, se realizará un ARP Spoofing y SMBTrap todo desde el propio MITMf, mostrando la flexibilidad y potencia con una sintaxis muy sencilla. La instrucción a ejecutar es:
 mitmf.py –spoof –arp –smbtrap –target [IP víctima] –gateway [IP router] –i [interfaz de red]
En este instante, cuando la víctima utilice su Internet Explorer, en el ejemplo utilizamos un Windows 7, la petición HTTP será redirigida al servidor SMB montado por el atacante. En este instante, el navegador realizará, o lo intentará, autenticarse mediante NTLMv2.

Figura 6: Ejecución de ARP Spoofing y SMBTrap con MITMf a la vez

El resultado es un robo de credenciales hasheadas de Windows. Se puede utilizar herramientas de cracking, como por ejemplo hashcat, para poder extraer la credencial en plano. En conclusión, SMBTrap está al alcance de la mano en herramientas como MITMf, lo cual hace que montar lo necesario sea realmente sencillo.

Figura 7: Hashes de credenciales capturados

Es potente utilizar este tipo de técnicas en los proyectos de Ethical Hacking, ya que la consecución de los hashes puede abrir la puerta a otras máquinas Windows o recursos de red que no estén bien fortificados. Como vemos MITMf proporciona diferentes técnicas, y cada vez más, y ayuda a poder realizar ataques y pruebas que antes costaban montar. Seguiremos viendo ataques y técnicas con este gran framework.

Autor: Pablo González Pérez (@pablogonzalezpe)
Escritor de los libros "Metasploit para Pentesters", "Ethical Hacking", "Got Root" y “Pentesting con Powershell

No hay comentarios:

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares