Tropic Trooper usa SumatraPDF adulterado, GitHub e túneis do VS Code em campanha de acesso remoto

Tropic Trooper usa SumatraPDF adulterado, GitHub e túneis do VS Code em campanha de acesso remoto

Campanha atribuída ao Tropic Trooper entrega AdaptixC2 Beacon por meio de um leitor PDF trojanizado, usa GitHub como canal de comando e controle e ativa túneis do VS Code em máquinas consideradas valiosas.

ComponenteSumatraPDF trojanizado, loader TOSHIS, AdaptixC2 Beacon, GitHub como C2 e túneis do Microsoft Visual Studio Code.
VetorArquivo ZIP com iscas documentais de tema militar inicia o leitor PDF adulterado, exibe um PDF falso e recupera shellcode criptografado de um servidor de staging.
ImpactoExecução de agente pós-exploração, recebimento de tarefas por C2 baseado em GitHub e acesso remoto por túneis do VS Code em sistemas selecionados.
PrioridadeInvestigar execuções não autorizadas de SumatraPDF, conexões incomuns com GitHub, criação de túneis do VS Code e contato com 158.247.193[.]100.
ArtefatosAdaptixC2 Beacon, TOSHIS, variante associada a Xiangoop, EntryShell, Cobalt Strike Beacon e aplicações trojanizadas alternativas observadas em máquinas selecionadas.
AlvosIndivíduos de língua chinesa em Taiwan, além de indivíduos na Coreia do Sul e no Japão.
Resumo técnico

Uma campanha atribuída com alta confiança ao Tropic Trooper, também conhecido como APT23, Earth Centaur, KeyBoy e Pirate Panda, usa uma versão adulterada do leitor SumatraPDF para iniciar uma cadeia de infecção voltada à entrega do AdaptixC2 Beacon. O fluxo começa com um arquivo ZIP que contém documentos-isca de tema militar. Ao abrir o pacote, a vítima executa o binário trojanizado, que mantém a aparência de um leitor PDF funcional ao exibir um documento falso enquanto aciona, em segundo plano, a recuperação de shellcode criptografado a partir de um servidor de staging. Essa combinação reduz a visibilidade para o usuário final, porque a ação esperada, a abertura de um PDF, ocorre ao mesmo tempo em que a etapa maliciosa progride.

O interesse operacional da campanha está na junção de ferramentas conhecidas, infraestrutura de serviço público e acesso remoto seletivo. O AdaptixC2 Beacon usa GitHub como plataforma de comando e controle, buscando tarefas que serão executadas no host comprometido. Em máquinas consideradas valiosas pelo operador, a atividade avança para a implantação do Microsoft Visual Studio Code e a configuração de túneis do VS Code, mecanismo que permite acesso remoto. O mesmo servidor de staging, identificado como 158.247.193[.]100, também foi observado hospedando Cobalt Strike Beacon e uma backdoor customizada chamada EntryShell, ambos associados anteriormente ao mesmo grupo.

Fluxo técnico

A execução inicial depende da interação da vítima com o arquivo ZIP e com os documentos-isca. O pacote contém conteúdo com tema militar e leva à execução do SumatraPDF adulterado. O binário comprometido preserva uma função visual coerente com o aplicativo esperado, abrindo um PDF de distração, mas também inicia um loader chamado TOSHIS. Esse loader é descrito como uma versão levemente modificada e relacionada a Xiangoop, malware anteriormente vinculado ao Tropic Trooper. Na cadeia observada, o papel do loader é orquestrar a transição para estágios adicionais: soltar o documento-isca, manter a ilusão de uma abertura legítima e carregar o agente pós-exploração em segundo plano.

Depois da ativação do loader, o fluxo recupera shellcode criptografado de um servidor de staging e lança o AdaptixC2 Beacon. O agente passa a se comunicar com infraestrutura controlada pelo atacante usando GitHub como canal de C2. A descrição técnica disponível indica que os operadores criaram um listener customizado para o AdaptixC2 Beacon, aproveitando o GitHub para buscar tarefas e orientar ações no sistema comprometido. A cadeia não avança de forma uniforme em todos os hosts: apenas quando a vítima é avaliada como valiosa o operador move a operação para a etapa de túneis do VS Code. Esse comportamento seletivo é relevante para defesa, porque máquinas com evidência de AdaptixC2 Beacon podem não mostrar imediatamente a etapa de túnel remoto, enquanto sistemas priorizados pelo atacante podem apresentar instalação ou uso anômalo do VS Code.

