BADIIS hasta el hueso: Nuevas perspectivas para una campaña global de envenenamiento SEO

En noviembre de 2025, Elastic Security Labs observó una intrusión que afectaba a una organización multinacional con sede en el sudeste asiático. Durante el análisis de esta actividad, nuestro equipo observó diversas técnicas y herramientas post-compromiso empleadas para desplegar malware BADIIS en un servidor sitio web Windows, consistente con otras publicaciones del sector.

10 min de lecturaAnálisis de malware
BADIIS hasta el hueso: Nuevas perspectivas para una campaña global de envenenamiento SEO

Introducción

En noviembre de 2025, Elastic Security Labs observó una intrusión que afectaba a una organización multinacional con sede en el sudeste asiático. Durante el análisis de esta actividad, nuestro equipo observó diversas técnicas y herramientas post-compromiso empleadas para desplegar malware BADIIS en un servidor sitio web Windows. Estas observaciones coinciden con los reportes previos de Cisco Talos y Trend Micro del año pasado.

Este grupo de amenaza acumuló más víctimas y está coordinando una operación a gran escala de envenenamiento SEO desde países de todo el mundo. Nuestra visibilidad sobre la campaña indica una infraestructura compleja y geosegmentada diseñada para monetizar servidores comprometidos redirigiendo a los usuarios a una amplia red de sitios web ilícitos como plataformas de juego online y esquemas de criptomonedas.

Conclusiones clave

  • Elastic Security Labs observa campañas de envenenamiento SEO a gran escala dirigidas a servidores IIS con malware BADIIS a nivel global, afectando a más de 1.800 servidores Windows
  • Los servidores comprometidos se monetizan a través de una red de infraestructuras que emplean para dirigir a los usuarios con anuncios de apuestas y otros sitios web ilícitos
  • La infraestructura de víctimas incluye gobiernos, diversas organizaciones corporativas e instituciones educativas de Australia, Bangladés, Brasil, China, India, Japón, Corea, Lituania, Nepal y Vietnam
  • Esta actividad corresponde con el grupo de amenaza, UAT-8099, identificado por Cisco Talos el pasado octubre, y es coherente con reportes previos de Trend Micro

Descripción general de la campaña

REF4033 es un grupo de ciberdelincuencia de habla china responsable de una masiva y coordinada campaña de envenenamiento SEO que comprometió más de 1.800 servidores sitio web de Windows en todo el mundo empleando un módulo IIS malicioso llamado BADIIS.

La campaña se desarrolla a través de un proceso en dos fases:

  • Primero, sirve HTML lleno de palabras clave a los rastreadores de motores de búsqueda para envenenar los resultados de búsqueda, y
  • A continuación, redirige a las víctimas a una extensa "economía de vicio" de plataformas de juego ilícitas, pornografía y sofisticados sitios de phishing de criptomonedas, como un clon fraudulento del exchange Upbit.

Al desplegar el malware BADIS, un módulo IIS malicioso que se integra directamente en la cadena de procesamiento de solicitudes de un servidor sitio web, el grupo secuestra los servidores sitio web para obtener dominios legítimos gubernamentales, educativos y corporativos. Esta infraestructura de alta reputación se emplea para manipular el posicionamiento en los motores de búsqueda, permitiendo así a los atacantes interceptar el tráfico sitio web y facilitar fraudes financieros generalizados.

Actividad de intrusión

En noviembre de 2025, Elastic Security Labs observó actividad post-compromiso de un servidor Windows IIS procedente de un vector de ataque desconocido. Este actor de amenaza se movió rápidamente, pasando del acceso inicial al despliegue del módulo IIS en menos de 17 minutos. La enumeración inicial se realizaba mediante un webshell que se ejecutaba bajo el proceso worker IIS (w3wp.exe). El atacante realizó el descubrimiento inicial y luego creó una nueva cuenta de usuario.

Poco después de que la cuenta fuera creada y agregada al grupo de Administradores, Elastic Defend generó varias alertas relacionadas con un servicio Windows recién creado, WalletServiceInfo. El servicio cargaba una ServiceDLL sin signo (C:\ProgramData\Microsoft\Windows\Ringtones\CbsMsgApi.dll) y posteriormente ejecutaba llamadas sysal directas desde el módulo.

Después, vimos cómo el actor amenazante reforzaba su acceso usando un programa llamado D-Shield Firewall. Este software proporciona funciones de seguridad adicionales para los servidores IIS, incluyendo protecciones preventivas y capacidades para agregar restricciones de red. Para continuar con la investigación, empleamos el imphash observado (1e4b23eee1b96b0cc705da1e7fb9e2f3) del cargador (C:\ProgramData\Microsoft\Windows\Ringtones\CbsMsgApi.exe) para obtener una muestra del cargador de VirusTotal para nuestro análisis.

