Earth Freybug usa UNAPIMON para desconectar API críticas


Primer cc.bat para exploración

Cuando se activa la tarea programada, el archivo por lotes %System%\cc.bat previamente implementado se ejecuta en la máquina remota. Según la telemetría, este archivo por lotes lanza comandos para recopilar información del sistema. Los comandos ejecutados incluyen:

powershell.exe -comando “Get-NetAdapter | seleccione InterfaceGuid” arp -a ipconfig /all fsutil fsinfo unidades consulta usuario net administradores de grupo local información del sistema whoami netstat -anb -p tcp lista de tareas de inicio de red /v sesión de red compartir cuentas de red uso de red usuario de red vista de red vista de red/dominio hora de red \\127.0.0.1 administradores de grupo local de red/dominio wmic nic obtener “guid”

La información del sistema recopilada por estos comandos se recopila en un archivo de texto llamado %System%\res.txt.

Una vez que se completa esto, se configura otra tarea programada para ejecutar %Windows%\Installer\cc.bat en la máquina de destino e iniciar la puerta trasera.

Segundo secuestro de cc.bat para descarga de DLL

El segundo cc.bat se destaca por descargar una DLL maliciosa mediante un servicio que carga bibliotecas inexistentes. En este caso, el servicio es SessionEnv. Puede encontrar una explicación técnica detallada de cómo funciona esta técnica aquí. En esta técnica, este segundo cc.bat primero copia el %Windows%\Installer\hdr.bin previamente eliminado en %System%\TSMSISrv.DLL. A continuación, detenga el servicio SessionEnv, espere unos segundos y luego reinicie el servicio. Esto hace que el servicio cargue y ejecute el archivo %System%\TSMSISrv.DLL.

Dos acciones interesantes realizadas por TSMSISrv.DLL son soltar y cargar un archivo llamado Windows%\_{5 a 9 caracteres alfabéticos aleatorios}.dll, y también insertar el mismo archivo DLL que se eliminó. El objetivo es iniciar el proceso cmd.exe. . Según los datos de telemetría, descubrimos que esta instancia de cmd.exe se usó para ejecutar comandos desde otra máquina, lo que la convierte en una puerta trasera. Llamé a la DLL caída cargada tanto en el servicio como en cmd.exe UNAPIMON.

Introducción de UNAPIMON para la evasión de defensa.

Un aspecto interesante observado en este ataque es el uso de un malware único llamado UNAPIMON. Básicamente, UNAPIMON utiliza técnicas de evasión defensiva para evitar que se supervisen los procesos infantiles. Esto se explicará con más detalle en las siguientes secciones.

Análisis de malware

UNAPIMON en sí es simple. Malware DLL escrito en C++, desempaquetado, no ofuscado y sin cifrar excepto por una cadena.

En la función DllMain, primero verifique si la DLL está cargada o descargada. Si la DLL está cargada, cree un objeto de evento para la sincronización e inicie el hilo de enlace.

Como se muestra en la Figura 3, el hilo de enlace primero obtiene la dirección de la función CreateProcessW de kernel32.dll y la guarda para su uso posterior. CreateProcessW es una de las funciones API de Windows que puede utilizar para crear procesos. A continuación, instale el gancho usando Microsoft Detours. Microsoft Detours es un paquete de software de código abierto desarrollado por Microsoft para monitorear e instrumentar llamadas API en Windows.



Fuente: https://www.trendmicro.com/en_us/research/24/d/earth-freybug.html