BITTER Élargit son Arsenal de Malware avec PapRAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Le groupe de cyberespionnage sud-asiatique BITTER mène des campagnes utilisant des chevaux de Troie d’accès à distance (RAT) personnalisés connus sous les noms de PapRAT et WmRAT. Les attaques reposent sur plusieurs chaînes d’infection impliquant des fichiers LNK, des images VHDX et des installateurs MSI pour établir la persistance et exécuter des commandes. Le malware a également évolué à partir d’implémentations en C++ vers des variantes en Rust plus performantes.
Enquête
Les laboratoires FortiGuard ont analysé trois chaînes d’attaque distinctes ciblant des organisations à travers l’Asie du Sud. L’enquête a identifié l’abus de LOLBins tels que ftp.exe et curl, ainsi que différentes techniques de mise en scène conçues pour contourner les contrôles de sécurité. L’analyse du malware a également révélé des configurations C2 encodées par XOR et un passage d’implants en C++ vers un malware plus récent basé sur Rust.
Atténuation
Les organisations devraient rester prudentes lorsqu’elles manipulent des fichiers LNK non sollicités, des raccourcis URL, des images disque et des paquets MSI. Les équipes de sécurité doivent mettre en œuvre des contrôles pour détecter les chaînes d’exécution suspectes, la création de tâches planifiées et le trafic C2 sortant inhabituel. La formation des utilisateurs axée sur les leurres de phishing et les pièces jointes malveillantes est également essentielle.
Réponse
Lorsqu’une activité malveillante est détectée, isolez les hôtes compromis pour empêcher les mouvements latéraux et l’exécution de commandes supplémentaires. Passez en revue les tâches planifiées et les journaux d’installation MSI pour détecter tout changement non autorisé. Effectuez une analyse médico-légale des artefacts persistants tels que err.log or talk.log, et inspectez le trafic réseau sortant à la recherche de connexions vers des domaines C2 identifiés ou suspects.
Flux d’attaque
Détections
Possibilité d’utilisation de Schtasks ou AT pour la persistance (via cmdline)
Exécution suspecte de l’utilitaire Fsutil [Impact] (via cmdline)
Énumération possible de logiciels antivirus ou de pare-feu (via process_creation)
Schtasks pointe vers un répertoire / binaire / script suspect (via cmdline)
Possible obfuscation de ligne de commande par insertion de circonflexes (via cmdline)
Possibilité d’exécution de script FTP avec des extensions inhabituelles (via cmdline)
MsiExec lancé par le processus Shell (via cmdline)
LOLBAS Conhost (via cmdline)
Utilisation suspecte de CURL (via cmdline)
Un fichier de disque dur virtuel a été créé (via file_event)
IOCs (HashSha256) pour détecter : BITTER élargit son arsenal avec PapRAT
IOCs (SourceIP) pour détecter : BITTER élargit son arsenal avec PapRAT
IOCs (DestinationIP) pour détecter : BITTER élargit son arsenal avec PapRAT
Détection de la création de tâche planifiée pour un contact persistant [Système Windows]
Détection d’exécution de commande PowerShell variante de PapRAT Rust [Windows Powershell]
Exécution malveillante de LNK abusant des utilitaires Windows et scripts [Création de processus Windows]
Exécution de simulation
-
Narrative de l’attaque & Commandes : L’adversaire vise à établir une persistance sur la machine victime pour s’assurer que leur charge utile malveillante s’exécute toutes les 30 minutes, facilitant ainsi une connexion continue à leur infrastructure de Command and Control (C2). Pour se fondre dans l’activité système légitime et échapper à la détection simple basée sur les signatures, l’attaquant utilise les
utility schtasks.exe. Ils choisissent un nom de tâche trompeur,MicrosoftUpdatesupdates11678, imitant un service de mise à jour Windows légitime pour se dissimuler à la vue dans la bibliothèque du Planificateur de tâches. -
Script de test de régression :
# Script de simulation pour déclencher la règle de détection spécifique # Ce script imite le mécanisme de persistance du groupe BITTER. $TaskName = "MicrosoftUpdatesupdates11678" $Command = "cmd.exe /c echo 'C2 Beaconing Simulation'" Write-Host "[+] Tentative de création de tâche planifiée : $TaskName" -ForegroundColor Cyan # Exécutez la commande qui correspond exactement à la logique de détection # La logique cherche : schtasks.exe + /create + /sc minute + /mo 30 + nom de tâche schtasks /create /sc minute /mo 30 /tn "$TaskName" /tr "$Command" /f if ($LASTEXITCODE -eq 0) { Write-Host "[!] SUCCÈS : Tâche planifiée créée. Vérifiez SIEM pour une alerte." -ForegroundColor Green } else { Write-Host "[-] ÉCHEC : Impossible de créer la tâche. Assurez-vous d'exécuter en tant qu'administrateur." -ForegroundColor Red } -
Commandes de nettoyage :
# Script de nettoyage pour supprimer la persistance simulée $TaskName = "MicrosoftUpdatesupdates11678" Write-Host "[+] Suppression de la tâche planifiée : $TaskName" -ForegroundColor Cyan schtasks /delete /tn "$TaskName" /f if ($LASTEXITCODE -eq 0) { Write-Host "[!] Nettoyage réussi." -ForegroundColor Green } else { Write-Host "[-] Échec du nettoyage. Suppression manuelle requise." -ForegroundColor Red }