Para recopilar una muestra de la DLL maliciosa empleada por este cargador, realizamos una búsqueda en VirusTotal sobre el nombre (CbsMsgApi.dll). Encontramos 7 muestras enviadas con el mismo nombre de archivo. El grupo detrás de esto parece estar empleando una base de código similar desde septiembre de 2024. La mayoría de estas muestras emplean VMProtect, un marco comercial de ofuscación de código, para dificultar el análisis estático y dinámico. Afortunadamente, empleamos una muestra antigua y no protegida para obtener información adicional sobre esta cadena de ataques.

Análisis de código - CbsMsgApi.exe

El grupo emplea un flujo de trabajo de ataque que requiere varios archivos preparados por el atacante para desplegar el módulo IIS malicioso. La cadena de ejecución comienza con el ejecutable PE, CbsMsgApi.exe. Este archivo contiene cadenas simplificadas chinas, incluyendo la cadena PDB (C:\Users\Administrator\Desktop\替换配置文件\w3wpservice-svchost\x64\Release\CbsMsgApi.pdb).

Tras el lanzamiento, este programa crea un servicio de Windows, WalletServiceinfo, que configura una ServiceDLL (CbsMsgApi.dll) que se ejecuta bajo svchost.exe, similar a esta técnica de persistencia.

Este servicio recién creado se centra en el sigilo y la anti-manipulación modificando el descriptor de seguridad del servicio con la siguiente línea de comandos:

sc sdset "WalletServiceInfo" "D:(D;;DCLCWPDTSD;;;IU)(D;;DCLCWPDTSD;;;SU)(D;;DCLCWPDTSD;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"

Análisis de código - CbsMsgApi.dll

El componente principal de esta secuencia de ataques es el ServiceDLL (CbsMsgApi.dll). La DLL maliciosa prepara los módulos nativos BADIIS IIS y modifica la configuración del IIS para cargarlos en la tubería de solicitudes del DefaultAppPool.

Durante este ataque, el actor de amenazas monta tres archivos que aparecen dentro de la carpeta System32\drivers :

  • C:\Windows\System32\drivers\WUDFPfprot.sys
  • C:\Windows\System32\drivers\WppRecorderpo.sys
  • C:\Windows\System32\drivers\WppRecorderrt.sys

Dos de estos archivos (WppRecorderrt.sys, WppRecorderpo.sys) representan los módulos maliciosos BADIIS de 32 bits / 64 bits. El otro archivo (WUDFPfprot.sys) representa elementos de configuración que se inyectarán en la configuración existente del IIS. A continuación se muestra un ejemplo de configuración empleada durante nuestro análisis. Cabe destacar el nombre del módulo WsmRes64 (más información sobre esta DLL se detalla en la sección de Análisis de Módulos IIS (WsmRes32.dll / WsmRes64.dll) más abajo):

<globalModules>
    	<add name="WsmRes64" image="C:\Windows\Microsoft.NET\Framework\WsmRes64.dll" preCondition="bitness64" />
</globalModules>
<modules>
    <add name="WsmRes64" preCondition="bitness64" />
</modules>

El malware emplea la función CopyFileA para mover el contenido de los archivos enmascarados al directorio .NET (C:\Windows\Microsoft.NET\Framework).

A continuación, el malware analiza el archivo DefaultAppPool.config , examinando cada nodo para actualizar los nodos <globalModules> y <modules> . El módulo inyectará contenido de configuración del archivo previamente enmascarado (WUDFPfprot.sys), actualizando la configuración del IIS mediante un serial de operaciones de anexión.

A continuación se muestra un ejemplo de la entrada global del módulo recién agregada que hace referencia al DLL de BADIS.

Tras la ejecución exitosa, el módulo BADIIS se instala en el servidor IIS y se vuelve visible como un módulo cargado en el proceso de trabajo w3wp.exe .

Análisis de módulos IIS (WsmRes32.dll / WsmRes64.dll)

La siguiente sección describirá la funcionalidad de los módulos BADIIS. Estos módulos facilitan la inyección condicional o redirección de contenido SEO malicioso basar en criterios como el valor de encabezado User-Agent o Referer. Esta técnica garantiza que el contenido malicioso permanezca oculto durante el uso normal, permitiendo así que los módulos permanezcan indetectables el mayor tiempo posible.

