Portada del artículo sobre el troyano ChimeraWire que simula ser un humano
ChimeraWire en acción: un malware que opera en las sombras para simular la interacción de un usuario real

Análisis del Troyano ChimeraWire: Cómo simula ser un humano

Analistas de “Doctor Web” han descubierto un troyano inusual, el troyano ChimeraWire (Trojan.ChimeraWire), capaz de imitar el comportamiento de un usuario en el navegador y aumentar artificialmente la popularidad de sitios web. El malware está dirigido a máquinas que operan bajo el sistema operativo Windows y se basa en los proyectos de código abierto zlsgo y Rod para la gestión automatizada de sitios y aplicaciones web.

El troyano ChimeraWire es un malware para Windows diseñado para simular comportamiento humano en navegadores. Su objetivo es aumentar artificialmente la popularidad de sitios web engañando a los motores de búsqueda. Para ello, utiliza técnicas avanzadas de evasión y una compleja cadena de infección que incluye el abuso de DLL Search Order Hijacking.

Diagrama de la cadena de infección del troyano ChimeraWire
Visualización de las dos cadenas de infección utilizadas por ChimeraWire para comprometer sistemas Windows

El malware busca los recursos necesarios a través de Google y Bing, los abre, hace clic en enlaces y realiza todas estas acciones de manera que los motores de búsqueda interpreten esta actividad como la de un ser humano real. El troyano ejecuta todas sus acciones maliciosas a través del navegador Google Chrome, el cual descarga desde un recurso específico e inicia en modo de depuración oculto mediante el protocolo WebSocket. En nuestro análisis de malware, esta capacidad de mimetismo es uno de los aspectos más sofisticados que hemos observado.

Análisis de la Cadena de Infección de ChimeraWire

ChimeraWire llega a los ordenadores de las víctimas a través de una cadena de cargadores (loaders) que explotan vulnerabilidades del tipo DLL Search Order Hijacking y emplean técnicas anti-depuración para evitar ser detectado. Los investigadores han rastreado al menos dos esquemas de infección: en uno de ellos, un script malicioso Python.Downloader.208 ocupa un lugar central, mientras que en el otro lo hace el malware Trojan.DownLoader48.61444, cuyo principio de funcionamiento es similar a Python.Downloader.208 y que, de hecho, constituye una alternativa a este.

Cadena 1: Infección vía Python.Downloader.208

La primera cadena de infección comienza con el troyano Trojan.DownLoader48.54600. Este verifica si se está ejecutando en una máquina virtual o un depurador y, si el entorno es seguro, descarga un archivo comprimido llamado python3.zip desde el servidor de mando y control (C&C). En su interior se encuentran un script de Python (Python.Downloader.208) y una biblioteca maliciosa, ISCSIEXE.dll (Trojan.Starter.8377). El script se descomprime y se ejecuta.

A continuación, el script de Python determina si posee derechos de administrador. Si no los tiene, intenta obtenerlos. Para ello, copia Trojan.Starter.8377 en %LOCALAPPDATA%\Microsoft\WindowsApps y crea un script VBS llamado runs.vbs.

Luego, ejecuta la aplicación del sistema %SystemRoot%\SysWOW64\iscsicpl.exe, que, debido a la vulnerabilidad DLL Search Order Hijacking, carga automáticamente la biblioteca maliciosa ISCSIEXE.dll. Esta técnica es un vector de ataque persistente en sistemas Windows, como detallamos en nuestra guía sobre DLL Hijacking para eludir el UAC. Esta, a su vez, ejecuta runs.vbs, que vuelve a ejecutar el script de Python con los derechos necesarios.

Una vez iniciado con los privilegios requeridos, el script descarga desde el servidor C&C un archivo comprimido protegido por contraseña, onedrive.zip, que contiene la biblioteca maliciosa UpdateRingSettings.dll (Trojan.DownLoader48.54318) y la aplicación legítima OneDrivePatcher.exe con una firma digital válida. El script de Python crea una tarea en el Programador de Tareas para iniciar OneDrivePatcher.exe automáticamente al arranque del sistema y lo ejecuta de inmediato. Gracias a la técnica de DLL Search Order Hijacking, la aplicación carga la biblioteca maliciosa UpdateRingSettings.dll, que se hace pasar por un componente de OneDrive.

