14 octubre 2010

Patriot NG 1.0 para defendernos de un ataque con Metasploit

Si ayer nuestro compañero Yago presentaba la versión 1.0 de Patriot NG, ahora os enseñamos como gracias a este programa podemos detectar y mitigar un ataque mediante un exploit que, en este caso, vamos a lanzar desde Metasploit Framework.

El exploit que usaremos va a ser windows/browser/ms10_046_shortcut_icon_dllloader (el fallo de los .lnk), el cual vamos a explotar a través de Internet Explorer. Como payload usaremos windows/shell_reverse_tcp para obtener el control del equipo remoto mediante consola de comandos.

Metasploit abrirá un puerto, al que conectaremos con IE. La configuración es la siguiente:

Al conectar al puerto, IE abre una carpeta compartida donde tenemos el .lnk y un .dll. Patriot nos avisa de que ha detectado una ventana oculta del proceso cmd.exe y una nueva conexión abierta por el proceso svchost.exe. Esto significa que en un principio el ataque está funcionando, ya que si cmd.exe se está ejecutando quiere decir que el payload se ha cargado.

Vamos a decirle a Patriot que permita las conexiones de red, y que nos muestre la ventana oculta del proceso cmd.exe:

Ahí tenemos la consola con la que interactúa nuestro atacante, la cual estaba oculta pero Patriot ha hecho visible. Si la cerramos, la interacción con la víctima por el lado de Metasploit termina, es decir, el atacante pierde el control sobre la máquina afectada.

Este es un ejemplo sencillo con el que podemos ver como Patriot puede hacer visibles ventanas ocultas, y como nos ayuda a repeler (e incluso "desmantelar") un ataque de este tipo.

9 comments :

Anónimo dijo...

Hola,

ayer me instalé Patriot para probarlo y me gustó mucho. Pero al tener ClamWin funcionando, continuamente me salían alertas de ventana de cmd oculta de ClamAV y me resultaba incómodo.

Me gustaría saber si se va a añadir alguna opción para poder afinar un poco más los avisos; tanto los relativos a ventanas ocultas como conexiones salientes. Tener, por ejemplo, una lista blanca de aplicaciones a las que sí que se les permite el acceso sin necesidad de reportarlo.

Y por otro lado, ya que soy nuevo con Patriot; ¿sólo reporta avisos cuando se está logueado como administrador? El rato que estuve probándolo, cuando estaba como usuario sin privilegios no me lanzó ningún aviso aunque realicé conexiones.


Gracias y saludos :)

Yago Jesus dijo...

@damontero: Efectivamente, requiere privilegios de admin en XP para poder llegar a toda la configuración del sistema. En Win 7, al lanzarse vía task ya 'elevado' es mas independiente. Lo que dices de las ventanas, de poder selectivamente obviar procesos me lo apunto, me parece una gran idea. No obstante, desde el panel de control (en el Tray) puedes deshabilitar ese check para que no te dé guerra. Muchas gracias por el feedback !

Anónimo dijo...

Cómo conecta IE al puerto? En las imágenes no sale nada de ":4444"

No es necesario que se pulse el fichero .lnk?

Anónimo dijo...

@Anónimo
1. El puerto 4444 está abierto por Metasploit, y es en él donde recibe la conexión de la shell inversa (la shell conecta al atacante una vez entra en juego). En cambio, el puerto donde está "colocado el exploit" es el 80, al cual tiene que conectar IE.
2. No, no hace falta. Solamente con que Windows intente cargar el icono del .lnk se puede explotar ;)

Anónimo dijo...

Me gusta Patriot, gracias por el articulo.

Sabeis si guarda logs que podamos consultar de lo que va detectando?

Un saludo.

Prowl3r

Yago Jesus dijo...

@Anónimo, en el Visor de Eventos deberías tener un log detallado de toda incidencia

Anónimo dijo...

Mu buenas, como usuario novato en el patriot este ¿podríais decirme porqué se conecta a la ip 91.186.21.23 nada más iniciarlo? Es la web de un tal NosequeElliot. Lo sé soy paranoico, pero me extrañó tanto que lo metí en un sandbox aunque no se si funcionará igual.
Saludos

Yago Jesus dijo...

@Anónimo, muy interesante observación, lo que hace es conectarse a www.security-projects.com/patriot/version.txt y descargarse un fichero .txt que contiene un tag de la release. Esto lo usamos para cuando sale una release nueva, avisar al usuario.

Anonymous dijo...

Me gusta Patriot, gracias por el articulo.

Sabeis si guarda logs que podamos consultar de lo que va detectando?

Un saludo.

Prowl3r