
Campanha usa scripts batch ofuscados, PowerShell, runtime Python embutido e injeção Early Bird APC em explorer.exe para carregar RATs com baixa exposição em disco.
| Componente | Cadeia VOID#GEIST com scripts batch, PowerShell, runtime Python embutido, loader runn.py e payloads associados a XWorm, AsyncRAT e Xeno RAT. |
| Vetor | Distribuição por e-mails de phishing que levam a um script batch obtido a partir de domínio TryCloudflare; a execução ocorre no contexto do usuário logado. |
| Impacto | Carga de RATs em memória, persistência no diretório Startup do usuário e beacon HTTP mínimo para infraestrutura C2 hospedada em TryCloudflare. |
| Prioridade | Investigar execução anômala de batch e PowerShell, criação de arquivos no Startup do usuário, uso de runtime Python embutido e injeções repetidas em explorer.exe em janelas curtas de tempo. |
| Artefatos | runn.py, pul.bin, a.json, n.json, p.json, AppInstallerPythonRedirector.exe e instâncias separadas de explorer.exe usadas como alvo de injeção. |
| Persistência | Batch auxiliar colocado no diretório Startup do perfil do Windows, sem criação de serviço, tarefa agendada ou chave de registro ampla do sistema. |
VOID#GEIST é uma cadeia de malware em múltiplos estágios construída para entregar payloads de acesso remoto associados a XWorm, AsyncRAT e Xeno RAT. A campanha não se apoia em um executável único como ponto central da operação. Em vez disso, combina scripts batch ofuscados, PowerShell, um runtime Python legítimo embutido e blobs de shellcode criptografados que são descriptografados e executados em memória. Esse desenho reduz a quantidade de artefatos maliciosos claros em disco e faz com que cada etapa isolada se pareça mais com uma atividade administrativa comum do que com uma implantação direta de malware.
O início observado ocorre por phishing. O usuário é levado a executar um script batch buscado a partir de infraestrutura TryCloudflare. Depois da execução, a cadeia evita elevação de privilégio e trabalha com as permissões já disponíveis para o usuário logado. Essa escolha limita o ruído de segurança gerado por prompts de elevação, alterações globais no sistema ou criação de serviços, mas ainda permite estabelecer execução inicial, persistência por perfil e carregamento de módulos remotos. A campanha termina com um beacon HTTP mínimo para infraestrutura de comando e controle em TryCloudflare, usado para confirmar a intrusão digital. O material analisado não confirma alvos, vítimas específicas nem comprometimentos bem-sucedidos.
O primeiro estágio é um script batch ofuscado que funciona como orquestrador. Ele exibe um PDF falso, descrito como documento financeiro ou fatura, por meio do Google Chrome em tela cheia. A finalidade operacional desse artefato visual é reduzir a percepção do usuário enquanto as ações de bastidor continuam. Em paralelo, o fluxo aciona PowerShell para relançar o batch original de forma menos visível, incluindo o uso de parâmetro para ocultar a janela. O comando operacional completo não deve ser tratado como material de execução; para defesa, o ponto relevante é a combinação de batch, PowerShell oculto e abertura de documento chamariz em uma mesma linha temporal.
A persistência é feita em nível de usuário. Um batch auxiliar é colocado no diretório Startup do Windows dentro do perfil do usuário, o que faz com que a cadeia seja reativada quando esse usuário inicia sessão. Não há indicação de modificação de chaves de registro do sistema inteiro, criação de tarefas agendadas ou instalação de serviços. Essa abordagem é menos intrusiva, mas também pode escapar de controles concentrados apenas em mecanismos clássicos de persistência com privilégio elevado. Para resposta a incidente, o diretório Startup do usuário precisa ser tratado como superfície relevante, especialmente quando surgem scripts com nomes pouco usuais, conteúdo ofuscado ou relação temporal com downloads de ZIP e execução de Python.
A fase seguinte busca payloads adicionais em arquivos ZIP obtidos de domínios TryCloudflare. Após a extração, a cadeia implanta um runtime Python legítimo, obtido de python[.]org, dentro da área de staging. O objetivo técnico é tornar o ambiente de execução autocontido, sem depender de Python já instalado no endpoint. Com isso, o loader consegue operar em máquinas onde não há interpretador disponível globalmente e também reduz falhas por diferenças de configuração local. Esse runtime legítimo passa a ser parte do caminho de execução malicioso, o que exige que a defesa correlacione origem, diretório, processo pai e arquivos carregados, em vez de considerar o binário confiável de forma isolada.
O loader Python runn.py descriptografa payloads e injeta shellcode em instâncias separadas de explorer.exe por meio de Early Bird APC injection. O payload XWorm é carregado dessa forma. A cadeia também usa o binário legítimo da Microsoft AppInstallerPythonRedirector.exe para invocar Python e iniciar Xeno RAT. Na etapa final, o loader emprega o mesmo padrão de injeção para carregar AsyncRAT. A repetição da injeção em explorer.exe em intervalo curto é um indicador comportamental mais forte do que a presença de um único arquivo, porque revela a arquitetura modular da cadeia e a tentativa de manter os componentes em memória.
A superfície exposta está concentrada em endpoints Windows nos quais o usuário executa o artefato entregue por phishing. Como a cadeia opera no contexto do usuário atual, contas com permissões locais amplas aumentam o impacto prático, mas a atividade descrita não exige elevação para iniciar persistência por Startup, abrir o chamariz em navegador, executar batch, acionar PowerShell ou implantar o runtime Python no caminho de staging acessível ao usuário. Ambientes que permitem execução irrestrita de scripts, downloads de arquivos compactados e execução de intérpretes portáteis oferecem melhores condições para a cadeia avançar.
Os componentes mais sensíveis para inspeção são o perfil do usuário, o diretório Startup, diretórios temporários ou de staging usados para extrair ZIPs, processos comando operacional omitido, comando operacional omitido, chrome.exe, python.exe, AppInstallerPythonRedirector.exe e instâncias de explorer.exe. O uso de TryCloudflare aparece em dois momentos: obtenção inicial do batch e comunicação posterior para baixar payloads ou confirmar a intrusão. Como o contexto não fornece domínios específicos, a defesa deve tratar a classe de infraestrutura como sinal de correlação e não como lista fechada de bloqueio.
- Endpoints Windows com execução de scripts batch e PowerShell permitida ao usuário final.
- Perfis de usuário com diretório Startup gravável e sem monitoramento de criação de scripts.
- Ambientes em que runtimes portáteis, arquivos ZIP e binários legítimos invocados fora de caminhos esperados não geram alerta contextual.
- Telemetria de rede com conexões para infraestrutura TryCloudflare a partir de processos de script, Python ou processos recém-injetados.
A busca deve priorizar encadeamentos de processo, porque a campanha depende da sequência e não apenas de um artefato isolado. Um ponto de partida é localizar execução de batch iniciada após interação com e-mail ou download, seguida por abertura de Chrome em tela cheia exibindo PDF e por PowerShell oculto relançando o script. O uso de parâmetros de ocultação, quando aparece junto de batch ofuscado e arquivo chamariz, deve elevar a severidade. Também é importante procurar extração de ZIPs em diretórios de usuário e criação de árvores de arquivos que contenham runtime Python embutido sem relação com software corporativo conhecido.
No endpoint, a criação ou modificação de batch no diretório Startup do usuário é um sinal de persistência alinhado à cadeia. Em seguida, a presença de runn.py, pul.bin e arquivos de chave como a.json, n.json e p.json deve ser correlacionada com execução de Python, leitura de blobs criptografados e criação de processos explorer.exe. A injeção Early Bird APC pode aparecer de forma indireta em EDRs como criação de processo suspenso, escrita de memória em processo remoto, enfileiramento de APC e retomada de thread. Mesmo sem regra específica para o nome VOID#GEIST, múltiplas injeções em explorer.exe em pouco tempo, originadas de Python ou de binário redirecionador, formam um padrão comportamental consistente.
Na rede, o beacon HTTP mínimo para C2 em TryCloudflare deve ser investigado quando partir de um processo sem perfil normal de navegação ou quando ocorrer após os eventos de staging. Não há indicadores completos no contexto, portanto não se deve fabricar domínios, endereços IP ou hashes. A abordagem correta é cruzar DNS, proxy, EDR e logs de identidade para reconstruir a linha do tempo: recebimento do phishing, execução do script, persistência, download de ZIP, implantação do runtime, carregamento de payloads e comunicação de confirmação.
- Processos comando operacional omitido ou comando operacional omitido iniciando a partir de anexos, downloads ou caminhos de usuário, com janela oculta ou comportamento ofuscado.
- Criação de batch no diretório Startup do usuário, especialmente perto de eventos de phishing ou execução de arquivos compactados.
- Runtime Python embutido em diretório não padronizado, executando
runn.pyou carregando arquivos.bine.jsonusados como módulos e chaves. - Uso de
AppInstallerPythonRedirector.exefora de fluxo legítimo conhecido, associado à inicialização de Python e a processosexplorer.exe. - Injeções repetidas em
explorer.exeem janelas curtas, com telemetria de escrita de memória, APC ou execução em memória sem binário correspondente em disco. - Conexões HTTP para infraestrutura TryCloudflare após a cadeia local de batch, PowerShell, extração de ZIP e execução de Python.
A contenção inicial deve interromper a execução do usuário afetado, isolar o endpoint quando houver evidência de injeção em memória ou beacon e preservar a linha do tempo de processos. Antes de remover arquivos, é importante coletar artefatos de Startup, diretórios de staging, ZIPs extraídos, scripts batch, runn.py, blobs criptografados e arquivos JSON de chave. A remoção simples do batch de persistência pode encerrar a reativação no logon, mas não substitui a análise de processos já injetados nem a verificação de comunicações C2 realizadas durante a sessão.
A redução de superfície passa por controles de execução para scripts e intérpretes portáteis. Políticas de allowlisting, bloqueio ou alerta para batch e PowerShell em diretórios de usuário, inspeção de parâmetros de ocultação e monitoramento de runtimes Python fora de caminhos aprovados diminuem a chance de avanço da cadeia. Controles de e-mail e navegação devem tratar links ou anexos que levam a domínios TryCloudflare com contexto adicional, principalmente quando o resultado é um script ou ZIP executável. Como a campanha usa componentes legítimos, a mitigação precisa ser baseada em comportamento, origem e encadeamento de processos, não apenas em reputação de arquivo.
Depois da contenção, a equipe deve validar se houve execução dos três payloads citados ou apenas parte da cadeia. XWorm, AsyncRAT e Xeno RAT são famílias de acesso remoto; a resposta deve presumir possibilidade de controle interativo enquanto a telemetria não demonstrar o contrário, mas sem declarar exfiltração ou movimentação lateral quando esses efeitos não estiverem confirmados. A revisão de credenciais deve considerar contas usadas no endpoint durante a janela do incidente e sessões autenticadas ativas, pois a cadeia opera no contexto do usuário. A restauração deve incluir limpeza de persistência, verificação de processos, bloqueios de infraestrutura observada, endurecimento de scripts e validação por novas coletas de EDR e proxy.
- Isolar endpoints com sinais de execução em memória, injeção em
explorer.exeou beacon HTTP associado à cadeia. - Coletar e preservar scripts batch, conteúdo do Startup do usuário, ZIPs, runtime Python embutido,
runn.py,pul.bine arquivosa.json,n.jsonep.json. - Encerrar processos suspeitos somente após captura de evidências necessárias para análise, especialmente quando houver processo injetado.
- Aplicar políticas para restringir batch, PowerShell oculto e intérpretes portáteis executados a partir de diretórios de usuário.
- Correlacionar proxy, DNS, EDR e logs de e-mail para identificar o ponto de entrada por phishing e as comunicações com TryCloudflare.
- Revisar credenciais e sessões do usuário afetado quando houver confirmação de execução de RAT, mantendo a conclusão limitada ao que a telemetria comprovar.
0 Comentários