Posteriormente, Trojan.DownLoader48.54318 vuelve a verificar el entorno en busca de indicios de una máquina virtual o un depurador. Si el entorno es seguro, descarga la carga útil (payload) y las claves de descifrado desde el servidor C&C. Tras el descifrado, se encuentra un contenedor ZLIB con un shellcode y un archivo ejecutable, que constituye la fase final: el troyano ChimeraWire.

Cadena 2: Infección vía Trojan.DownLoader48.61444

En el segundo caso, la infección comienza con Trojan.DownLoader48.61444. Al ejecutarse, comprueba si tiene derechos de administrador y, en caso negativo, utiliza la técnica Masquerade PEB para hacerse pasar por el proceso explorer.exe. A continuación, el malware parchea una copia de la biblioteca del sistema %SystemRoot%\System32\ATL.dll, añadiéndole un bytecode descifrado y la ruta a su propio archivo, para luego guardar la versión modificada.

Después, el troyano inicializa objetos del modelo COM para el servicio %SystemRoot%\System32\wbem y la biblioteca modificada. Si la inicialización tiene éxito, el malware intenta obtener derechos de administrador a través de la interfaz COM CMSTPLUA, explotando una vulnerabilidad en interfaces COM antiguas.

Si lo logra, la biblioteca modificada se copia en %SystemRoot%\System32\wbem como ATL.dll. A continuación, el troyano ejecuta el complemento del sistema WmiMgmt.msc. Se explota una vulnerabilidad de DLL Search Order Hijacking en la aplicación mmc.exe, que carga automáticamente la biblioteca parcheada. Como resultado, Trojan.DownLoader48.61444 se ejecuta de nuevo, pero esta vez con derechos de administrador.

Una vez obtenidos los privilegios necesarios, el troyano ejecuta scripts de PowerShell para descargar la carga útil desde el servidor C&C. Uno de los objetos descargados es un archivo ZIP (one.zip) con el programa legítimo OneDrivePatcher.exe y la biblioteca maliciosa UpdateRingSettings.dll (Trojan.DownLoader48.54318).

El proceso continúa como en la primera cadena: el troyano descomprime el archivo, crea una tarea en el Programador de Tareas para el inicio automático de OneDrivePatcher.exe y lo ejecuta. Se produce la explotación de DLL Search Order Hijacking y la carga automática de la biblioteca maliciosa.

Además, Trojan.DownLoader48.61444 descarga un segundo archivo (two.zip) con el script de Python Python.Downloader.208 (update.py) y los archivos necesarios para su ejecución, incluido un intérprete de Python renombrado como Guardian.exe. El malware crea una tarea en el Programador de Tareas para el inicio automático de Guardian.exe y ejecuta inmediatamente el script malicioso a través de él.

Funcionamiento Interno del Troyano ChimeraWire

Al llegar al ordenador de la víctima, ChimeraWire descarga desde un sitio de los atacantes el archivo chrome-win.zip con el navegador Chrome para Windows. Este recurso también almacena compilaciones de Chrome para diferentes sistemas, incluyendo Linux y macOS para diversas plataformas de hardware.

Tras descargar el navegador, el troyano intenta instalar discretamente las extensiones NopeCHA y Buster para el reconocimiento automatizado de CAPTCHAs. A continuación, inicia Chrome en modo de depuración (sin una ventana visible para el usuario), lo que le permite realizar su actividad maliciosa sin llamar la atención. Después, se conecta a un puerto de depuración seleccionado automáticamente a través de WebSocket.

Posteriormente, el malware procede a obtener sus tareas. Envía una solicitud al servidor de los atacantes y recibe como respuesta una cadena en base64 que oculta una configuración cifrada con AES-GCM en formato JSON. Esta configuración contiene las tareas y sus parámetros asociados: el motor de búsqueda objetivo (compatible con Google y Bing), frases clave para buscar sitios y posteriormente abrirlos, el número máximo de transiciones consecutivas entre páginas web, distribuciones aleatorias para la ejecución de clics automáticos, tiempos de espera para la carga de páginas y los dominios objetivo.

