Attaque par chaîne d’approvisionnement de STX RAT impacte les portefeuilles et X-VPN
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Le rapport décrit un cadre de chargeur à plusieurs étapes utilisé par le groupe Gamaredon soutenu par l’État russe pour maintenir un accès à long terme dans les environnements gouvernementaux et les infrastructures critiques ukrainiennes. Les chargeurs sont délivrés via des plateformes légitimes de cloud et des services de messagerie, stockent les détails de commande et de contrôle dans le registre Windows, et s’appuient sur des flux de données alternatifs ainsi que des tâches planifiées pour déclencher les charges utiles ultérieures.
Enquête
Sekoia.io a reconstruit trois étapes de chargeur basées sur VBScript qui récupèrent du code supplémentaire depuis des résolveurs dead-drop hébergés sur des services tels que Telegram, Telegraph et Check-Host. La deuxième étape écrit une charge utile dans un ADS sous %TEMP% et crée une tâche planifiée, tandis que la troisième étape lance un processus PowerShell caché qui télécharge et exécute le module final GammaSteel stealer.
Atténuation
Les défenseurs devraient surveiller les écritures suspectes dans le registre sous HKCUConsole, les tâches planifiées inattendues nommées DsSvcCleanup, l’utilisation anormale des flux de données alternatifs dans %TEMP%, et le trafic réseau vers les domaines connus de Cloudflare, Telegram et Check-Host. L’exécution de scripts VBScript et PowerShell non signés qui s’appuient sur des commandes encodées devrait également être bloquée ou strictement limitée.
Réponse
En cas de compromission détectée, isolez immédiatement les hôtes affectés, collectez les clés de registre pertinentes et les définitions des tâches planifiées, préservez les fichiers liés aux ADS, et bloquez les domaines et adresses IP de commande et de contrôle identifiés. Effectuez une imagerie judiciaire et recherchez le voleur GammaSteel à la fois en mémoire et sur disque.
"graph TB %% Class Definitions classDef technique fill:#99ccff classDef operator fill:#ff9900 classDef tool fill:#cccccc %% Node definitions initial_driveby["<b>Technique</b> – <b>T1189 Compromission par Drive‑by</b><br/><b>Description</b>: Compromettre un site Web pour livrer du contenu malveillant lorsqu’un utilisateur le visite."] class initial_driveby technique c2_deadDrop["<b>Technique</b> – <b>T1102.001 Résolveur Dead Drop de Service Web</b><br/><b>Description</b>: Utiliser des services Web légitimes pour échanger des données de commande et de contrôle."] class c2_deadDrop technique c2_dynamic["<b>Technique</b> – <b>T1568 Résolution Dynamique</b><br/><b>Description</b>: Résoudre dynamiquement les adresses C2 pour échapper à la détection."] class c2_dynamic technique execution_vbscript["<b>Technique</b> – <b>T1216.002 Exécution de Script Proxy Système VBScript</b><br/><b>Description</b>: Exécuter un VBScript malveillant via un proxy de script système."] class execution_vbscript technique persistence_task["<b>Technique</b> – <b>T1053.005 Tâche Planifiée</b><br/><b>Description</b>: Créer une tâche planifiée pour maintenir la persistance."] class persistence_task technique priv_esc_reflect["<b>Technique</b> – <b>T1620 Chargement de Code Réfléchi PowerShell</b><br/><b>Description</b>: Charger du code malveillant de manière réfléchie en mémoire en utilisant PowerShell."] class priv_esc_reflect technique propagation_usb["<b>Technique</b> – <b>T1091 Réplication par Médias Amovibles</b><br/><b>Description</b>: Copier des fichiers malveillants sur des clés USB pour la propagation."] class propagation_usb technique %% Connections showing attack flow initial_driveby –>|conduit à| c2_deadDrop c2_deadDrop –>|utilise| c2_dynamic c2_dynamic –>|active| execution_vbscript execution_vbscript –>|établit| persistence_task persistence_task –>|facilite| priv_esc_reflect execution_vbscript –>|active| propagation_usb "
Flux d’Attaque
Détections
La Possibilité d’Exécution via des Lignes de Commande PowerShell Cachées (via cmdline)
Voir
Appeler des Méthodes .NET Suspectes depuis Powershell (via powershell)
Voir
LOLBAS WScript / CScript (via création_de_processus)
Voir
Abus Possible de Telegram Comme Canal de Commande et Contrôle (via requête_dns)
Voir
Communication Suspecte de Domaine Trycloudflare (via dns)
Voir
Abus Possible de Domaine de Développement Cloudflare (via dns)
Voir
IOC (HashMd5) à détecter : matryoshka #2/3 du FSB – cadeaux de Gamaredon qui continuent de se déballer – GammaLoad
Voir
IOC (SourceIP) à détecter : matryoshka #2/3 du FSB – cadeaux de Gamaredon qui continuent de se déballer – GammaLoad
Voir
IOC (DestinationIP) à détecter : matryoshka #2/3 du FSB – cadeaux de Gamaredon qui continuent de se déballer – GammaLoad
Voir
Détection d’Exécution en Mémoire de PowerShell de Gamaredon [Windows Powershell]
Voir
Détection des Mises à Jour d’URL C2 de Gamaredon dans le Registre [Événement Registre Windows]
Voir
Exécution de Simulation
Condition préalable : Le Contrôle Pré-vol de Télémétrie et Baseline doit avoir réussi.
Rationale : 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 TTP identifiés et viser à générer exactement la télémétrie attendue par la logique de détection.
-
Narratif & Commandes d’Attaque :
Le cyberacteur, ayant compromis la session de l’utilisateur, doit mettre à jour son point de terminaison C2 afin que les futurs balises atteignent un nouveau serveur. Gamaredon stocke l’URL dans une clé de registre bien connue sousHKCUConsole. L’attaquant utilise PowerShell natif (Set-ItemProperty) pour écrire la nouvelle URL, évitant tout outil tiers et restant ainsi dans une méthode “living‑off‑the‑land”. Cette action génère un événement de valeur de registre définie (EventID 13) avec le chemin complet, ce qui correspond à la règle SigmaRegistryPath|containsfiltre.# Mise à jour simulée de l'URL C2 de Gamaredon – écrit dans une clé surveillée $c2Url = "https://c2.gamaredon.example.com/payload" $targetKey = "HKCU:ConsoleHistoryURL" New-Item -Path $targetKey -Force | Out-Null Set-ItemProperty -Path $targetKey -Name "URL" -Value $c2Url -
Script de Test de Régression : (PowerShell – autonome)
<# Simule la mise à jour de l'URL C2 de Gamaredon dans une clé de registre surveillée par la règle Sigma. #> # Paramètres (ajuster si nécessaire) $c2Url = "https://c2.gamaredon.example.com/payload" $regPath = "HKCU:ConsoleHistoryURL" $valueName = "URL" # S'assurer que la clé existe if (-not (Test-Path $regPath)) { New-Item -Path $regPath -Force | Out-Null } # Écrire l'URL C2 malveillante Set-ItemProperty -Path $regPath -Name $valueName -Value $c2Url Write-Host "[*] URL C2 écrite dans $regPath$valueName" -
Commandes de Nettoyage : (PowerShell)
# Supprimer la clé/valeur simulée pour laisser le système propre $regPath = "HKCU:ConsoleHistoryURL" if (Test-Path $regPath) { Remove-ItemProperty -Path $regPath -Name "URL" -ErrorAction SilentlyContinue # Supprimer éventuellement la clé entière Remove-Item -Path $regPath -Recurse -Force -ErrorAction SilentlyContinue Write-Host "[*] Nettoyage des artefacts de registre simulés effectué." }