A campanha também mostra continuidade técnica com operações anteriores atribuídas ao mesmo grupo. Em atividades passadas, o loader associado a Xiangoop foi usado para buscar cargas como Cobalt Strike Beacon ou o agente Merlin do framework Mythic. Na atividade atual, o payload principal relatado mudou para AdaptixC2, mas o ambiente de staging observado ainda hospedava Cobalt Strike Beacon e EntryShell. Essa coexistência de ferramentas sugere uma operação em que o operador mantém mais de uma opção de pós-exploração disponível, sem que isso permita afirmar que todas as cargas foram executadas em todos os sistemas afetados.

Superfície afetada

A superfície mais diretamente exposta envolve estáções de trabalho de usuários que recebem ou abrem arquivos ZIP com documentos de tema militar, especialmente quando o fluxo de trabalho permite executar binários empacotados junto a documentos. O alvo descrito inclui indivíduos de língua chinesa em Taiwan e indivíduos na Coreia do Sul e no Japão. Não há indicação de exploração de uma vulnerabilidade específica no SumatraPDF; o componente é usado como veículo trojanizado. Portanto, o risco está associado à execução de um binário adulterado que se apresenta como aplicativo legítimo, não a uma falha declarada no produto original.

Ambientes corporativos com acesso amplo a GitHub e permissão para uso de VS Code precisam tratar a campanha como um caso de abuso de ferramentas e serviços legítimos. O C2 baseado em GitHub pode se misturar a tráfego de desenvolvimento, automação ou consulta de repositórios. A etapa de túnel do VS Code, quando acionada, também pode parecer compatível com rotinas de engenharia se a organização já usa o editor. O ponto defensivo central é correlacionar a sequência: arquivo ZIP e isca documental, execução de SumatraPDF fora de caminhos esperados, carregamento de loader, contato com servidor de staging, beaconing via GitHub e criação de túnel remoto.

A presença do IP 158.247.193[.]100 como servidor de staging fornece um artefato concreto para investigação histórica. O mesmo endereço foi observado hospedando Cobalt Strike Beacon e EntryShell, o que amplia a necessidade de procurar contatos de rede com esse destino mesmo quando o host não exibe sinais óbvios de AdaptixC2. Em máquinas selecionadas, os operadores também instalaram aplicações alternativas trojanizadas, aparentemente para camuflar ações. Como os nomes dessas aplicações alternativas não foram detalhados, a defesa deve focar em instalações recentes não autorizadas e em binários que apresentem comportamento de rede ou execução incompatível com sua função declarada.

  • Hosts que executaram SumatraPDF a partir de arquivos ZIP ou diretórios temporários associados a documentos-isca.
  • Sistemas com conexões para GitHub imediatamente após execução de leitor PDF, loader ou processo recém-extraído.
  • Máquinas com instalação ou ativação de túneis do Microsoft Visual Studio Code sem justificativa operacional.
Hunting e telemetria

A investigação deve começar pela linha do tempo de endpoint. Procure extração de ZIP, execução de um SumatraPDF fora do inventário padrão, criação ou abertura de documento PDF de distração e processos filhos que não combinam com o uso normal de um leitor de documentos. A relação entre o binário PDF e estágios posteriores é mais importante do que um único indicador isolado. O loader TOSHIS atua como intermediário na cadeia, e a telemetria de processo deve ser revisada para identificar execução em segundo plano logo após a abertura do documento-isca. Quando houver EDR, a busca deve correlacionar eventos de arquivo, árvore de processos e conexões de rede em uma janela curta após a abertura do pacote.

