Remcos RAT livré via un bon de commande trompeur
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Un email de phishing à thème de commande d’achat livre une archive avec une double extension qui extrait un chargeur VBS malveillant. Ce chargeur lance un processus PowerShell caché, qui récupère un faux fichier PNG contenant une charge utile encodée. La charge utile est ensuite déobfusquée, reconstruite en tant qu’exécutable portable .NET, et chargée directement en mémoire, déployant finalement le cheval de Troie d’accès à distance Remcos. La campagne met en valeur une chaîne d’exécution sans fichier construite autour de techniques d’attaque par email familières.
Investigation
L’analyse a suivi toute la séquence d’infection de l’email de phishing original au déploiement final du RAT Remcos. Les enquêteurs ont identifié des artefacts clés, y compris le nom du script VBS, l’utilisation des variables d’environnement PowerShell, et l’URL utilisée pour télécharger le faux fichier PNG. L’assemblage .NET reconstruit a été chargé en mémoire, tandis que des entrées de registre spécifiques à Remcos et des artefacts de mutex ont aidé à confirmer la charge utile finale. Les chercheurs ont également capturé des indicateurs de réseau pertinents, y compris le domaine de commande et de contrôle lié à la campagne.
Atténuation
Les organisations devraient renforcer le scan des pièces jointes et bloquer les fichiers d’archive utilisant des doubles extensions trompeuses. Les politiques d’exécution PowerShell devraient être appliquées, et l’utilisation de wscript.exe devrait être strictement restreinte lorsque c’est possible. Les défenseurs devraient également surveiller les clés de registre suspectes sous HKCUSOFTWARE et suivre les empreintes digitales TLS JA3 associées à l’activité Remcos. Les passerelles de sécurité email devraient être mises à jour régulièrement pour améliorer la détection des leurres de phishing ciblant les flux de travail de l’approvisionnement et des finances.
Réponse
Si cette activité est détectée, isolez immédiatement le point d’extrémité affecté et terminez les processus PowerShell or wscript.exe suspects. Collectez des dumps mémoire et des artefacts de registre pertinents pour analyse forensic avant le nettoyage. Retirez la charge utile Remcos et les entrées de persistance associées, puis réinitialisez les identifiants qui pourraient avoir été exposés. Une recherche de menace plus large devrait également être conduite à travers l’environnement pour identifier les systèmes montrant des indicateurs similaires.
"graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef file fill:#e6e6e6 classDef process fill:#ffeb99 classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef config fill:#dddddd %% Node definitions action_phishing["<b>Action</b> – <b>T1566.001 Spearphishing Attachment</b><br/>La victime reçoit un email avec une archive malveillante nommée <i>Sarens PO_SB-0407026-001_PDF.txz</i>"] class action_phishing action technique_masquerade["<b>Technique</b> – <b>T1036.007 Masquerading: Double File Extension</b><br/>L’archive utilise l’extension .txz mais apparaît comme .pdf pour tromper l’utilisateur"] class technique_masquerade technique action_user_exec["<b>Action</b> – <b>T1204.002 User Execution</b><br/>La victime ouvre l’archive, causant l’extraction d’un script VBS"] class action_user_exec action file_vbs["<b>File</b> – <b>Script VBS</b><br/>Nom: Sarens PO_SB-0407026-001_PDF.vbs"] class file_vbs file process_wscript["<b>Process</b> – <b>wscript.exe</b><br/>Exécute le script VBS"] class process_wscript process process_powershell["<b>Process</b> – <b>PowerShell</b><br/>Se lance avec un bypass de la politique d’exécution pour télécharger la charge utile distante"] class process_powershell process file_payload_image["<b>File</b> – <b>Fausses Image</b><br/>Nom: optimized_MSI.png<br/>Contient la charge utile encodée en Base64 de l’exécutable portable .NET"] class file_payload_image file technique_proc_inject_tls["<b>Technique</b> – <b>T1055.005 Process Injection: Thread Local Storage</b><br/>PowerShell injecte du code via TLS"] class technique_proc_inject_tls technique technique_proc_inject_apc["<b>Technique</b> – <b>T1055.004 Process Injection: Asynchronous Procedure Call</b><br/>PowerShell injecte du code via APC"] class technique_proc_inject_apc technique technique_proc_inject_pe["<b>Technique</b> – <b>T1055.002 Process Injection: Portable Executable Injection</b><br/>L’exécutable portable .NET reconstruit est chargé en mémoire avec AppDomain.Load"] class technique_proc_inject_pe technique malware_remcos["<b>Malware</b> – <b>Remcos RAT</b><br/>Etablit un canal TLS chiffré vers le domaine C2"] class malware_remcos malware comm_c2_web["<b>Technique</b> – <b>T1102.003 Web Service: Oneu2011Way Communication</b><br/>Connexion TLS chiffrée vers <i>dentalux202.ydns.eu</i>"] class comm_c2_web technique registry_key["<b>Configuration</b> – <b>Clé de Registre</b><br/>HKCUSOFTWARERmcu2011HQO1B7 créée par le RAT"] class registry_key config mutex["<b>Configuration</b> – <b>Mutex</b><br/>Identificateur de mutex Remcos Rmcu2011HQO1B7"] class mutex config %% Connections action_phishing –>|delivers| technique_masquerade technique_masquerade –>|leads to| action_user_exec action_user_exec –>|extracts| file_vbs file_vbs –>|executed by| process_wscript process_wscript –>|launches| process_powershell process_powershell –>|downloads| file_payload_image file_payload_image –>|provides| technique_proc_inject_tls file_payload_image –>|provides| technique_proc_inject_apc file_payload_image –>|provides| technique_proc_inject_pe technique_proc_inject_tls –>|enables| malware_remcos technique_proc_inject_apc –>|enables| malware_remcos technique_proc_inject_pe –>|enables| malware_remcos malware_remcos –>|communicates via| comm_c2_web malware_remcos –>|creates| registry_key malware_remcos –>|creates| mutex "
Flux d’attaque
Détections
WScript / CScript LOLBAS (via création_de_processus)
Voir
Appel de méthodes .NET suspectes depuis PowerShell (via powershell)
Voir
Chaînes PowerShell suspectes (via powershell)
Voir
Un service DNS dynamique possible a été contacté (via dns)
Voir
IOCs (HashSha256) pour détecter : D’une commande d’achat trompeuse au RAT Remcos
Voir
IOCs (SourceIP) pour détecter : D’une commande d’achat trompeuse au RAT Remcos
Voir
IOCs (DestinationIP) pour détecter : D’une commande d’achat trompeuse au RAT Remcos
Voir
Domaine de commande et contrôle du RAT Remcos et accès à l’URL de la charge utile malveillante [Connexion réseau Windows]
Voir
Détection de l’exécution du script VBS suivi de PowerShell avec bypass de la politique d’exécution [Création de processus Windows]
Voir
Exécution de Simulation
Prérequis : La vérification préalable de télémetrie et de référence doit avoir été validée.
Narratif de l’attaque & Commandes
L’adversaire envoie un email de phishing avec un fichier attaché malicious.vbs. L’utilisateur double-clique sur le fichier, invoquant wscript.exe. Le script VBS lance ensuite PowerShell avec -ExecutionPolicy Bypass pour télécharger une charge utile PowerShell distante qui installe le RAT Remcos. La ligne de commande exacte est :
powershell.exe -ExecutionPolicy Bypass -NoLogo -WindowStyle Hidden -EncodedCommand <BASE64_PAYLOAD>
Script de Test de Régression
#--------------------------------------------------------------------
# Script de Simulation : Exécution VBS → Bypass de la politique d'exécution PowerShell
#--------------------------------------------------------------------
# 1. Construire une petite charge utile PowerShell (par exemple, écrire un fichier marqueur)
$payload = 'Set-Content -Path "$env:Temppwned.txt" -Value "Compromis"'
$encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))
# 2. Créer le fichier VBS malveillant qui exécute la commande PowerShell
$vbsContent = @"
Set objShell = CreateObject("WScript.Shell")
objShell.Run "powershell.exe -ExecutionPolicy Bypass -NoLogo -WindowStyle Hidden -EncodedCommand $encoded", 0, False
"@
$vbsPath = "$env:Tempmalicious.vbs"
Set-Content -Path $vbsPath -Value $vbsContent -Encoding ASCII
# 3. Exécuter le script VBS (simule le double-clic de l'utilisateur)
Start-Process -FilePath "wscript.exe" -ArgumentList "`"$vbsPath`"" -WindowStyle Hidden
# Facultatif : attendez quelques secondes pour que la charge utile s'exécute
Start-Sleep -Seconds 5
Write-Host "Simulation complète. Vérifiez $env:Temppwned.txt pour un artefact."
#--------------------------------------------------------------------
Commandes de Nettoyage
# Retirer les artefacts créés durant la simulation
Remove-Item -Path "$env:Tempmalicious.vbs" -ErrorAction SilentlyContinue
Remove-Item -Path "$env:Temppwned.txt" -ErrorAction SilentlyContinue
# Arrêter tout processus PowerShell résiduel démarré par le script (si nécessaire)
Get-Process -Name "powershell" -ErrorAction SilentlyContinue | Stop-Process -Force