SOC Prime Bias: Critique

30 Avr 2026 17:21

WindowsAudit Backdoor : À l’intérieur d’un RAT .NET qui se cache dans Discord

Author Photo
Ruslan Mikhalov Chef de la Recherche sur les Menaces chez SOC Prime linkedin icon Suivre
WindowsAudit Backdoor : À l’intérieur d’un RAT .NET qui se cache dans Discord
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Profero IRT a identifié une porte dérobée .NET 8 nommée WindowsAudit.exe qui utilise Discord comme principal canal de commande et de contrôle, tout en prenant en charge MQTT et Telegram comme chemins de communication de secours. Le logiciel malveillant fonctionne en tant que service Windows, crée une copie de sauvegarde de lui-même, établit plusieurs mécanismes de persistance et réalise le vol d’identifiants, l’abus d’Active Directory et des activités d’évasion de défense. Il met également en place des tunnels WireGuard pour soutenir un mouvement latéral furtif dans l’environnement. L’ensemble de la technique suggère que les attaquants pourraient préparer les réseaux affectés pour une étape ultérieure de ransomware.

Enquête

Les enquêteurs ont obtenu le binaire de WindowsAudit , ont confirmé qu’il s’agissait d’un trojan d’accès à distance modulaire en C#, et ont rétro-ingénieré son composant DLL intégré. Leur analyse a détaillé les techniques de persistance du malware, son architecture de communication, ses capacités de vidage d’informations d’identification et ses méthodes d’évasion, y compris le patching d’AMSI et d’ETW. L’équipe a également examiné un agent de distribution connexe appelé WinSATSvc, qui semble conçu pour restaurer le malware si supprimé. À partir de ce travail, les chercheurs ont extrait un ensemble d’indicateurs de compromission pour soutenir la recherche et la détection.

Atténuation

Les détections recommandées incluent la surveillance de la création du binaire de WindowsAudit service, des entrées de clé Run associées, le mutex GlobalWindowsAuditSingleInstance , et des exécutions suspectes de Add-MpPreference . Les défenseurs devraient également bloquer ou alerter sur le trafic TLS vers Discord et l’infrastructure HiveMQ, tout en surveillant les changements de démarrage sécurisé bcdedit et la création de tâches planifiées suspectes. Toute configuration de tunnel WireGuard liée au malware devrait être supprimée, et tous les mécanismes de persistance établis par la porte dérobée devraient être désactivés. bcdedit safe-boot changes and suspicious scheduled task creation. Any WireGuard tunnel configuration tied to the malware should be removed, and all persistence mechanisms established by the backdoor should be disabled.

Réponse

Les organisations devraient immédiatement traquer les indicateurs de compromission publiés, isoler les systèmes affectés, et arrêter le binaire de WindowsAudit service. Les images mémoire et disque devraient être collectées pour examen judiciaire, les binaires malveillants devraient être supprimés, et tout identifiant compromis devrait être réinitialisé. Les équipes de sécurité devraient également vérifier que les exclusions EDR non autorisées ont été supprimées, confirmer que les changements de configuration du mode sans échec ont été inversés, et continuer à surveiller pour toute réinstallation ou recréation des composants du 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 "

Flux d’attaque

Exécution de simulation

Prérequis : Le contrôle préliminaire de télémétrie & de base doit avoir réussi.

Raisonnement : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTP identifiés et viser à générer la télémétrie exacte attendue par la logique de détection. Des exemples abstraits ou non liés entraîneront un mauvais diagnostic.

  • Narration d’attaque et commandes :
    Un attaquant a déployé la porte dérobée WindowsAudit sur l’hôte victime. Pour récupérer les commandes, la porte dérobée effectue des recherches DNS vers le CDN Discord (gateway.discord.gg) et vers un courtier MQTT malveillant hébergé sur *.hivemq.cloud. Ces requêtes sont émises via les API natives de Windows (aucun outil externe) pour rester discret. Les requêtes DNS sont le seul artefact observable utilisé par la règle Sigma pour la détection.

  • Script de test de régression :

    # Simulation de balise DNS C2 de WindowsAudit
    # Génère les requêtes DNS exactes que la règle Sigma surveille.
    
    $c2Endpoints = @(
        "gateway.discord.gg",
        "malicious1.hivemq.cloud",
        "malicious2.hivemq.cloud"
    )
    
    foreach ($fqdn in $c2Endpoints) {
        try {
            # Utiliser le résolveur DNS natif de Windows
            Resolve-DnsName -Name $fqdn -Type A -ErrorAction Stop | Out-Null
            Write-Host "[+] Requête effectuée pour $fqdn"
        } catch {
            Write-Warning "Impossible de résoudre $fqdn (C2 simulé)"
        }
        Start-Sleep -Seconds 5   # imiter un intervalle de balise réaliste
    }
  • Commandes de nettoyage :

    # Vider le cache DNS pour supprimer les traces des requêtes simulées
    ipconfig /flushdns
    Write-Host "[*] Cache DNS effacé."