No nível de rede, o ponto de partida é revisar conexões com 158.247.193[.]100 e tráfego para GitHub originado de hosts que não deveriam executar automação, desenvolvimento ou clientes de linha de comando. Como GitHub é um serviço comum em empresas de tecnologia, bloqueio amplo pode ser inviável; por isso, a detecção deve usar contexto: processo de origem, horário, usuário autenticado, host sem perfil de desenvolvimento, execução prévia de documento-isca e volume de requisições. A etapa de C2 descrita envolve o AdaptixC2 Beacon buscando tarefas, então conexões periódicas ou repetidas após a execução do leitor PDF adulterado merecem retenção e análise.

A etapa de túneis do VS Code exige telemetria de aplicação e identidade. A defesa deve procurar instalação do VS Code em máquinas que não estavam no inventário de desenvolvimento, execução do editor em contexto de usuário incomum e criação de túnel sem solicitação operacional. Como a campanha avança para essa fase apenas em vítimas consideradas valiosas, a presença de túnel deve ser tratada como sinal de maior gravidade dentro da cadeia. Quando houver registro de proxy, EDR ou controle de aplicações, a investigação deve comparar o primeiro uso do VS Code com a execução prévia do SumatraPDF trojanizado e com comunicações anteriores para GitHub ou para o servidor de staging.

  • Execução de SumatraPDF extraído de ZIP ou de local não padronizado, seguida por processos filhos ou conexões de rede.
  • Contato com 158.247.193[.]100, inclusive quando o host não apresentar alertas explícitos de malware.
  • Uso de GitHub por processos não associados a navegadores, ferramentas de desenvolvimento aprovadas ou automações conhecidas.
  • Instalação ou ativação de túneis do Microsoft Visual Studio Code em hosts sem perfil técnico autorizado.
Mitigação

A resposta deve preservar evidência antes da contenção ampla. Em hosts com execução suspeita de SumatraPDF, isole a máquina, colete a árvore de processos, artefatos de arquivo, histórico de rede e eventos relacionados a GitHub, VS Code e ao IP 158.247.193[.]100. Se houver sinal de AdaptixC2 Beacon, trate o host como comprometido para fins de contenção, porque o agente foi descrito como componente de pós-exploração capaz de receber tarefas do operador. Em sistemas com túneis do VS Code, encerre as sessões, remova instalações não autorizadas e revise acessos remotos associados ao usuário afetado.

A prevenção deve reduzir a chance de execução de binários empacotados com documentos. Controles de aplicação podem restringir leitores PDF permitidos a caminhos e assinaturas esperadas, impedindo versões portáteis ou extraídas de ZIP quando não houver necessidade. Gateways de e-mail e proxies devem inspecionar arquivos compactados que combinam documentos com executáveis, especialmente quando o tema do conteúdo tenta induzir abertura rápida. Organizações que usam GitHub legitimamente devem manter exceções documentadas por equipe, ferramenta e host, para que conexões fora desse padrão sejam investigáveis em vez de desaparecerem no ruído de tráfego permitido.

A mitigação também precisa cobrir serviços legítimos abusados. O uso de túneis do VS Code deve ser aprovado explicitamente, monitorado e bloqueado onde não for necessário. O inventário deve registrar quais hosts podem usar ferramentas de desenvolvimento, quais contas têm autorização para acesso remoto e quais eventos exigem investigação. Para o servidor de staging 158.247.193[.]100, revise logs históricos de proxy, firewall e DNS, mesmo em períodos anteriores ao alerta inicial, porque o mesmo host foi associado a múltiplas cargas. A validação final deve confirmar ausência de novos contatos com GitHub a partir de processos suspeitos, ausência de túneis ativos e inexistência de aplicações trojanizadas instaladas após a execução inicial.

  • Isolar hosts com execução suspeita de SumatraPDF trojanizado e coletar processos, arquivos e conexões antes de limpar o sistema.
  • Bloquear ou investigar contato com 158.247.193[.]100 e revisar histórico de acesso ao endereço em logs de rede.
  • Restringir execução de leitores PDF a binários aprovados e impedir execução direta de executáveis extraídos de arquivos ZIP quando possível.
  • Auditar GitHub e túneis do Microsoft Visual Studio Code por processo de origem, usuário, host e justificativa operacional.
  • Remover instalações não autorizadas do VS Code ou de aplicações trojanizadas e validar que não há beaconing residual.

Postar um comentário

0 Comentários