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.
"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff classDef registry fill:#ffddaa %% Nodes initial_access_phishing["<b>Ação</b> – <b>T1566.001 Anexo de Spearphishing</b><br/>Email com CHM malicioso disfarçado como documento do Word enviado para a vítima."] class initial_access_phishing action file_chm["<b>Malware</b> – <b>Arquivo</b>: CV – Vu PLPC KT nam 2026.chm<br/>Disfarçado com dupla extensão para parecer .doc."] class file_chm malware defense_masquerade["<b>Ação</b> – <b>T1036.008 Mascaramento</b><br/>Arquivo CHM mascarado como documento do Word usando dupla extensão."] class defense_masquerade action defense_obfuscation["<b>Ação</b> – <b>T1027.006 Arquivos ou Informações Ofuscadas</b><br/>HTML smuggling esconde código malicioso dentro do CHM."] class defense_obfuscation action execution_user["<b>Ação</b> – <b>T1204.002 Execução do Usuário</b><br/>Vítima abre CHM, HTML/JS executa tag OBJECT lançando cmd.exe."] class execution_user action process_cmd["<b>Processo</b> – cmd.exe<br/>Lançado pelo CHM via tag OBJECT."] class process_cmd process execution_msbuild["<b>Ação</b> – <b>T1127.001 Execução de Proxy de Ferramentas de Desenvolvedor Confiáveis</b><br/>Script solta mechaniSm.xml e chama msbuild.exe para carregar DLL maliciosa .NET."] class execution_msbuild action tool_msbuild["<b>Ferramenta</b> – msbuild.exe<br/>Usado para carregar ioy24euj.dll."] class tool_msbuild tool file_dll["<b>Malware</b> – <b>DLL</b>: ioy24euj.dll<br/>Contém código .NET para persistência e entrega de carga útil."] class file_dll malware persistence_autostart["<b>Ação</b> – <b>T1547.014 Configuração Ativa</b><br/>DLL modifica HKCUSoftwareMicrosoftWindows NTCurrentVersionWinlogonShell para apontar para wrapper msbuild renomeado."] class persistence_autostart action registry_mod["<b>Registro</b> – HKCUSoftwareMicrosoftWindows NTCurrentVersionWinlogonShell<br/>Definido para wrapper msbuild personalizado para autoexecu2011ção."] class registry_mod registry persistence_event["<b>Ação</b> – <b>T1546.009 DLLs AppCert</b><br/>DLL carregada via ctypes.CDLL e mais tarde executada para decriptar cargas úteis adicionais."] class persistence_event action dll_load["<b>Processo</b> – ctypes.CDLL carga<br/>Carrega a DLL maliciosa no espaço do processo."] class dll_load process privilege_injection["<b>Ação</b> – <b>T1055.001 Injeção de Processo</b><br/>DLL injeta código em cmd.exe para executar cargas úteis."] class privilege_injection action process_injection["<b>Processo</b> – Injeção de DLL em cmd.exe<br/>Permite a execução de rotinas maliciosas adicionais."] class process_injection process command_and_control["<b>Ação</b> – <b>T1573 Canal Criptografado</b><br/>.NET RAT se comunica com bot do Telegram usando mensagens codificadas base64 e encriptadas com XORu2011."] class command_and_control action c2_telegram["<b>Ferramenta</b> – bot do Telegram<br/>Recebe comandos e exfiltra dados através do canal encriptado."] class c2_telegram tool impact_shutdown["<b>Ação</b> – <b>T1529 Desligamento/Reinicialização do Sistema</b><br/>Tarefa agendada "Dúvida" criada para desligar o sistema toda sexta-feira à meia-noite."] class impact_shutdown action scheduled_task["<b>Processo</b> – Tarefa Agendada "Dúvida"<br/>Aciona o desligamento do sistema no horário agendado."] class scheduled_task process %% Connections initial_access_phishing –>|entrega| file_chm file_chm –>|utiliza| defense_masquerade file_chm –>|utiliza| defense_obfuscation file_chm –>|aciona| execution_user execution_user –>|lança| process_cmd process_cmd –>|permite| execution_msbuild execution_msbuild –>|utiliza| tool_msbuild tool_msbuild –>|carrega| file_dll file_dll –>|permite| persistence_autostart persistence_autostart –>|modifica| registry_mod file_dll –>|permite| persistence_event persistence_event –>|carrega via| dll_load dll_load –>|realiza| privilege_injection privilege_injection –>|injeta em| process_injection process_injection –>|facilita| command_and_control command_and_control –>|utiliza| c2_telegram command_and_control –>|leva a| impact_shutdown impact_shutdown –>|cria| scheduled_task "
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."