Styx Exploit Kit instalando Simda

Ya echaba de menos esos correos de SPAM con regalo que me llegaban hace un tiempillo y que, de repente, ya no llegaban. Me estaba empezando a preocupar... ;)
 

Styx Spam email

 

Al visitar el enlace (hxxp://goozix.com/its.html) nos encontramos con una redirección a una página para comprar viagra y demás “medicinas”, pero que, además, contiene código Javascript malicioso. Tras desofuscar el código vemos que se crea una cookie (“visited_uq=55”) y también un iframe que carga la URL hxxp://gylaqim.com/exit.php. Este dominio, creado el 21 de septiembre, resuelve a diferentes direcciones IPs, con un histórico de más de 400 IPs distintas. Así mismo, los seis servidores DNS autorizados registrados, ns*.gylaqim.com, también resuelven a diferentes direcciones IP cada vez que se intentan resolver.

Dependiendo del servidor que responda al visitar la URL  hxxp://gylaqim.com/exit.php nos puede redirigir a otra página como la inicial, con código Javascript malicioso y redirección a una página de viagra, o al exploit kit.

Las URLs inciales vistas hasta el momento son las siguientes:

 

hxxp://178.170.104.124/destruction.html
hxxp://178.170.104.124/seed.html
hxxp://actes-lyon.org/true.html
hxxp://aybabtu.ru/express.html
hxxp://brave.net.nz/ocean.html
hxxp://goozix.com/its.html
hxxp://moniwild.sakura.ne.jp/average.html
hxxp://rodinr.511.com1.ru/angle.html
hxxp://southeasterntrains-fail.com/somewhere.html
hxxp://toys-store.net/dawn.html
hxxp://toys-store.net/low.html
hxxp://webhydro.com/copy.html

 
Las URLs que redirigen al exploit kit tienen el siguiente formato:
 

hxxp://www3.ad63gyomll2jo237-1.usa.cc/?war0he=mbblKWampZqWdPsrJqgkqbe22%2BWaGVmp5qpaJyYlIg%3D
hxxp://www3.ad63gyomll2jo237-1.usa.cc/?xsp2a4=njZlp5pmpZqWdPsrJqgkqbe22%2BWaGVmqKynapVnlIg%3D
hxxp://www3.ev2okgoe5o6.usa.cc/?9fq8=XdvanKKraGfjdvYcpxqX9rlpKLcY5%2BgmqjHbaZoa4o%3D
hxxp://www3.ev2okgoe5o6.usa.cc/?c37spa463=h6ig12WbWhni%2BKlrJibldmp23PJZGeoo5qWbmqXqFY%3D
hxxp://www3.x-8hlldq1w50.usa.cc/?nxemgrrrxh=ku3O0aSnqSsjuSgdZWgktjlnbSbYZ6tmKbJqqmkqow%3D
hxxp://www3.y-83m4wjpzlx6.usa.cc/?2ef0=VtrPlLZicWWhWuPdraegnqqm0aOWql1tZqaWrGirJA%3D

 
Una vez que se visitan estas últimas URLs se obtiene un nivel más de redirección, hacia un i.html:
 

hxxp://www1.l5yhg95szx7k42.usa.cc/i.html
hxxp://www1.o-6vuo7jzwff5fv.usa.cc/i.html
hxxp://www1.qejt8wkvxre5a98.usa.cc/i.html
hxxp://www1.xjfvtg6bagx8.usa.cc/i.html
hxxp://www1.yi4f59df9s509dmg7.usa.cc/i.html

 

En esta página nos encontramos con el código Javascript responsable de detectar los plugins instalados en el navegador web (PluginDetect), un iframe (“crezidf.html”) y más código Javascript para obtener el contenido del iframe y desofuscarlo. Con esta sencilla técnica se dificulta el análisis por parte de herramientas automáticas, ya que se depende del contenido del iframe para conseguir las páginas de los exploits.

 
 
Tras desofuscar el código tendríamos lo siguiente:
 
 
A simple vista se pueden ver tres páginas diferentes dependiendo de la versión de Java instalada:

En caso de que el plugin de Java no esté instalado en el navegador o de que no cuadre con las versiones indicadas, se redirige a la página “pdfx.html”. Si las anteriores URLs que hemos visto ya nos podían dar una idea de que el exploit kit podría ser Styx, al ver el nombre “pdfx.html” ya no queda ninguna duda, ya que se trata de algo característico de este exploit kit en concreto.

Si se visita “pdfx.html” nos encontramos, al igual que con “i.html”, un iframe (“mbahsldw.html”) más código Javascript para desofuscar el contenido del iframe. La segunda etapa del Javascript sería la siguiente:

 
 

Podemos ver que si estamos usando Internet Explorer y no estamos usando un sistema Windows de 64 bits se realizará una petición a “fnts.html” , que a su vez descargará “bXwOlglw.eot” (51f2ae12128ee8115f65e2657e6afddc), que intenta aprovecharse de la vulnerabilidad “TrueType Font Parsing” (CVE-2011-3402). Además, dependiendo de la versión de Adobe Reader usada, se descargará el archivo “KummvICu.pdf” (2a4e488c0ef620482ae93778249b4447), que intenta explotar la vulnerabilidad de parseo de imágenes TIFF (CVE-2010-0188). En caso de que la versión del lector de PDF no coincida se redirigirá al usuario a una última página “retn.html”, que en el momento del análisis no se encontraba disponible.

 

Styx exploits

 

Si alguno de los exploits tiene éxito se baja un binario de un tamaño considerable (1,1MB) y de nombre "scandsk.exe" (6ee26e3783a45aa22b8541b681bc5643) desde una URL parecida a la siguiente:

 

hxxp://www2.lmm3jn8un9e0t3.mohamed.me/?6ksgfcay=Ws7gy6PI2dMOxo5%2BfWd7hdaahcZtaeqpydpVnL0Jrnq4u5e5qjn8%2BwmozWhQ%3D%3D&h=11

  

Downloading Simda binary

 
Al ejecutarse parece que algo no funcionaba correctamente, ya que el proceso creado estaba consumiendo el 100% de la CPU:
 

Simda with 100% CPU usage

 

Echando un vistazo a la memoria del proceso con Olly se podía ver una sección sospechosa con permisos de ejecución, donde se podían encontrar diferentes binarios. Mirando el primero de ellos con IDA se podían ver gran cantidad de strings y también la causa de que el proceso estuviera consumiendo tanta CPU: un bucle infinito debido a la detección de ciertos procesos en ejecución.

 

Simda anti-analysis checks

 

Como se pude apreciar, se daba cierta puntuación cuando un proceso en ejecución coincidía con alguno de los nombres de procesos “hardcodeados” (+100), pero también cuando existía alguna de las claves de registro de la lista negra (+10). Si la puntuación final llegaba a los 30 “points” se iniciaba el bucle sin fin. Los procesos de la lista negra son los siguientes:

 

cv.exe
irise.exe
IrisSvc.exe
wireshark.exe
dumpcap.exe
ZxSniffer.exe
Aircrack-ngGui.exe
observer.exe
tcpdump.exe
WinDump.exe
wspass.exe
Regshot.exe
ollydbg.exe
PEBrowseDbg.exe
windbg.exe
DrvLoader.exe
SymRecv.exe
Syser.exe
apis32.exe
VBoxService.exe
VBoxTray.exe
SbieSvc.exe
SbieCtrl.exe
SandboxieRpcSs.exe
SandboxieDcomLaunch.exe
SUPERAntiSpyware.exe
ERUNT.exe
ERDNT.exe
EtherD.exe
Sniffer.exe
CamtasiaStudio.exe
CamRecorder.exe

 
Y las claves del registro:
 

Software\\CommView
SYSTEM\\CurrentControlSet\\Services\\IRIS5
Software\\eEye Digital Security
Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Wireshark
Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\wireshark.exe
Software\\ZxSniffer
Software\\Cygwin
Software\\Cygwin
Software\\B Labs\\Bopup ObserverAppEvents\\Schemes\\Apps\\Bopup Observer
Software\\B Labs\\Bopup Observer
Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Win Sniffer_is1
Software\\Win Sniffer
Software\\Classes\\PEBrowseDotNETProfiler.DotNETProfiler
Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MenuOrder\\Start Menu2\\Programs\\Debugging Tools for Windows (x86)
SYSTEM\\CurrentControlSet\\Services\\SDbgMsg
Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\MenuOrder\\Start Menu2\\Programs\\APIS32
Software\\Syser Soft
Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\APIS32
Software\\APIS32
Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Oracle VM VirtualBox Guest Additions
SYSTEM\\CurrentControlSet\\Services\\VBoxGuest
Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Sandboxie
SYSTEM\\CurrentControlSet\\Services\\SbieDrv
Software\\Classes\\Folder\\shell\\sandbox
Software\\Classes\\*\\shell\\sandbox
Software\\SUPERAntiSpyware.com
Software\\Classes\\SUPERAntiSpywareContextMenuExt.SASCon.1
Software\\SUPERAntiSpyware.com
Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\ERUNT_is1

 

En esta misma rutina anti-análisis también se comprobaba si el proceso estaba siendo “debuggeado”, si se estaba ejecutando Sandboxie y varias comprobaciones más. En caso de existir el archivo "c:\\cgvi5r6i\\vgdgfd.72g" y de que éste incluyera ciertos bytes entonces no era necesario pasar los demás controles. Con esta información ya se podía llegar a la conclusión de que el binario descargado era una versión de Simda.

Este binario, entre otras cosas, manda cierta información del sistema como el lenguaje, versión del sistema operativo, ProductID, etc. a sus paneles de control.

 

wv=%s&uid=%d&lng=%s&mid=%s&res=%s&v=%08X

 
Dependiendo del tipo de petición se incluirá esta información o no, dentro de los siguientes parámetros:
 

controller=hash&mid=
controller=sign&data=%s&mid=%s

 
A su vez, estos parámetros se codifican y se envían como contenido de un parámetro de dos caracteres:
 

"?%c%c=%s"

 
Ambas son peticiones HTTP GET, usan un hostname con el formato "update%s.%s.com" y usan el siguiente User-Agent:
 

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b8pre) Gecko/20101114 Firefox/4.0b8pre

 
Las IPs "hardcodeadas" a las que se enviaría esta información depende también del tipo de petición:
 