Al inicializar, el módulo descarga contenido de URLs definidas en su configuración. Estas URLs se almacenan en un formato cifrado y se descifran usando el SM4 algorithm (un cifrado por bloques estándar chino) en modo ECB con la clave "1111111122222222”. En muestras más antiguas, se empleó el algoritmo AES-128 ECB en su lugar.

Cada URL en la configuración apunta a un archivo de .txt estático que contiene un recurso de segunda etapa. La siguiente lista detalla estos archivos fuente y sus funciones específicas:

URL de configuración de ejemploNombre del archivoDescripción del contenido
hxxp://kr.gotz003[.]com/krfml/krfmlip.txt*fmlip.txtContiene una URL que apunta a un archivo CSS falso, google.css, que lista subredes usadas para filtrar solicitudes.
hxxp://kr.gotz003[.]com/krfml/krfmltz.txt*fmltz.txtContiene un enlace a la URL de destino empleada para las redirecciones de usuario.
hxxp://kr.gotz003[.]com/krfml/krfmllj.txt*fmllj.txtContiene un enlace a los enlaces maliciosos de SEO destinados a la inyección.
hxxp://kr.gotz003[.]com/krfml/krfmldz.txt*fmldz.txtContiene el enlace al generador de contenido SEO.

Estas URLs apuntan a archivos específicos de la región, precedidos por el código de país correspondiente. Aunque los ejemplos anteriores se centran en Corea (hxxp://kr.domain.com), existen archivos equivalentes para otras regiones, como Vietnam (VN), donde los nombres de archivo se introducen con "vn" en lugar de "kr"(hxxp://vn.domain.com).

El módulo BADIIS se registra dentro de la tubería de procesamiento de solicitudes, posicionar tanto como el primer como el último gestor. Para cada solicitud, el módulo verifica propiedades específicas y selecciona una estrategia de inyección o redirección basada en los resultados. Tenemos tres tipos de inyección:

FuenteMétodo de inyecciónDescripción
*fmltz.txtReemplazo de página completaCargador HTML con barra de progreso + redirección automática + seguimiento de Google Analytics
*fmldz.txtReemplazo de página completaEnlace directo a contenido SEO, construido con index.php?domain=<host>&uri=<original_link>
*fmllj.txtInyección en líneaBacklinks SEO inyectados luego de <body> o <html> etiqueta en la respuesta existente

Para distinguir entre tráfico de bots y humano, el módulo se compara con la siguiente lista de Referentes y Agentes de Usuario.

Revisores: bing, google, naver, daum
Agentes de usuario: bingbot, Googlebot, Yeti, Daum

La estrategia de inyección por defecto se dirige a los rastreadores de motores de búsqueda que acceden a una página legítima en el sitio comprometido.

En este escenario, los backlinks SEO se recuperan del enlace secundario e inyectan en la página para ser rastreados por bots de motores de búsqueda. Los backlinks descargados que se inyectan en la página infectada se dirigen principalmente a otras páginas locales dentro del dominio, mientras que el resto apunta a páginas de otros dominios infectados. Este es un aspecto clave de la estrategia de farmeo de enlaces, que consiste en crear grandes redes de sitios que se enlazan entre sí y manipulan el posicionamiento en los resultados.

Las páginas locales enlazadas por los backlinks no existen en el dominio infectado, por lo que visitarlas resulta en un error 404 . Sin embargo, cuando la solicitud es interceptada, el malware cumple dos condiciones: si el código de estado no es 200 o 3xx, y si el User-Agent del navegador coincide con un bot rastreador. Si es así, descarga contenido de una página SEO alojada en su infraestructura (a través de un enlace en el archivo *fmldz.txt desde su URL de configuración) y devuelve un código de respuesta 200 al bot. Esta URL objetivo se construye empleando los parámetros 'domain' y 'uri' que contienen el nombre de dominio infectado y el recurso al que el crawler intentó acceder originalmente.

Finalmente, si un usuario aplicar una página que no existe y llega con un valor de cabecera Referer listado por el malware, la página es reemplazada por un tercer tipo de contenido: una landing page con una barra de carga. Esta página emplea JavaScript para redirigir al usuario al enlace contenido en el archivo *fmltz.txt , que se obtiene a través de su enlace de configuración.

Opcionalmente, si está habilitada, la solicitud se ejecuta solo cuando el User-Agent coincide con un teléfono móvil, cerciorando que el servidor se dirija exclusivamente a usuarios móviles.

La lista de User-Agents móviles se muestra a continuación:

Dispositivos: iPhone, iPad, iPod, iOS, Android, uc (UC Browser), BlackBerry, HUAWEI

Si la opción está activada y la dirección IP del servidor infectado coincide con la lista de subredes en el archivo google.css descargado del archivo *fmlip.txt , el servidor sirve el contenido SEO estándar en lugar de la página de aterrizaje/redirección.

La página de aterrizaje incluye código JavaScript que contiene una etiqueta de analítica—ya sea Google Analytics o Baidu Tongji, dependiendo de la región objetivo—para monitorizar las redirecciones. Aunque la razón exacta para usar el filtrado de IP de servidores para restringir el tráfico sigue sin estar clara, especulamos que está vinculado a estas analíticas y se implementa con fines de SEO.

Identificamos las siguientes etiquetas de Google a lo largo de la campaña:

  • G-2FK43E86ZM
  • G-R0KHSLRZ7N

Así como una etiqueta Baidu Tongji:

  • B59ff1638e92ab1127b7bc76c7922245

Análisis de campaña

Basándonos en la similitud en los patrones de URL (<country_code>fml__.txt, <country_code>fml/index.php), descubrimos una campaña antigua que data de mediados de 2023 y que empleaba los siguientes dominios como servidor de configuración.

  • tz123[.]app
  • tz789[.]app

tz123[.]app fue revelado en un resumen de campaña de Trend Micro BADIIS, la lista IOC, publicado en 2024 . Según las primeras fechas de envío en VT para muestras denominadas ul_cache.dll y que se comunican con hxxp://tz789[.]app/brfmljs[.]txt, algunas también se envían bajo el nombre de archivo WsmRes64.dll. Esta convención de nombres es coherente con el componente cargador BADIIS analizado en la sección anterior. La muestra más antigua que descubrimos en VT se envió por primera vez el 12-12-2023.

Por REF4033, la infraestructura se divide entre dos servidores de configuración principales.

  • Campañas recientes (gotz003[.]com): Actualmente sirve como el principal centro de configuración. Un análisis adicional identificó 5 subdominios activos categorizados por códigos de país:
    • kr.gotz003[.]com (Corea del Sur)
    • vn.gotz003[.]com (Vietnam)
    • cn.gotz003[.]com (China)
    • cnse.gotz003[.]com (China)
    • bd.gotz003[.]com (Bangladesh)
  • Infraestructura heredada (jbtz003[.]com): Usada en iteraciones antiguas de campañas, aunque varios subdominios siguen operativos:
  • br.jbtz003[.]com (Brasil)
  • vn.jbtz003[.]com (Vietnam)
  • vnbtc.jbtz003[.]com (Vietnam)
  • in.jbtz003[.]com (India)
  • cn.jbtz003[.]com (China)
  • jp.jbtz003[.]com (Japón)
  • pk.jbtz003[.]com (Pakistán)

En esencia, la campaña reciente monetiza servidores comprometidos redirigiendo a los usuarios a una vasta red de sitios web ilícitos. La campaña está fuertemente invertida en la economía del vicio, dirigida a audiencias asiáticas, como casinos online no regulados, streaming de pornografía y anuncios explícitos de servicios de prostitución.

También supone una amenaza financiera directa. Un ejemplo fue una plataforma fraudulenta de staking de criptomonedas alojada en uupbit[.]top, que se hacía pasar por Upbit, el mayor exchange de criptomonedas de Corea del Sur.

La lógica de segmentación de la campaña refleja en gran medida la geografía de la infraestructura comprometida, estableciendo una correlación entre la ubicación del servidor y el objetivo de redirección del usuario. Por ejemplo, los servidores comprometidos en China canalizan el tráfico a sitios de juego locales, mientras que los de Corea del Sur redirigen al fraudulento sitio de phishing Upbit. La excepción a este patrón fue una infraestructura comprometida en Bangladés, que los actores configuraron para redirigir HTTP para que apuntaran a sitios de juego vietnamitas no locales.

Observamos varias páginas de redirección cargando a lo largo de los clústeres. A continuación se muestra un ejemplo de la plantilla de redirección de usuario para una muestra dirigida a la infraestructura de víctimas de VN. Esta plantilla emplea una etiqueta Google y es muy similar a una de las plantillas descritas en la investigación UAT-8099 de Cisco Talos.

Una plantilla más consistente observada entre los grupos de víctimas se muestra en el fragmento siguiente, especialmente la lógica de la barra de progreso. Dado que la muestra está dirigida a la infraestructura de víctimas del CN, Baidu Tongji se emplea para rastrear la redirección de víctimas.

Descubrimos varios clústeres (algunos con solapamientos) de servidores comprometidos a partir de URLs que contenían backlinks en la siguiente lista:

  • http://kr.gotz001[.]com/lunlian/index.php
  • http://se.gotz001[.]com/lunlian/index.php
  • https://cn404.gotz001[.]com/lunlian/index.php
  • https://cnse.gotz001[.]com/lunlian/index.php
  • https://cn.gotz001[.]com/lunlian/index.php
  • https://cn.gotz001[.]com/lunlian/indexgov.php
  • https://vn404.gotz001[.]com/lunlian/index.php
  • https://vn.gotz001[.]com/lunlian/index.php
  • http://bd.gotz001[.]com/lunlian/index.php
  • http://vn.jbtz001[.]com/lunlian/index.php
  • https://vnse.jbtz001[.]com/lunlian/index.php
  • https://vnbtc.jbtz001[.]com/lunlian/index.php
  • https://in.jbtz001[.]com/lunlian/index.php
  • https://br.jbtz001[.]com/lunlian/index.php
  • https://cn.jbtz001[.]com/lunlian/index.php
  • https://jp.jbtz001[.]com/lunlian/index.php
  • https://pk.jbtz001[.]com/lunlian/index.php

Dentro del ámbito de REF4033, más de 1800 servidores se vieron afectados a nivel global, y la campaña demuestra un claro enfoque geográfico en la región APAC, con China y Vietnam representando aproximadamente el 82% de todos los servidores comprometidos observados (46,1% y 35,8%, respectivamente). Las concentraciones secundarias se observan en India (3,9%), Brasil (3,8%) y Corea del Sur (3,4%), aunque estas representan una minoría de la huella total de campañas. Cabe destacar que aproximadamente el 30% de los servidores comprometidos residen en las principales plataformas en la nube, incluyendo Amazon Sitio web Services, Microsoft Azure, Alibaba Cloud y Tencent Cloud. El 70% restante de las víctimas se distribuye entre proveedores regionales de telecomunicaciones.

El perfil de la víctima abarca sectores diversos, incluyendo agencias gubernamentales, instituciones educativas, proveedores sanitarios, plataformas de comercio electrónico, medios de comunicación y servicios financieros, lo que indica una explotación oportunista a gran escala en lugar de una explotación dirigida. Los sistemas gubernamentales y de administración pública representan aproximadamente el 8% de las víctimas identificadas en al menos 5 países (.gov.cn, .gov.br, .gov.bd, .gov.vn, .gov.in, .leg.br).

REF4033 a través de MITRE ATT&CK

Elastic usa el marco MITRE ATT&CK para documentar tácticas, técnicas y procedimientos comunes que las amenazas emplean contra las redes empresariales.

Táctica

La táctica representa el porqué de una técnica o subtécnica. Es el objetivo táctico del adversario: la razón para realizar una acción.

Técnicas

Las técnicas representan cómo un adversario logra un objetivo táctico mediante la realización de una acción.

Remediación REF4033

Prevención

YARA

Elastic Security creó reglas YARA para identificar esta actividad.

Observaciones

En esta investigación se discutieron los siguientes observables.

ObservableTipoNombreReferencia
055bdcaa0b69a1e205c931547ef863531e9fdfdaac93aaea29fb701c7b468294SHA-256CbsMsgApi.exeInstalador de servicio
2340f152e8cb4cc7d5d15f384517d756a098283aef239f8cbfe3d91f8722800aSHA-256CbsMsgApi.dllServiceDLL
c2ff48cfa38598ad514466673b506e377839d25d5dfb1c3d88908c231112d1b2SHA-256CbsMsgApi.dllServiceDLL
7f2987e49211ff265378349ea648498042cd0817e131da41156d4eafee4310caSHA-256D_Safe_Manage.exeD-Shield Firewall
1b723a5f9725b607926e925d1797f7ec9664bb308c9602002345485e18085b72SHA-256WsmRes64.idxMódulo BADIIS de 64 bits
1f9e694cac70d089f549d7adf91513f0f7e1d4ef212979aad67a5aea10c6d016SHA-256WsmRes64.idx2.scMódulo BADIIS de 64 bits
c5abe6936fe111bbded1757a90c934a9e18d849edd70e56a451c1547688ff96fSHA-256WsmRes32.idxMódulo BADIIS de 32 bits
gotz003[.]comnombre-de-dominioServidor de configuración BADIIS (principal)
jbtz003[.]comnombre-de-dominioServidor de configuración BADIIS (legacy)
gotz001[.]comnombre-de-dominioServidor principal de contenido SEO y backlinks de BADIIS
jbtz001[.]comnombre-de-dominioServidor principal de contenido SEO y backlinks de BADIIS

Referencias

A lo largo de la investigación anterior se hizo referencia a lo siguiente: