Destripando Nuclear EK (I)

A menudo cuando se analiza el tráfico de red, podemos encontrarnos patrones pertenecientes a los ya conocidos Angler EK, Nuclear EK y Magnitude EK.

Normalmente vendidos en el mercado negro, un Exploit Kit (EK) es un conjunto de herramientas que automatiza la explotación de vulnerabilidades en el cliente, dirigidas a navegadores y plugins que un sitio web puede invocar como Adobe Flash Player, Microsoft Silverlight, Adobe Reader, Java, etc., para infectar equipos mientras se navega por Internet en lo que se llama drive-by download attacks.

Dichos patrones pueden ser detectados por reglas de snort como:

ET CURRENT_EVENTS Cushion Redirection
ET CURRENT_EVENTS Possible Nuclear EK Landing URI Struct T1
ET CURRENT_EVENTS Malvertising Redirection to Exploit Kit Aug 07 2014
ET CURRENT_EVENTS DRIVEBY Nuclear EK Landing May 23 2014

Después, analizando los logs de navegación para averiguar si el equipo ha sido infectado, podemos encontrar situaciones parecidas a esta:

(1) 1431XXXXXX.176   2212 X.X.X.X TCP_MISS/200 59981 GET http://oapsnschmelzsicherung.xxxxxxxx.com/xxxx_xxxxx_stubbornness_uprise/500125099916354311 - ROUNDROBIN_PARENT/ X.X.X.X text/html

(2) 1431XXXXXX.284    351 X.X.X.X TCP_MISS/200 40950 GET http://oapsnschmelzsicherung.xxxxxxxx.com/gUumBTs1ZmB5LXoesyPvFlZqU014qtKBap7VY3eJbtxXK81S - ROUNDROBIN_PARENT/ X.X.X.X application/x-shockwave-flash

(3) 1431XXXXXX.736   1569 X.X.X.X TCP_MISS/200 163950 GET http://oapsnschmelzsicherung.xxxxxxxx.com/Wb_gLKuEtf9-CCiAvIAtEVGnHsOrDIlvJjYBsAo-s2AJ8yv0 - ROUNDROBIN_PARENT/ X.X.X.X application/octet-stream

Como podemos observar, el navegador del usuario contacta con una web (1) que carga un objeto flash (2). Este objeto flash intenta explotar alguna vulnerabilidad de Adobe Flash Player y si lo consigue, descarga un fichero binario que resulta ser un bicho malo-malísimo (3) que es ejecutado, quedando el equipo infectado.

Pero, ¿siempre siguen este patrón? Últimamente, nos hemos encontrado en nuestro SOC el siguiente patrón perteneciente a Nuclear EK:

(1) 1431XXXXXX.948   2932 X.X.X.X TCP_MISS/200 745 GET http://6kfhhj1sfip7aht5erua5xi.xxxxxxxx.org/index.php? - ROUNDROBIN_PARENT/X.X.X.X text/html

(2) 1431XXXXXX.495   1495 X.X.X.X TCP_MISS/302 509 GET http://6kfhhj1sfip7aht5erua5xi.xxxxxxxx.org/watch.php? - ROUNDROBIN_PARENT/X.X.X.X text/html

(3) 1431XXXXXX.228    730 X.X.X.X TCP_MISS/200 7005 GET http://6kfhhj1sfip7aht5erua5xi.xxxxxxxx.org/SE4AHwUeBFxWC1oIA0RWCkJVU19EVlcQR1YFG1tMVVZXBFcMU0IdEFcQRF5DChwNQFA.html - ROUNDROBIN_PARENT/X.X.X.X text/html

(4) 1431XXXXXX.140    856 X.X.X.X TCP_MISS/200 19268 GET http://6kfhhj1sfip7aht5erua5xi.xxxxxxxx.org/V09AH0gbAksHHwYeBFxWC1oIA0RWCkJVU19EVlcQR1YFG1tMVVZXBFcMU0IdEFcQRF5DChwNQFBMUQNQHAMJTQNUBhkCU05TBgQBUwVUAgQDH1QOAQ - ROUNDROBIN_PARENT/X.X.X.X application/octet-stream

(5) 1431XXXXXX.833    985 X.X.X.X TCP_MISS/200 25634 GET http://6kfhhj1sfip7aht5erua5xi.xxxxxxxx.org/V09BYHT6dy87JNDTYGE5KIdehJHS98bHUJ5wcrNQFBMU5aQNQH2Tase44FJUSGDJFGfhO45MAHdfRAIROAMJsTNUBhkCU05TBgSHY1Ahg3JFYE7HCT - ROUNDROBIN_PARENT/X.X.X.X application/octet-stream

Observamos unos contactos con páginas html (1)(2)(3) y descarga de un par de ficheros binarios (4)(5), pero no encontramos el objeto utilizado para explotar alguna vulnerabilidad que infecte el equipo. ¿Cómo lo han hecho? ¿Acaso el usuario ha descargado conscientemente el ejecutable? O… ¿el objeto no está identificado correctamente por el proxy?

Para poder estudiarlo detenidamente, se ha buscado un ejemplo similar a este caso en malware-traffic-analysis.net donde podemos descargar un fichero PCAP para el análisis; ejemplo #1.

Al abrir el fichero PCAP con Wireshark, podemos filtrar por http y comprobar que el patrón es similar al detectado por nosotros:

(1)
-> GET http://on2wyqlx7ny7x9plbfu6vg7.filmizlemefullhd.org/index.php?p=enhwZmJhPWFpeWhvcGsmdGltZT0xNTAyMTExNjM4MzYyNzYyODQ1NCZzcmM9MTc3JnN1cmw9d3d3LnByaW1laGVhbHRoY2hhbm5lbC5jb20mc3BvcnQ9ODAma2V5PTU5QUU1QzE3JnN1cmk9Lw==
<- HTTP/1.1 200 OK

(2)
-> GET http://zvqumcs1tsfct4sjvzot3p9.filmtane.com/watch.php?kcppp=MTE3NzU5ODg2Nzk3NjRlY2M0MmJiNDk3M2NmZGVkM2Fl
<- HTTP/1.1 302 Found, Location: http://zvqumcs1tsfct4sjvzot3p9.filmtane.com/BQdXBkRUTQg.html

(3)
-> GET http://zvqumcs1tsfct4sjvzot3p9.filmtane.com/BQdXBkRUTQg.html
<- HTTP/1.1 200 OK

(4)
-> GET http://zvqumcs1tsfct4sjvzot3p9.filmtane.com/Bk8RH15VB1xLUk5SS1BXClYHDgVUBlNLV1UWVAkOGVQBTQZQVkQDXQs
<- HTTP/1.1 200 OK

(5)
-> GET http://zvqumcs1tsfct4sjvzot3p9.filmtane.com/BV4NBkQDAQ9SHwMfBh1SDFcCDwBRBVcHHVUOSwABAE0FUBlQUg0ZBkVnFHwARhgzRFc
<- HTTP/1.1 200 OK

Ahora podemos analizar el código HTML de cada página para entender su funcionamiento extrayéndolas con Wireshark desde File / Export Objects / HTTP.

En el próximo post, analizaremos estos ficheros.

¡Saludos!

Ver también en: