WindowsAudit : un RAT .NET modulaire utilisant Discord comme canal C2 principal
🔍 Contexte En avril 2026, l’équipe Profero IRT a identifié et analysé un backdoor .NET 8 nommé WindowsAudit.exe sur un hôte victime. L’analyse a été publiée le 28 avril 2026 sur le blog de Profero. L’activité a été signalée à la Direction nationale israélienne de la cybersécurité (INCD). La campagne est considérée comme potentiellement en phase de préparation vers une opération ransomware de plus grande envergure. 🧬 Caractéristiques du binaire Nom : WindowsAudit.exe (version interne v1.5.77) Type : RAT modulaire C# (.NET 8), single-file bundle natif Taille : 101 Mo, non signé Date de compilation : 19 mars 2026 Architecture : ~28 000 lignes de code C# avec séparation claire entre dispatch de commandes, transports C2 et modules fonctionnels 📡 Architecture C2 (trois canaux indépendants) Discord (primaire) : bot token hardcodé, gateway intents 33281, polling de deux canaux (tasking + résultats/transferts jusqu’à 25 Mo), reconnexion avec back-off aléatoire 15–30 secondes MQTT (secondaire) : broker HiveMQ Cloud public, port 8883 TLS, topics remoteadmin/commands et remoteadmin/results, client ID format ra-agent-{MachineName}-{short-guid} Telegram (optionnel) : ensemble de commandes réduit (ping, exec, ps, screenshot, etc.) 🔒 Mécanismes de persistance Service Windows WindowsAudit (LocalSystem, démarrage auto, récupération sur échec) Abonnement WMI Exclusion Windows Defender via Add-MpPreference Sauvegarde dans %CommonProgramData%\Microsoft\Windows\WinSAT\WinSATTemp.exe Clés de registre Run : WinSATService et WindowsAuditSvc sous HKCU\...\CurrentVersion\Run Tâche planifiée RemoteAdminEdrCleanup (déclenchée au démarrage en Safe Mode) Mutex : Global\WindowsAuditSingleInstance 🐾 Dropper compagnon : WinSATSvc Un second binaire .NET 8 (WinSATSvc.exe) se fait passer pour le service légitime Windows System Assessment Tool. Il vérifie toutes les 3 minutes si l’agent principal tourne, et si non, récupère des chunks GZip depuis Discord pour reconstituer et relancer WinSATTemp.exe (copie fraîche de l’agent principal). ...