Conociendo un ataque de DNS Spoofing + Evilgrade

¿En qué consiste este tipo de ataque?


Uno de los ataques más peligrosos que podemos encontrarnos, es el de la autodescarga y ejecución de software malicioso sin interacción del usuario. Con un ataque de estas características se puede realizar una intrusión en cualquier tipo de sistema, aun estando éste a su última versión y completamente parcheado, no presentando ningún tipo de vulnerabilidad más que la que representa en sí mismo el desconocimiento del propio usuario.

Diseño del ataque y herramientas empleadas


Para demostrar este ataque vamos a emplear el framework “Evilgrade”. Como breve descripción de su funcionamiento decir que está basado en módulos específicos, y que cada uno de ellos tiene su propia forma de funcionamiento con la que emular falsas actualizaciones de una aplicación en concreto. Posterior a su configuración se necesita manipular el tráfico DNS de la máquina víctima a través de un ataque de “DNS Spoofing”, para que ésta sea redireccionada al servidor del atacante.

Primeramente, lanzaremos un ataque de MITM para interceptar qué webs de actualización de software visita la víctima a través del plugin “remote_browser” de “Ettercap”. Con la información obtenida, configuraremos un ataque dirigido empleando “Evilgrade”, “Metasploit” y “Ettercap” como veremos más adelante.

Obtención de información y configuración del ataque


Obteniendo información mediante ataque Man In The Middle (MITM)


Para poder configurar un escenario de ataque adecuado, primeramente debemos obtener la información necesaria. En este caso vamos a lanzar un ataque de Man In The Middle (MITM) a través del uso de “ettercap” (como vimos en nuestro post “https://jaymonsecurity.es/conociendo-un-ataque-de-dns-spoofing-phishing”) y de su plugin “remote_browser” como vemos a continuación, con la finalidad de capturar datos sobre los servicios web visitados, ya sea por el propio usuario o por programas en segundo plano que comprueban de manera automática actualizaciones disponibles en sus servidores oficiales.

EVILGRADE
Capturando URLs visitadas por la máquina víctima.

Como podemos observar, al capturar los paquetes de las conexiones de la víctima, vemos que tiene instalado el software “ccleaner”, y cuando el propio programa requiere actualizarse visita las direcciones subrayadas en rojo. Teniendo esta información ya podemos pasar a configurar el vector de ataque.

Creando nuestro malware para obtener una shell meterpreter inversa


En este punto deberemos crear un malware que nos devuelva una shell tipo “reverse meterpreter” de la máquina víctima al ser ejecutada por el propio “ccleaner” al intentar acutalizarse. Esto lo haremos a través del empleo de “msfvenom” como vemos a continuación, y lo llamaremos “update.exe”.

Creando binario «reverse meterpreter» para Windows.

Configurando Evilgrade


Una vez hayamos creado nuestro malware ya podemos pasar a iniciar “Evilgrade”, y configurar el ataque a través del módulo “ccleaner” como se expone a continuación:

Configurando Evilgrade.

Una vez hayamos configurado todas las variables del módulo “ccleaner”, entre la que destaca el malware creado (“update.exe”) para poder obtener la shell meterpreter inversa, ya podemos lanzarlo mediante el comando “start”:

Lanzando el ataque desde Evilgrade.

Como podemos observar, Evilgrade ha levantado un servidor web a la espera de conexiones de “ccleaner”. Cuando “ccleaner” intente actualizarse, se conectará a nuestro servidor atacante montado por Evilgrade, y descargará la actualización falsa para instalarla. En el momento que auto-ejecute la supuesta “actualización”, obtendremos una “shell meterpreter” de la máquina víctima.

Configurando Metasploit


El siguiente paso es iniciar metasploit y poner a la escucha el puerto 6000 para recibir la shell meterpreter inversa de la máquina víctima, como bien habíamos especificado en los parámetros de msfvenom para la creación del malware “update.exe”.

Configurando escucha para recibir la sesión «reverse meterpreter» de la víctima.

Llegados a este punto, ya tenemos todo el escenario preparado para recibir la sesión meterpreter de la máquina víctima. Por último debemos lanzar el ataque de “DNS Spoofing” contra nuestro objetivo.

Fase de ejecución e intrusión en la máquina víctima


Con todo el escenario preparado, únicamente nos queda lanzar el ataque de “DNS Spoofing” contra la máquina que queremos infectar. Vamos a proceder a ello mediante el empleo de “Ettercap”, previa configuración como ya vimos en el post anterior de “Conociendo un ataque de DNS Spoofing + Phishing”.

7
Lanzamos ataque «DNS Spoofing».

Una vez realizado el ataque de “DNS Spoofing”, ya sólo queda esperar a que la víctima haga uso de “ccleaner” y el propio software intente actualizarse, o la misma víctima quiera descargarse una actualización desde *.piriform.com, *.ccleaner.com o *.ccleanercloud.com, que son las tres direcciones que hemos tenido que incluir en el archivo “etter.dns”, para que al ser visitadas sean redireccionadas al servidor atacante.

ccleaner.png
Actualizando «Ccleaner».

Una vez la víctima, o el propio software de manera automática, haya intentado buscar una actualización, ésta será “spoofeada” a nuestro servidor que “Evilgrade” ha creado para simular la correcta actualización de “ccleaner”, infectando así la máquina víctima. A continuación podemos ver cómo la máquina víctima es redirigida al servidor trampa de “Evilgrade” alojado en nuestra máquina atacante.

8
La víctima es redirigida al servidor atacante.

Una vez la víctima se conecta al servidor malicioso creado por “Evilgrade”, se instala el “Update” malicioso de “ccleaner”, y al auto-ejecutarse se abre el nuevo “ccleaner” como si la actualización hubiera sido un éxito. Mientras en segundo plano se ejecuta nuestro malware, devolviéndonos de esta manera la “reverse shell meterpreter” de la máquina víctima.

Obtención de la sesión meterpreter de la máquina víctima.

Aquí ya podemos ver cómo hemos conseguido una sesión “meterpreter” de la máquina víctima, y a continuación se muestra información básica de la misma a través del comando “sysinfo”.

11
Obtención de información de la máquina víctima.

No puedes copiar el contenido