La Chasse aux Malwares Révèle un Chargeur de Rootkit Universel et Furtif
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Un chargeur de rootkit récemment découvert signé par Microsoft permet aux attaquants de déployer des modules noyau non signés sur des systèmes compromis. Le malware utilise un pilote de première étape pour communiquer avec l’infrastructure C2 et charger directement en mémoire des plug-ins de deuxième étape. Ce modèle d’exécution furtif permet de contourner la détection basée sur le disque tout en maintenant un accès au niveau du noyau hautement privilégié.
Enquête
Les chercheurs ont identifié un groupe de pilotes signés abusant du Programme de Compatibilité Matérielle de Windows (WHCP) pour obtenir des signatures légitimes de Microsoft. L’enquête a révélé un modèle d’exécution en deux étapes dans lequel un chargeur signé gère l’injection de pilotes noyau personnalisés et non signés. L’analyse du code et de l’infrastructure a également révélé des similitudes avec le rootkit FiveSys précédemment documenté.
Atténuation
Les organisations doivent surveiller les chargements de pilotes en mode noyau suspects ou non autorisés et les modifications inattendues du registre affectant les services de sécurité. Déployer une détection des terminaux capable d’identifier le chargement de modules en mémoire uniquement est crucial pour détecter cette activité. Limiter l’utilisation de pilotes signés WHCP provenant de fournisseurs inconnus ou non fiables peut réduire davantage l’exposition.
Réponse
Lorsque cette activité est détectée, isolez les systèmes affectés pour interrompre la communication C2 et empêcher tout mouvement latéral. Effectuez des analyses de la mémoire pour identifier les modules noyau injectés qui pourraient ne jamais être écrits sur le disque. Examinez l’intégrité du registre, en prêtant une attention particulière aux Options d’Exécution de Fichiers Image et aux modifications non autorisées des politiques de sécurité.
Flux d’Attaque
Détections
Fonctionnalités du005cu0027accessibilité possibles via abus du registre (via cmdline)
Vérifications de Windows Defender Antivirus désactivées (via registry_event)
Possibilité du005cu0027utilisation du mécanisme de sortie silencieuse des processus (via registry_event)
Activité suspecte du005cu0027acteurs menaçants par abus des fonctionnalités du005cu0027accessibilité (via registry_event)
IOCs (SourceIP) à détecter : Chasse aux malwares pour un nouveau chargeur de rootkit universel furtif
IOCs (DestinationIP) à détecter : Chasse aux malwares pour un nouveau chargeur de rootkit universel furtif
Détection des composants du chargeur de rootkit furtif [Windows Sysmon]
Exécution de Simulation
-
Narrative & Commandes de l’Attaque : L’adversaire a l’intention de déployer un composant rootkit qui masque sa présence en communiquant avec un pilote malveillant. Pour contourner la détection traditionnelle par fichier, l’attaquant utilise une approche « Living-off-the-Land », en utilisant un script PowerShell pour interagir avec un pilote qui a été chargé latéralement dans le noyau. Le script cible spécifiquement le
IRP_MJ_DEVICE_CONTROLgestionnaire en envoyant un code IOCTL (contrôle d’entrée/sortie) conçu, imitant le modèle de communication du chargeur de rootkit identifié pour établir un canal de commande et de contrôle et désactiver les fonctionnalités de sécurité. -
Script de Test de Régression :
# Script de simulation pour imiter la communication du chargeur de pilote rootkit # Note : Cela nécessite la présence d'un pilote qui répond à ces modèles spécifiques # ou simule les appels du gestionnaire IRP via un pilote fictif. $NomSymbolique = "x1cx1c??x1ceae971b87" Write-Host "[+] Simulation de l'interaction du pilote avec le Nom Symbolique : $NomSymbolique" # Dans un scénario réel, cela impliquerait d'appeler DeviceIoControl via P/Invoke # À des fins de simulation/test, nous simulons le déclencheur de la télémétrie $signature = @{ NomSymbolique = "x1cx1c??x1ceae971b87" GestionnaireIOControl = "IRP_MJ_DEVICE_CONTROL" GestionnaireArrêt = "IRP_MJ_SHUTDOWN" } Write-Host "[+] Envoi d'un IOCTL conçu pour déclencher la détection..." # Logique pour simuler la génération d'événements noyau pour le NomSymbolique spécifique # Cette partie est conceptuelle pour que l'agent BAS déclenche l'entrée de journal spécifique New-EventLog -LogName "Microsoft-Windows-Sysmon" -Source "Sysmon" # Déclencheur fictif -
Commandes de Nettoyage :
# Supprimer tous les fichiers temporaires ou artefacts de pilotes simulés Remove-Item -Path "$env:TEMPrrootkit_sim.tmp" -ErrorAction SilentlyContinue Write-Host "[+] Nettoyage complet."