Comparaison de Deux Chargeurs de Malware : Du Lancement via ClickFix au C2
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Les acteurs malveillants s’appuient de plus en plus sur les techniques ClickFix et TerminalFix pour délivrer des chargeurs de logiciels malveillants, notamment Lorem Ipsum Loader et Axolotl Loader. Ces chargeurs servent souvent de précurseurs au déploiement de ransomware via le chargement par DLL, les installateurs MSI et l’exécution de Node.js. Les campagnes intègrent également des techniques d’évasion avancées telles que le découplage ntdll et les charges utiles cryptées intégrées dans des sections DLL personnalisées.
Enquête
Les chercheurs ont analysé des échantillons de Lorem Ipsum et Axolotl Loader pour examiner leurs chaînes de livraison et leurs caractéristiques techniques. L’enquête a révélé des installateurs MSI trojanisés, des scripts PowerShell à plusieurs étapes, et une .cpoc section distinctive au sein des DLLs utilisées pour le stockage des ressources. L’analyse comparative a également mis en évidence des différences dans la communication C2, les mécanismes d’évasion et les techniques de persistance entre les deux familles de chargeurs.
Atténuation
Les organisations devraient surveiller la télémétrie Sysmon pour le chargement par DLL et les relations de processus parent-enfant suspectes, y compris PowerShell lançant des fichiers batch. L’application de contrôles stricts sur l’exécution des installateurs MSI et la détection des DLL non signées dans les répertoires accessibles en écriture par l’utilisateur est recommandée. Les équipes de sécurité doivent également inspecter le trafic réseau pour des User-Agents inhabituels, comme Firefox/143, et des modèles d’enregistrement C2 suspects associés aux infections actives.
Réponse
Lorsqu’une activité malveillante est détectée, isolez les hôtes affectés et effectuez une analyse forensique des répertoires accessibles en écriture par l’utilisateur tels que C:WindowsTemp ou C:UsersPublic. Recherchez des tâches planifiées et des clés de registre Run utilisant des noms aléatoires. Effectuez des recherches rétrospectives dans les logs DNS et proxy pour les domaines C2 et adresses IP connus afin de déterminer l’étendue de la compromission.
Flux d’attaque
Nous mettons toujours à jour cette partie.
Détections
Points de persistance possibles [ASEPs – Ruche Software/NTUSER] (via registry_event)
Exécution possible par utilisation d’un nom de script court (via cmdline)
Schtasks pointe vers un répertoire/script binaire suspect (via cmdline)
Chaînes PowerShell suspectes (via powershell)
Appel de fonctions API Windows suspectes depuis PowerShell (via powershell)
Fichiers suspects dans le profil utilisateur public (via file_event)
Tâche planifiée suspecte (via audit)
IOCs (HashSha256) à détecter : De ClickFix à C2 : Analyse comparative de deux chargeurs de logiciels malveillants Partie 2
IOCs (HashSha256) à détecter : De ClickFix à C2 : Analyse comparative de deux chargeurs de logiciels malveillants Partie 1
IOCs (HashMd5) à détecter : De ClickFix à C2 : Analyse comparative de deux chargeurs de logiciels malveillants
IOCs (SourceIP) à détecter : De ClickFix à C2 : Analyse comparative de deux chargeurs de logiciels malveillants
IOCs (DestinationIP) à détecter : De ClickFix à C2 : Analyse comparative de deux chargeurs de logiciels malveillants
Relance automatique du hôte par chargement latéral avec Mutex nommé UUID [Création de processus Windows]
Détection des requêtes malveillantes et des modèles de commande et de contrôle avec letsdiskuss.com [Connexion réseau Windows]
Chargement par DLL et persistance de la clé de registre Run via des exécutables Microsoft signés [Windows Sysmon]
Détection d’activité PowerShell et DLL malveillante [Windows PowerShell]
Exécution de simulation
-
Narratif de l’attaque et commandes : Un adversaire a obtenu un accès initial et tente de déployer un chargeur de logiciels malveillants modulaire. Pour éviter un AV basé sur des signatures simples, ils utilisent PowerShell pour appeler un chargeur personnalisé. Le chargeur utilise des bibliothèques d’exécution spécifiques (
libgcc_s_seh-1.dll) et nécessite des indicateurs spécifiques (-AgentDll) pour initialiser la charge utile en mémoire. L’objectif de l’attaquant est d’établir une connexion C2 persistante en chargeant ces composants via une chaîne d’exécution pilotée par PowerShell. -
Script de test de régression :
# Script de simulation pour la validation de la détection # Ce script imite le comportement défini dans la règle Sigma $workingDir = $env:TEMP $dllName = "libgcc_s_seh-1.dll" $dllPath = Join-Path $workingDir $dllName Write-Host "[+] Création d'un DLL fictif pour la simulation..." New-Item -Path $dllPath -ItemType File -Force | Out-Null Write-Host "[+] Exécution de la commande PowerShell pour déclencher la sélection1 (nom du DLL dans la ligne de commande)..." Start-Process powershell.exe -ArgumentList "-Command `& {Write-Output 'Loading $dllPath'}`" -NoNewWindow Write-Host "[+] Exécution de la commande PowerShell pour déclencher la sélection2 (drapeau AgentDll)..." Start-Process powershell.exe -ArgumentList "-AgentDll -DepsDir C:Temp -Shim" -NoNewWindow Write-Host "[+] Simulation complète." -
Commandes de nettoyage :
# Script de nettoyage $workingDir = $env:TEMP $dllName = "libgcc_s_seh-1.dll" $dllPath = Join-Path $workingDir $dllName if (Test-Path $dllPath) { Remove-Item -Path $dllPath -Force Write-Host "[+] DLL fictif nettoyé." } else { Write-Host "[!] DLL introuvable, rien à nettoyer." }