Resoker RAT Utilise Telegram pour le Commandement et le Contrôle
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
ResokerRAT est un cheval de Troie d’accès à distance nouvellement identifié qui utilise l’API Telegram Bot pour la commande et le contrôle. Il persiste via une valeur de registre Run et inclut des fonctionnalités pour élever les privilèges, capturer des captures d’écran, bloquer le Gestionnaire des tâches et affaiblir les contrôles UAC. Pour réduire la visibilité, il exécute PowerShell dans une fenêtre masquée et tente de terminer les outils d’analyse courants. La détection peut pivoter sur son mutex, ses modifications de registre clés et son activité C2 basée sur Telegram.
Enquête
L’analyse de Resoker met en évidence la création de mutex, la logique anti-debug et la terminaison agressive des processus ciblant les utilitaires de sécurité et d’analyse. Le malware installe un décrocheur de clavier, accepte un ensemble défini de commandes livrées par Telegram et modifie les valeurs de registre pour désactiver le Gestionnaire des tâches et assouplir le comportement UAC. Les charges utiles ultérieures peuvent être récupérées par une exécution PowerShell dissimulée, permettant une expansion modulaire après la compromission initiale.
Atténuation
Surveillez le mutex connu et alertez sur les changements de registre liés à DisableTaskMgr et aux clés liées à l’UAC. Restreindre ou bloquer l’accès sortant aux points d’extrémité API de Telegram lorsque cela est possible, et appliquer un contrôle des applications pour empêcher l’exécution de PowerShell non autorisée. Les détections basées sur l’hôte qui signalent un comportement de décrocheur de clavier et une activité PowerShell en fenêtre cachée suspecte peuvent encore réduire l’impact.
Réponse
Si détecté, isolez l’hôte, arrêtez le processus malveillant et supprimez l’entrée de persistance Run-key. Conservez les preuves volatiles (valeur mutex, indicateurs de bot/C2 Telegram, télémétrie de la ligne de commande) et effectuez une analyse judiciaire complète pour détecter des charges utiles ou persistance supplémentaires. Rétablissez les changements de registre affectant le Gestionnaire des tâches et l’UAC, faites pivoter les identifiants exposés si un vol est suspecté, et réappliquez les politiques d’exécution au moins de privilèges pour éviter la récurrence.
"graph TB %% Class definitions classDef action fill:#ffcc99 classDef technique fill:#99ccff classDef persistence fill:#ffd699 classDef command_and_control fill:#ffdd99 %% Node definitions action_execution["<b>Action</b> – <b>T1059.001 PowerShell</b>: Exécuter une commande PowerShell cachée via Resoker.exe<br/><b>Technique</b>: Utiliser PowerShell pour exécuter des commandes"] class action_execution action tech_hide_window["<b>Technique</b> – <b>T1564.003 Fenêtre cachée</b>: Exécuter la commande dans une fenêtre cachée pour éviter la visibilité par l’utilisateur"] class tech_hide_window technique action_process_enum["<b>Action</b> – <b>T1057 Découverte de processus</b>: Enumérer les processus en cours et terminer les outils d’analyse"] class action_process_enum action action_keylogging["<b>Action</b> – <b>T1056.001 Keylogging</b>: Installer un décrocheur de clavier global de faible niveau pour capturer les entrées"] class action_keylogging action persistence_run_key["<b>Persistance</b> – <b>T1037.005 Clés de registre Run</b>: Créer une entrée de registre HKCU Run pour l’auto-démarrage"] class persistence_run_key persistence defense_disable_taskmgr["<b>Technique</b> – <b>T1562.001 Désactiver le Gestionnaire des tâches</b>: Définir la valeur de registre DisableTaskMgr à 1"] class defense_disable_taskmgr technique action_screen_capture["<b>Action</b> – <b>T1113 Capture d’écran</b>: Capturer l’écran via PowerShell et enregistrer des fichiers PNG"] class action_screen_capture action action_download["<b>Action</b> – <b>T1059.001 PowerShell</b> et <b>T1202 Exécution de commande indirecte</b>: Télécharger des fichiers supplémentaires en utilisant des commandes PowerShell cachées"] class action_download action c2_telegram["<b>Commande et Contrôle</b> – <b>T1102.002 Service Web</b> et <b>T1102.003 Messages unidirectionnels</b>: Communiquer avec l’attaquant via l’API Bot Telegram sur HTTPS"] class c2_telegram command_and_control %% Connections showing attack flow action_execution –>|uses| tech_hide_window action_execution –>|triggers| action_process_enum action_process_enum –>|terminates| action_keylogging action_process_enum –>|establishes| persistence_run_key persistence_run_key –>|hardens| defense_disable_taskmgr action_process_enum –>|enables| action_screen_capture action_screen_capture –>|invokes| action_download action_download –>|exfiltrates via| c2_telegram "
Flux d’attaque
Détections
Abus possible de Telegram comme canal de commande et contrôle (via dns_query)
Voir
Points de persistance possibles [ASEPs – Ruche Software/NTUSER] (via événement de registre)
Voir
Téléchargement ou téléversement via PowerShell (via cmdline)
Voir
IOC (DestinationIP) pour détecter : Resoker : Un cheval de Troie d’accès à distance basé sur Telegram
Voir
IOC (HashMd5) pour détecter : Resoker : Un cheval de Troie d’accès à distance basé sur Telegram
Voir
IOC (SourceIP) pour détecter : Resoker : Un cheval de Troie d’accès à distance basé sur Telegram
Voir
Détection de l’exécution de ResokerRAT [Création de processus Windows]
Voir
Détecter l’exécution de PowerShell silencieuse pour la capture d’écran [PowerShell Windows]
Voir
Exécution de simulation
Prérequis : Le contrôle de pré-vol de télémétrie et de ligne de base doit avoir réussi.
Justification : 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 TTPs identifiés et visent à générer la télémétrie exacte attendue par la logique de détection.
-
Narratif d’attaque et commandes :
Un adversaire ayant obtenu un point d’appui sur un poste de travail Windows souhaite capturer le bureau de l’utilisateur sans déclencher de signaux visuels. Il lance PowerShell avec l’-WindowStyle Hiddeninterrupteur, charge lesassemblies .NETandassemblies .NETassemblies .NETmethod, and writes the bitmap to a temporary file. The command is crafted in a single line to ensure the full string appears in the PowerShell Script Block log, matching all four detection selectors.method, and writes the bitmap to a temporary file. The command is crafted in a single line to ensure the full string appears in the PowerShell Script Block log, matching all four detection selectors. -
Script de test de régression :
# Capture d'écran silencieuse – reproduit la télémétrie de détection $psCommand = @" Add-Type -AssemblyName System.Windows.Forms Add-Type -AssemblyName System.Drawing $bounds = [System.Windows.Forms.Screen]::PrimaryScreen.Bounds $bitmap = New-Object System.Drawing.Bitmap $bounds.Width, $bounds.Height $graphics = [System.Drawing.Graphics]::FromImage($bitmap) $graphics.CopyFromScreen($bounds.Location, [System.Drawing.Point]::Empty, $bounds.Size) $output = "C:Tempscreenshot.png" $bitmap.Save($output, [System.Drawing.Imaging.ImageFormat]::Png) Write-Host "Screenshot saved to $output" "@ # Exécuter PowerShell caché avec la commande assemblée powershell -WindowStyle Hidden -Command $psCommand -
Commandes de nettoyage :
# Supprimez la capture d'écran et les objets résiduels Remove-Item -Path "C:Tempscreenshot.png" -ErrorAction SilentlyContinue