212.117.176.187 (hash)
79.133.196.94 (sign)
69.57.173.222 (sign)

 

Existe otro tipo de peticiones en las que se usan más de dos caracteres como nombre del parámetro. En este caso se utiliza también un hostname diferente (por ejemplo, report.93aaaaaa9ku7m3g793k.com) y el siguiente User-Agent:

 

Mozilla/4.0 (compatible; MSIE 8.0; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.590; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) 

 
Otros parámetros que se han visto en el código son los siguientes:
 

/?abbr=RTK&setupType=update&uid=%d&ttl=%s&controller=microinstaller&pid=3

 

Entre otras muchas cosas, este malware es capaz de modificar el archivo hosts para redirigir el tráfico de la máquina infectada, modificar el motor de búsqueda de Internet Explorer y Firefox a findgala.com, modificar el acceso directo “Mi PC” del escritorio, deshabilitar el User Account Control (UAC), etc, etc. Algunas publicaciones señalan que puede incluso actuar como malware bancario, aunque yo no he visto nada que pueda corroborarlo. Si queréis ampliar información sobre esta familia de malware podéis echar un vistazo a las siguientes referencias:

http://malwaremustdie.blogspot.nl/2013/02/hulk-and-malware-crusaders-vs-fakeav.html
https://pastebin.com/zZ9nKEVP
http://www.virusradar.com/Win32_Simda.B/description

 
Lista de dominios / IPs / Whois info