Fragmento del código JSON de configuración del troyano ChimeraWire
Ejemplo de las instrucciones que el troyano ChimeraWire recibe de su servidor C2 para simular búsquedas y clics.

Para simular comportamiento humano real y evadir sistemas que monitorizan la actividad constante, la configuración también incluye parámetros que definen pausas entre sesiones.

Los investigadores señalan que ChimeraWire puede ejecutar clics de dos tipos: para navegar por los resultados de búsqueda y para abrir los enlaces relevantes encontrados en nuevas pestañas en segundo plano.

Primero, el troyano utiliza el motor de búsqueda especificado para buscar sitios por dominios y frases clave indicados en la configuración. Luego, abre los sitios encontrados en los resultados y localiza todos los elementos HTML que definen hipervínculos. El troyano los coloca en un array de datos y los mezcla para que los objetos se dispongan en una secuencia diferente a la de la página web. Esto se hace para eludir las protecciones anti-bot que pueden rastrear el orden de los clics.

Después, ChimeraWire verifica si los enlaces encontrados están activos y si las cadenas de texto en ellos coinciden con un patrón predefinido en la configuración, para luego contar el número total de coincidencias. Las acciones posteriores dependen del número obtenido.

Si se detecta un número suficiente de enlaces adecuados en la página, ChimeraWire escanea la página y ordena los enlaces encontrados por relevancia (los más acordes a las palabras clave aparecen primero). A continuación, realiza un clic en uno o varios de los enlaces apropiados.

Si las coincidencias con el patrón dado son insuficientes o nulas, el malware utiliza un algoritmo con un modelo de comportamiento probabilístico que simula al máximo las acciones humanas. Basándose en los parámetros de configuración y mediante una distribución aleatoria ponderada, ChimeraWire determina el número de enlaces en los que debe hacer clic. Por ejemplo, la distribución ["1:90", "2:10"] significa que el troyano hará clic en un enlace con una probabilidad del 90 % y en dos enlaces con una probabilidad del 10 %. De esta manera, es muy probable que el malware haga clic en un solo enlace. El troyano selecciona aleatoriamente un enlace del array previamente compilado y realiza el clic.

Después de cada transición desde los resultados de búsqueda y de realizar los clics, el troyano, dependiendo de la tarea, regresa a la pestaña anterior o pasa a la siguiente. El algoritmo se repite hasta que se agota el límite de clics para los sitios objetivo.

Ejemplos de sitios web objetivo del troyano ChimeraWire
Muestra de los dominios objetivo recibidos desde el servidor C2, utilizados por ChimeraWire para simular la interacción humana

Los analistas concluyen que, en la actualidad, la actividad de ChimeraWire se limita a realizar tareas simples de un clicker para inflar artificialmente el tráfico de sitios web. Sin embargo, la funcionalidad subyacente de este malware para Windows le permite abordar un espectro más amplio de tareas, incluyendo la ejecución de acciones automatizadas diseñadas para simular comportamiento humano.

Por ejemplo, con ChimeraWire, los atacantes podrían rellenar formularios web (por ejemplo, en sitios que realizan encuestas con fines publicitarios). Además, podrían utilizar el malware para leer el contenido de páginas web y crear capturas de pantalla, tanto con fines de ciberespionaje como para la recolección automatizada de información para poblar diversas bases de datos (por ejemplo, con direcciones de correo electrónico, números de teléfono, etc.), según el informe original de Dr. Web.

Los investigadores advierten que en el futuro podrían aparecer nuevas versiones de ChimeraWire en las que estas u otras funciones similares se implementen por completo. Será crucial monitorizar su evolución para entender las diferencias con otros tipos de malware, virus o gusanos.

🤞 ¡El Gran Hermano te vigila, pero sabemos cómo detenerlo!

¡No enviamos spam! Lee nuestra Política de Privacidad para más información.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda