ErrTraffic : À l’intérieur d’un cadre de distribution de logiciel malveillant ClickFix en pleine croissance
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
ErrTraffic est un cadre JavaScript malveillant proposé via un modèle de malware en tant que service. Il est principalement injecté dans des sites WordPress compromis pour livrer des pages d’ingénierie sociale de style ClickFix et des charges utiles malveillantes ultérieures. Le cadre utilise également la technique EtherHiding pour découvrir l’infrastructure de commande et de contrôle via des contrats intelligents sur la blockchain.
Enquête
Les chercheurs de Sekoia TDR ont identifié deux clusters d’activité distincts, appelés le cluster « Analytics » et le cluster « Beer ». Leur enquête a révélé plusieurs chemins de déploiement, y compris des portes dérobées PHP WordPress, des attaques par bourrage d’identifiants pour l’accès initial et des campagnes de malvertising imitant des plateformes d’IA. L’analyse médico-légale a également montré des différences claires dans le style de codage, l’utilisation des commandes et les modèles d’infrastructure entre les deux clusters.
Atténuation
Les organisations devraient appliquer une hygiène stricte des identifiants et une authentification multi-facteurs pour réduire le risque de compromission d’administrateur WordPress. La mise à jour régulière des plugins WordPress est également essentielle, en particulier pour les failles connues telles que CVE-2020-25213. Les défenseurs doivent surveiller les comportements suspects de PowerShell et le trafic sortant inhabituel vers les services RPC blockchain ou les domaines de premier niveau inhabituels.
Réponse
Si des indicateurs d’ErrTraffic sont détectés, les serveurs web affectés doivent être isolés immédiatement et tous les comptes WordPress vérifiés pour un accès administrateur non autorisé. Un balayage judiciaire complet doit être effectué pour identifier les MU-plugins cachés et les fichiers PHP non autorisés. Les identifiants potentiellement exposés doivent être révoqués, et toutes les clés API et les secrets administratifs doivent être renouvelés.
graph TB %% Définition des classes classDef reconnaissance fill:#f9f,stroke:#333,stroke-width:2px classDef execution fill:#ff9,stroke:#333,stroke-width:2px classDef persistence fill:#9f9,stroke:#333,stroke-width:2px classDef command_control fill:#9cf,stroke:#333,stroke-width:2px classDef delivery fill:#f96,stroke:#333,stroke-width:2px %% Section reconnaissance et accès initial recon_cred[« <b>Technique</b> – <b>T1589.001 Collecte d’informations d’identité de la victime : Identifiants</b><br/>Description : Utilisation d’identifiants administrateur volés<br/>pour accéder aux sites WordPress. »] class recon_cred reconnaissance recon_drive_by[« <b>Technique</b> – <b>T1189 Compromission par navigation</b><br/>Description : Utilisation de publicités malveillantes pour rediriger les utilisateurs<br/>vers des sites imitant des plateformes d’IA comme ChatGPT. »] class recon_drive_by reconnaissance %% Section exécution exec_clickfix[« <b>Technique</b> – <b>T1204.004 Exécution utilisateur : Copier-coller malveillant</b><br/>Description : Utilisation de la technique ClickFix avec de faux messages d’erreur<br/>comme BSOD ou reCAPTCHA pour inciter les utilisateurs à exécuter des commandes PowerShell. »] class exec_clickfix execution %% Section persistance et C2 pers_webshell[« <b>Technique</b> – <b>T1505.003 Composant logiciel serveur : Web Shell</b><br/>Description : Déploiement de portes dérobées PHP telles que<br/>session-manager.php MU-Plugin ou Responsive Webshell. »] class pers_webshell persistence pers_valid_acc[« <b>Technique</b> – <b>T1078 Comptes valides</b><br/>Description : Maintien de l’accès via le tableau de bord WordPress compromis<br/>avec des identifiants légitimes. »] class pers_valid_acc persistence c2_etherhiding[« <b>Technique</b> – <b>EtherHiding</b><br/>Description : Facilite la communication avec l’infrastructure C2<br/>en utilisant des contrats intelligents blockchain comme Dead Drop Resolver. »] class c2_etherhiding command_control %% Section livraison de charge utile et accès aux identifiants del_ingress[« <b>Technique</b> – <b>T1105 Transfert d’outils entrant</b><br/>Description : Utilisation de PowerShell pour télécharger et extraire<br/>des binaires malveillants avec 7z. »] class del_ingress delivery acc_cred_access[« <b>Technique</b> – <b>T1539 Accès aux identifiants</b><br/>Description : Les familles de logiciels malveillants exfiltrent les identifiants volés,<br/>les cookies de session web et les données sensibles WooCommerce. »] class acc_cred_access delivery malware_stealer[« <b>Logiciel malveillant</b> – <b>Vidar ou Stealc</b><br/>Description : Infostealers utilisés pour exfiltrer des données<br/>vers des domaines contrôlés par les attaquants. »] class malware_stealer delivery %% Flux des connexions recon_cred –>|mène_à| exec_clickfix recon_drive_by –>|mène_à| exec_clickfix exec_clickfix –>|active| pers_webshell exec_clickfix –>|active| pers_valid_acc pers_webshell –>|facilite| c2_etherhiding pers_valid_acc –>|facilite| c2_etherhiding c2_etherhiding –>|commande| del_ingress del_ingress –>|déploie| malware_stealer malware_stealer –>|effectue| acc_cred_access
Flux d’attaque
Exécution de la simulation
Prérequis : Le contrôle de prévol de télémétrie et de référence doit avoir réussi.
Justification : 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 viser à générer la télémétrie exacte attendue par la logique de détection. Les exemples abstraits ou non liés entraîneront un mauvais diagnostic.
-
Narration et commandes d’attaque : Un attaquant a réussi à tromper un utilisateur pour qu’il clique sur un bouton « Fix » sur un site web malveillant. Cela déclenche une commande PowerShell conçue pour télécharger et déchiffrer une charge utile. Pour échapper à une détection basée sur des chaînes simples, le script utilise le déchiffrement XOR. L’adversaire utilise l’en-tête spécifique ErrTraffic
<# Vérification du code : 656560395146 #>pour contourner certains contrôles internes ou comme un marqueur pour leur propre cadre. Le script utilise[convert]::ToInt32pour traiter les clés XOR et l’opérateur-bxorpour déchiffrer les octets de la charge utile. -
Script de test de régression :
# Simulation de la routine de déchiffrement de la charge utile ErrTraffic ClickFix PowerShell $header = "<# Vérification du code : 656560395146 #>" $encodedPayload = @(10, 20, 30, 40) $key = [convert]::ToInt32("5") Write-Host "Initialisation du déchiffrement de la charge utile..." $decrypted = foreach ($byte in $encodedPayload) { $byte -bxor $key } Write-Host "Déchiffrement terminé." -
Commandes de nettoyage :
# Aucune modification permanente n'est effectuée par le script de simulation. # Il suffit de vider la console. Clear-Host