SOC Prime Bias: Crítico

30 Abr 2026 17:21

Backdoor WindowsAudit: Dentro de um RAT em .NET que se Esconde no Discord

Author Photo
Ruslan Mikhalov Chefe de Pesquisa de Ameaças na SOC Prime linkedin icon Seguir
Backdoor WindowsAudit: Dentro de um RAT em .NET que se Esconde no Discord
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Profero IRT identificou um backdoor .NET 8 chamado WindowsAudit.exe que utiliza o Discord como seu principal canal de comando e controle, enquanto também oferece suporte ao MQTT e ao Telegram como caminhos de comunicação de reserva. O malware opera como um serviço do Windows, cria uma cópia de backup de si mesmo, estabelece múltiplos mecanismos de persistência e realiza roubo de credenciais, abuso de Active Directory e atividades de evasão de defesa. Ele também configura túneis WireGuard para apoiar movimentos laterais encobertos dentro do ambiente. A técnica geral sugere que os atacantes podem estar preparando redes afetadas para uma etapa posterior de ransomware.

Investigação

Os investigadores obtiveram o WindowsAudit binário, confirmaram que era um trojan de acesso remoto modular em C#, e realizaram engenharia reversa em seu componente DLL embutido. Sua análise detalhou as técnicas de persistência do malware, arquitetura de comunicação, capacidade de despejo de credenciais e métodos de evasão, incluindo patches de AMSI e ETW. A equipe também examinou um droppers relacionado chamado WinSATSvc, que parecia projetado para restaurar o malware se removido. A partir deste trabalho, os pesquisadores extraíram um conjunto de indicadores de comprometimento para apoiar a caça e a detecção.

Mitigação

As detecções recomendadas incluem o monitoramento para criação do WindowsAudit serviço, as entradas de chave associadas do Run, o GlobalWindowsAuditSingleInstance mutex e execuções suspeitas de Add-MpPreference . Os defensores também devem bloquear ou alertar sobre tráfego TLS para a infraestrutura do Discord e HiveMQ, enquanto observam por alterações de inicialização segura do bcdedit e criação de tarefas agendadas suspeitas. Qualquer configuração de túnel WireGuard ligada ao malware deve ser removida, e todos os mecanismos de persistência estabelecidos pelo backdoor devem ser desativados.

Resposta

As organizações devem imediatamente caçar os indicadores de comprometimento publicados, isolar os sistemas afetados e parar o WindowsAudit serviço. Imagens de memória e disco devem ser coletadas para revisão forense, binários maliciosos devem ser removidos, e quaisquer credenciais comprometidas devem ser redefinidas. As equipes de segurança também devem verificar se exclusões não autorizadas de EDR foram removidas, confirmar que as alterações de configuração do Modo Seguro foram revertidas e continuar monitorando para reinstalação ou recriação dos componentes de malware.

