BotHelper RAT Déploie des Charges Utiles Cryptées pour la Surveillance d’Écran en Direct
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Une chaîne d’infection Windows à plusieurs étapes utilise un chargeur initial natif pour récupérer une charge utile chiffrée qui déploie finalement un outil d’accès à distance .NET précédemment non documenté appelé BotHelper RAT. Le RAT prend en charge la surveillance en direct de l’écran, la surveillance du presse-papiers, l’exécution de commandes shell et la livraison de plugins supplémentaires. L’attaque est conçue pour être furtive grâce au déchiffrement en mémoire et au maquillage en tant que processus légitimes de Microsoft Edge.
Enquête
Point Wild a analysé la chaîne d’infection et identifié un chargeur x64 natif qui dresse le profil de l’hôte avant de télécharger un fichier chiffré depuis une URL désignée. L’enquête a révélé que le chargeur désactive la validation du certificat TLS et déchiffre la charge utile de l’étape suivante entièrement en mémoire pour réduire la détection basée sur le disque. BotHelper RAT établit alors la persistance via des tâches planifiées et corrige l’interface de scan de logiciels malveillants (AMSI).
Atténuation
L’atténuation devrait prioriser le blocage du chargeur initial et de l’infrastructure C2 associée. Les contrôles de sécurité devraient détecter la création non autorisée de tâches planifiées et le maquillage de processus suspect, y compris les instances de msedge_proxy.exe fonctionnant à partir du répertoire Temp. Les organisations devraient également surveiller les tentatives de correction de l’AMSI et les connexions TLS sortantes inhabituelles vers des domaines précédemment inconnus ou non fiables.
Réponse
Lorsque l’activité de BotHelper RAT est détectée, isolez le point d’extrémité affecté pour stopper l’exécution de commandes supplémentaires et l’exfiltration de données. Supprimez les tâches planifiées malveillantes et les fichiers déposés du répertoire temporaire de l’utilisateur. Effectuez une analyse de la mémoire pour identifier des composants supplémentaires en mémoire et recherchez des preuves de vol de presse-papiers, de surveillance d’écran en direct ou de captures d’écran.
Flux d’attaque
Détections
Schtasks pointe vers un répertoire/script/binaire suspect (via cmdline)
Tâche planifiée suspecte (via audit)
Commande et contrôle suspect par demande DNS avec domaine de premier niveau (TLD) inhabituel (via dns)
IOCs (HashSha256) pour détecter : BotHelper RAT : De charge utile chiffrée à surveillance d’écran en direct
IOCs (SourceIP) pour détecter : BotHelper RAT : De charge utile chiffrée à surveillance d’écran en direct
IOCs (DestinationIP) pour détecter : BotHelper RAT : De charge utile chiffrée à surveillance d’écran en direct
Détecter la décryption en boucle XOR dans la charge utile de BotHelper RAT [Windows Sysmon]
Détection de tâche planifiée pour la persistance de BotHelper RAT [Événement du registre Windows]
Détecter l’exécution de BotHelper RAT et msedge_proxy.exe [Création de processus Windows]
Exécution de simulation
-
Narrative & Commandes de l’attaque : L’attaquant a obtenu un accès initial et cherche maintenant à maintenir sa position. Pour échapper à la détection des outils de sécurité cherchant des balises « toujours actives », ils décident d’utiliser l’utilitaire
schtasks.exepour planifier une charge utile malveillante. En suivant le modèle BotHelper RAT, ils configurent la tâche pour qu’elle se déclenche toutes les 30 minutes. Cela permet au logiciel malveillant de « dormir » la plupart du temps, réduisant ainsi l’empreinte dans le trafic réseau et la surveillance des processus, tout en veillant à ce que la connexion au serveur C2 soit rétablie fréquemment. -
Script de test de régression :
# Script de simulation pour imiter le mécanisme de persistance de BotHelper RAT $taskName = "BotHelperUpdater" $payload = "C:WindowsSystem32calc.exe" # Utilisation de calc.exe comme proxy sécurisé pour la charge utile RAT Write-Host "[+] Simulation de la persistance de BotHelper RAT..." # Cette commande est conçue pour correspondre à la logique de détection : /create, /sc, et MINUTE=30 schtasks /create /tn "$taskName" /tr "$payload" /sc minute /mo 30 /f if ($LASTEXITCODE -eq 0) { Write-Host "[SUCCESS] Tâche créée. Vérifiez le SIEM pour la détection." } else { Write-Host "[FAILURE] Échec de la création de la tâche." } -
Commandes de nettoyage :
# Supprime la tâche de persistance simulée schtasks /delete /tn "BotHelperUpdater" /f Write-Host "[+] Nettoyage terminé. Tâche simulée supprimée."