Por Michael Villanueva
Debido a que los criminales informáticos están comenzando a lanzar ataques sin dejar rastro, el malware que no utiliza archivos, como el reciente ransomware SOREBRECT, se convertirá en un método de ataque bastante común. Sin embargo, mucho de este malware no contiene archivos cuando entra al sistema de un usuario, y eventualmente revelará su presencia en el momento en que ejecute la infección. Los ataques que utilizan malware completamente sin archivos son un fenómeno raro, por lo que creemos que es importante hablar acerca de un nuevo troyano conocido como JS_POWMET (que Trend Micro detectó como JS_POWMET.DE), el cual llega a través de un procedimiento de autostart del registro de Windows .
Ya que los datos de nuestra Smart Protection Network (SPN) revelan un backdoor que se había detectado previamente y el cual se pensaba estaba relacionado con JS_POWMET que afecta principalmente a Asia Pacífico, con casi el 90% de las infecciones provenientes de esa región, se cree que el ataque sin archivos también está causando estragos ahí.
Detalles Técnicos
[image url=”http://blog.trendmicro.com/trendlabs-security-intelligence/files/2017/08/powmet1.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”15″ margin_bottom=”15″ width=”920″ height=”651″]
Figura 1: Diagrama de infección de JS_POWMET
Aunque el método exacto de cómo llega aún no está del todo claro, es probable que los usuarios descarguen el troyano cuando visitan sitios maliciosos, o cuando otro malware descarga un archivo. Lo que es evidente de este malware es que el siguiente registro se carga en el momento que entra al sistema.
[image url=”/wp-content/uploads/2017/08/Captura-de-pantalla-2017-08-16-a-las-12.10.52-p.m..png” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″ width=”596″ height=”93″]
JS_POWMET se descarga a través de una entrada del registro autostart (que se muestra arriba)
A continuación, las descripciones de los parámetros que “regsvr32” utiliza:
- /s = opción silenciosa para regsvr32
- /n = le dice a regsvr32 que no utilice DllRegisterServer
- /u = servidor/objeto no registrado
- /i = se utiliza para transmitir un parámetro opcional (por ejemplo, URL) a DLLinstall
- scrobj.dll = Script Component Runtime de Microsoft
En este método, regisvr32 recibe un URL como parámetro, lo que le permitirá buscar el archivo (XML con JavaScript malicioso) que se encuentra en el URL. Con esta rutina, regsvr32 podrá ejecutar scripts arbitrarios sin tener que guardar el archivo XML en la máquina/sistema. En particular, cuando la máquina afectada se inicia, descargará automáticamente el archivo malicioso del servidor de Comando y Control (C&C).
Una vez que se ejecuta JS_PWMET, descarga otro archivo conocido como TROJ_PSINJECT (al cual Trend Micro detectó como TROJ_PSINJECT.A). Éste es un script Powershell que corre bajo el proceso de Powershell. TROJ_PSINJECT se conectará al siguiente sitio web:
[image url=”/wp-content/uploads/2017/08/Captura-de-pantalla-2017-08-16-a-las-12.12.10-p.m..png” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″ width=”595″ height=”65″]
Esto le permite a TROJ_PSINJECT descargar un archivo normal llamado favicon, el cual se desencripta y se inyecta en su proceso usando ReflectivePELoader, el cual se utiliza para inyectar archivos EXE/DLL.
Para descifrar el código del malware utiliza las siguientes técnicas. En un principio, el malware contiene Base64 Strings que se decodificará y desencriptará usando la llave RC4 (que está programada dentro del código del malware). Las líneas desencriptadas resultantes formarán una línea comprimida con GZIP que el malware abre usando la rutina de descompresión de GZIP. Esto genera los códigos para la función ReflectivePELoader que se utilizarán para cargar el archivo desencriptado que se ha bajado.
También favicon se desencriptará usando la llave RC4 antes mencionada, generando así un archivo DLL malicioso conocido como BKDR_ANDROM (que Trend Micro detectó como BKDR_ANDROM.ETIN). Una vez más, en esta parte del proceso tampoco hay archivos; el archivo no se guardará en la máquina sino que se inyectará en el proceso powershell.exe. Todas estas rutinas serán ejecutadas por el malware usando comandos PowerShell.
[image url=”http://blog.trendmicro.com/trendlabs-security-intelligence/files/2017/08/powmet2.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”15″ margin_bottom=”15″ width=”624″ height=”334″]
Figura 2: El código TROJ_PSINJECT muestra el proceso de desofuscación
BKDR_ANDROM finalizará powershell.exe si se encuentra ejecutándose en el sistema. Además, también reúne los siguientes datos:
- El Número de Serie del Volumen de la Raíz
- La Versión del Sistema Operativo
- La Dirección IP Local
- Los Privilegios del Administrador
El malware agregará las entradas del registro al sistema con el fin de asegurarse de que siempre se ejecute durante el inicio. La entrada del registro autostart es capaz de decodificar el comando PowerShell que se programó con con Base64, el cual se utilizará para desencriptar los datos binarios cifrados (también encontrados en el registro, añadidos por el malware) que generarán los códigos maliciosos de BKDR_ANDROM. Después de este proceso, ejecutará los códigos maliciosos que se hayan desencriptado. Si bien en este caso el componente de malware final consiste de rutinas comunes de BKDR_ANDROM, también hay posibilidades de que los futuros autores de malware puedan usar otro malware como carga dañina.
Conclusión
Aunque JS_PWMET y el resto de los archivos que descarga no tienen un impacto importante, este malware demuestra los extremos a los que los cibercriminales llegarán para evitar la detección y el análisis. Asimismo, prueba que incluso los métodos de infección menos comunes que involucran al malware sin archivos continuarán evolucionando. Las empresas y los usuarios siempre deben ver más allá de los archivos de malware obvios y siempre buscar malware “imperceptible” que logra penetrar al sistema virtualmente inadvertido.
Uno de los métodos más efectivos para reducir los efectos del malware sin archivos sería limitar el acceso a la infraestructura crítica a través de sistemas basados en contenedores que separan los endpoints de las partes más importantes de la red. Para este malware específico, los profesionales de TI también pueden considerar la desactivación Powershell para ayudar a mitigar los efectos de JS_PWMET y sus diversas cargas dañinas.
Las Soluciones de Trend Micro
El malware que no utiliza archivos está diseñado para que a las soluciones de seguridad se les dificulte aún más detectarlo, por lo que las organizaciones tienen que implementar soluciones de múltiples capas que puedan ayudar en esa tarea. Las soluciones para endpoints de Trend Micro como Trend Micro™ Security, OfficeScan y Worry-Free Business Security incluyen el monitoreo de comportamientos para identificar este tipo de malware, lo que puede ayudar a las organizaciones a reconocer el comportamiento malicioso y bloquear el malware antes de que pueda actuar.
Con análisis adicional de Byron Gelera
Para este artículo se utilizaron los siguientes hashes:
- 7004b6c1829a745002feb7fbb0aad1a4d32c640a6c257dc8d0c39ce7b63b58cc (TROJ_PSINJECT.A)
- e27f417b96a33d8449f6cf00b8306160e2f1b845ca2c9666081166620651a3ae (JS_POWMET.DE)
- bff21cbf95da5f3149c67f2c0f2576a6de44fa9d0cb093259c9a5db919599940 (BKDR_ANDROM.ETIN)
Leave a Reply