"graph TB %% Class definitions classDef technique fill:#ffcc99 classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef process fill:#99ff99 classDef operator fill:#ff9900 %% Nodes u2013 Techniques and Tools exploit_remote_services["<b>Technique</b> – <b>T1210 Exploitation of Remote Services</b><br/>Copy malicious binary to remote hosts via SMB and start it with sc.exe"] class exploit_remote_services technique lateral_smb["<b>Technique</b> – <b>T1080 Lateral Movement via Shared Content</b><br/>Spread using SMB shares and execute remote commands"] class lateral_smb technique wmi_event_sub["<b>Technique</b> – <b>T1546.003 Windows Management Instrumentation Event Subscription</b><br/>Register WMI event that triggers payload for persistence"] class wmi_event_sub technique scheduled_task["<b>Technique</b> – <b>T1053 Scheduled Task/Job</b><br/>Create task that runs in Safe Mode to remove EDR and reu2011arm malware after reboot"] class scheduled_task technique defender_exclusion["<b>Technique</b> – <b>T1564.012 Hide Artifacts: File Path Exclusions</b><br/>Add Windows Defender exclusion for install path and executable"] class defender_exclusion technique safe_mode_boot["<b>Technique</b> – <b>T1562.009 Safe Mode Boot</b><br/>Boot into Safe Mode to reinstall components"] class safe_mode_boot technique vpn_proxy["<b>Technique</b> – <b>T1090 Proxy</b> and <b>T1572 Protocol Tunneling</b><br/>Deploy WireGuard VPN and SOCKS5 proxy to tunnel traffic"] class vpn_proxy technique c2_discord["<b>Technique</b> – <b>T1102.002 Web Service: Discord</b><br/>Use Discord as primary command and control channel"] class c2_discord technique c2_mqtt["<b>Technique</b> – <b>T1102 Web Service (MQTT)</b><br/>Secondary C2 via MQTT broker"] class c2_mqtt technique c2_fallback["<b>Technique</b> – <b>T1008 Fallback Channels</b><br/>Switch to MQTT or Telegram when Discord unavailable"] class c2_fallback technique rat["<b>Malware</b> – Remote Access Tool (RAT)"] class rat malware os_cred_dump["<b>Technique</b> – <b>T1003 OS Credential Dumping</b><br/>Dump LSASS memory with MiniDumpWriteDump"] class os_cred_dump technique shadow_copy["<b>Technique</b> – <b>T1003.007 Volume Shadow Copy</b><br/>Extract SAM and SYSTEM hives via shadow copies"] class shadow_copy technique browser_passwords["<b>Technique</b> – <b>T1555.003 Credentials from Web Browsers</b><br/>Decrypt saved passwords using DPAPI"] class browser_passwords technique cred_manager["<b>Technique</b> – <b>T1555.004 Credentials from Windows Credential Manager</b><br/>Extract stored credentials"] class cred_manager technique golden_ticket["<b>Technique</b> – <b>T1558.001 Golden Ticket</b><br/>Create forged Kerberos TGT for domain admin"] class golden_ticket technique silver_ticket["<b>Technique</b> – <b>T1558.002 Silver Ticket</b><br/>Forge service tickets for targeted services"] class silver_ticket technique pass_hash["<b>Technique</b> – <b>T1550.002 Pass the Hash</b><br/>Reuse NTLM hash to authenticate"] class pass_hash technique pass_ticket["<b>Technique</b> – <b>T1550.003 Pass the Ticket</b><br/>Reuse Kerberos ticket for lateral movement"] class pass_ticket technique dc_sync["<b>Technique</b> – <b>T1003.006 DCSync</b><br/>Force domain controller to replicate password data"] class dc_sync technique dc_auth["<b>Technique</b> – <b>T1556.001 Domain Controller Authentication</b><br/>Modify authentication process on DC"] class dc_auth technique process_hollowing["<b>Technique</b> – <b>T1055.012 Process Hollowing</b><br/>Inject code into elevated process"] class process_hollowing technique apc_injection["<b>Technique</b> – <b>T1055.004 Asynchronous Procedure Call</b><br/>Inject code via APC"] class apc_injection technique clear_event_logs["<b>Technique</b> – <b>T1070.001 Clear Windows Event Logs</b><br/>Remove evidence of activity"] class clear_event_logs technique screen_capture["<b>Technique</b> – <b>T1113 Screen Capture</b><br/>Capture screenshots"] class screen_capture technique video_capture["<b>Technique</b> – <b>T1125 Video Capture</b><br/>Record video of desktop"] class video_capture technique audio_capture["<b>Technique</b> – <b>T1123 Audio Capture</b><br/>Record microphone audio"] class audio_capture technique keylogging["<b>Technique</b> – <b>T1056.001 Keylogging</b><br/>Capture keystrokes"] class keylogging technique exfil_discord["<b>Technique</b> – <b>T1041 Exfiltration Over Command and Control Channel</b><br/>Upload data as Discord attachments"] class exfil_discord technique exfil_mqtt["<b>Technique</b> – <b>T1041 Exfiltration Over Command and Control Channel</b><br/>Send data via MQTT messages"] class exfil_mqtt technique %% Logical operators (optional) op_and1(("AND")) class op_and1 operator %% Connections u2013 Attack Flow exploit_remote_services –>|copies binary via SMB| lateral_smb lateral_smb –>|executes remote command with sc.exe| wmi_event_sub wmi_event_sub –>|provides persistence| scheduled_task scheduled_task –>|runs in safe mode| safe_mode_boot safe_mode_boot –>|reu2011arms malware| vpn_proxy vpn_proxy –>|tunnels traffic| c2_discord c2_discord –>|primary C2 channel| rat rat –>|collects credentials| os_cred_dump os_cred_dump –>|gets LSASS dump| shadow_copy os_cred_dump –>|feeds| browser_passwords os_cred_dump –>|feeds| cred_manager os_cred_dump –>|enables| golden_ticket os_cred_dump –>|enables| silver_ticket golden_ticket –>|provides domain admin access| pass_hash silver_ticket –>|provides service access| pass_ticket rat –>|uses| pass_hash rat –>|uses| pass_ticket rat –>|uses| dc_sync rat –>|uses| dc_auth rat –>|elevates via| process_hollowing rat –>|elevates via| apc_injection rat –>|clears logs| clear_event_logs rat –>|captures| screen_capture rat –>|captures| video_capture rat –>|captures| audio_capture rat –>|captures| keylogging screen_capture –>|exfiltrates via| exfil_discord video_capture –>|exfiltrates via| exfil_discord audio_capture –>|exfiltrates via| exfil_discord keylogging –>|exfiltrates via| exfil_discord exfil_discord –>|fallback to| exfil_mqtt c2_discord –>|fallback to| c2_fallback c2_fallback –>|uses| c2_mqtt c2_mqtt –>|receives exfiltrated data| exfil_mqtt "

Fluxo de Ataque

Execução de Simulação

Pré-requisito: Verificação Prévia do Telemetria & Baseline deve ter passado.

Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) destinada a acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e têm como objetivo 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 e Comandos de Ataque:
    Um atacante implantou o backdoor WindowsAudit no host da vítima. Para recuperar comandos, o backdoor realiza consultas DNS para o CDN do Discord (gateway.discord.gg) e para um broker MQTT malicioso hospedado em *.hivemq.cloud. Essas consultas são emitidas via APIs nativas do Windows (sem ferramentas externas) para permanecer com um perfil baixo. As consultas DNS são o único artefato observável usado pela regra Sigma para detecção.

  • Script de Teste de Regressão:

    # Simulação de beacon DNS para C2 WindowsAudit
    # Gera as consultas DNS exatas que a regra Sigma observa.
    
    $c2Endpoints = @(
        "gateway.discord.gg",
        "malicious1.hivemq.cloud",
        "malicious2.hivemq.cloud"
    )
    
    foreach ($fqdn in $c2Endpoints) {
        try {
            # Use o resolvedor DNS nativo do Windows
            Resolve-DnsName -Name $fqdn -Type A -ErrorAction Stop | Out-Null
            Write-Host "[+] Consultou $fqdn"
        } catch {
            Write-Warning "Falha ao resolver $fqdn (C2 simulado)"
        }
        Start-Sleep -Seconds 5   # imitar intervalo realista de beacon
    }
  • Comandos de Limpeza:

    # Limpe o cache DNS para remover vestígios das consultas simuladas
    ipconfig /flushdns
    Write-Host "[*] Cache DNS limpo."