RAT de Telegram baseado em Rebex visando o Vietnã
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Um arquivo CHM malicioso entregue dentro de um arquivo ZIP solta um runtime Python malicioso junto com uma DLL em C++ que decripta uma carga útil embutida. Essa carga útil estabelece persistência através de um sequestro do shell do Winlogon, uma tarefa agendada e abuso de MSBuild, em seguida, lança um RAT baseado em .NET do Telegram. O malware se comunica com um bot do Telegram usando um token embutido e suporta execução de comandos, substituição de tokens e download de arquivos. A campanha foi observada visando vítimas no Vietnã e atualmente não mostra detecções no VirusTotal.
Investigação
A análise do arquivo CHM revelou um script que descompilava o arquivo, limpava PYTHONHOME, e executava um executável Python renomeado com um arquivo de bytecode compilado. O bytecode então carregava uma DLL que decriptava um BLOB DOCX criptografado, extraía componentes adicionais e os escrevia em locais temporários. A DLL criava entradas de registro, agendava uma tarefa chamada Dúvida, e executava um MSBuild arquivo XML para carregar uma segunda DLL, que, afinal, implantava o RAT do Telegram em .NET. O RAT dependia de credenciais de bot do Telegram embutidas para comando e controle.
Mitigação
Os defensores devem bloquear a execução de arquivos CHM de fontes não confiáveis e restringir o uso de hh.exe, msbuild.exe, e PowerShell para scripts não assinados ou suspeitos. O monitoramento deve focar em modificações no registro do Shell do Winlogon, criação incomum de tarefas agendadas e DLLs recém-inseridas em diretórios temporários. As organizações também devem inspecionar o tráfego da API do Telegram através de controles de proxy e aplicar acesso de menor privilégio para os usuários finais. Shell registry modifications, unusual scheduled task creation, and newly dropped DLLs in temporary directories. Organizations should also inspect Telegram API traffic through proxy controls and enforce least-privilege access for end users.
Resposta
As equipes de segurança devem identificar e isolar hosts afetados, coletar evidências voláteis e extrair as DLLs e scripts maliciosos para análise. O valor do Winlogon e a tarefa agendada devem ser removidos, arquivos inseridos devem ser deletados e as configurações de registro alteradas devem ser restauradas para um estado previamente conhecido como bom. Quaisquer tokens de bots do Telegram expostos devem ser rotacionados imediatamente, e os defensores devem continuar monitorando para mais atividades de comando e controle. É recomendada uma investigação forense completa para determinar se dados foram exfiltrados. Shell value and the scheduled task should be removed, dropped files deleted, and altered registry settings restored to a known-good state. Any exposed Telegram bot tokens should be rotated immediately, and defenders should continue monitoring for additional command-and-control activity. A full forensic investigation is recommended to determine whether data was exfiltrated.
Fluxo de Ataque
Detecções
Possíveis Pontos de Persistência [ASEPs – Software/Hive NTUSER] (via evento_registry)
Visualizar
Desligamento Usado Para Forçar Parada ou Reinicialização do Sistema (via cmdline)
Visualizar
LOLBAS HH – HTML Help Executable Program Argumentos Suspeitos (via cmdline)
Visualizar
Binário / Scripts Suspeitos em Local de Inicialização Automática (via evento_file)
Visualizar
Possível Execução por Escrita de Arquivo com Extensão Microsoft Compiled HTML Help (.chm) (via evento_file)
Visualizar
Possível Abuso do Telegram como Canal de Comando e Controle (via consulta_dns)
Visualizar
IOCs (HashSha256) para detectar: RAT Telegram baseado em Rebex Alvejando Vietnã
Visualizar
Execução de Arquivo CHM Levando à Atividade Maliciosa [Criação de Processo do Windows]
Visualizar
Simulação de Execução
Pré-requisito: O Check de Voo Prévio de Telemetria e Linha de Base deve ter passado.
Justificativa: Esta seção detalha a execução precisa da técnica do adversário projetada para acionar a regra de detecção. Os comandos e a narrativa refletem diretamente as TTPs identificadas e visam gerar a telemetria exata esperada pela lógica de detecção.
-
Narrativa do Ataque & Comandos
-
Entrega: O atacante entrega um
arquivo .chm(nomeadoUpdateHelp.chm) malicioso para a vítima. -
Descompilação: A vítima (ou um script malicioso) executa
hh.execom o-decompileflag para extrair a carga útil embutida:hh.exe -decompile C:TempPayloads C:UsersPublicUpdateHelp.chmIsso gera o evento de criação de processo que a regra monitora (
hh.exe+-decompile). -
Execução de Carga Útil – Interpretador Renomeado: Dentro dos arquivos extraídos está um interpretador Python renomeado (
_pJifgWSwPi.exe). O atacante o lança viacmd.exepara manter um perfil discreto:cmd.exe /c "C:TempPayloads_pJifgWSwPi.exe -c "import os; os.system('whoami')""Isso atende a
cmd.execondição da regra. -
Proxy de Binário Assinado – Msbuild: A carga útil do Python escreve um
arquivo .projmalicioso e então invocamsbuild.exepara executá-lo, alcançando persistência ou execução de código adicional:msbuild.exe C:TempPayloadsmalicious.proj /target:Build
-
-
Script de Teste de Regressão
#============================================================= # Simulação de Ataque Baseado em CHM – Aciona Regra Sigma #============================================================= # Variáveis $chmPath = "C:UsersPublicUpdateHelp.chm" $outFolder = "C:TempPayloads" $renamedPy = "_pJifgWSwPi.exe" $projFile = "malicious.proj" # 1. Assegure que a pasta de saída exista New-Item -ItemType Directory -Force -Path $outFolder | Out-Null # 2. Simular a descompilação do arquivo CHM Write-Host "[*] Descompilando CHM..." hh.exe -decompile $outFolder $chmPath # 3. Coloque uma cópia do python.exe (ou qualquer exe benigno) como o interpretador renomeado Copy-Item -Path "$env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe" ` -Destination "$outFolder$renamedPy" -Force # 4. Execute o interpretador renomeado via cmd.exe Write-Host "[*] Iniciando interpretador renomeado via cmd.exe..." cmd.exe /c "`"$outFolder$renamedPy`" -c `"Write-Host 'Carga útil simulada executada'`"" # 5. Crie um projeto msbuild trivial que ecoa uma mensagem $projContent = @" <Project ToolsVersion='4.0' xmlns='http://schemas.microsoft.com/developer/msbuild/2003'> <Target Name='Build'> <Message Text='Msbuild executou projeto malicioso' Importance='High'/> </Target> </Project> "@ Set-Content -Path "$outFolder$projFile" -Value $projContent -Encoding ASCII # 6. Execute msbuild.exe no projeto malicioso Write-Host "[*] Executando msbuild.exe..." msbuild.exe "$outFolder$projFile" /target:Build Write-Host "[+] Simulação completa." -
Comandos de Limpeza
# Parar quaisquer processos remanescentes (se ainda estiverem em execução) Get-Process -Name "_pJifgWSwPi","hh","msbuild","cmd" -ErrorAction SilentlyContinue | Stop-Process -Force # Remova arquivos e pastas geradas Remove-Item -Recurse -Force -Path "C:TempPayloads" # Opcionalmente delete o arquivo CHM se foi criado para o teste Remove-Item -Force -Path "C:UsersPublicUpdateHelp.chm" -ErrorAction SilentlyContinue Write-Host "[+] Limpeza concluída."