Introduction à l’utilisation de COM par les menaces Windows
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Cette recherche examine comment les logiciels malveillants exploitent le modèle COM (Component Object Model) de Windows pour soutenir des actions malveillantes telles que le déplacement latéral, la persistance et l’évasion défensive. Elle explique comment le COM permet à différents langages de programmation d’interagir avec les services Windows et montre comment les acteurs malveillants dissimulent des fonctionnalités derrière des appels de vtable indirects via les interfaces COM. L’article inclut des études de cas techniques sur des familles de logiciels malveillants telles que Qakbot, Gh0stRAT, Attor et WarmCookie pour démontrer ces méthodes en pratique.
Enquête
L’enquête se concentre sur l’analyse de binaires riches en COM pour traduire des GUID opaques et des offsets de vtable en classes Windows significatives et appels de méthodes. Les chercheurs ont utilisé des outils tels que OleView.NET et ComView pour inspecter les enregistrements du registre et les définitions d’interfaces. Les études de cas ont montré qu’analyser les API d’activation COM peut révéler l’objectif réel et le comportement d’un échantillon de logiciel malveillant.
Atténuation
L’article est plus axé sur l’analyse et la détection que sur des mesures de durcissement spécifiques. Néanmoins, il suggère que surveiller les comportements d’activation COM inhabituels et auditer les entrées de registre liées aux CLSID et IID peut améliorer la visibilité. Une bonne compréhension des services exposés par le COM tels que BITS et le planificateur de tâches est également importante pour une surveillance efficace et la chasse aux menaces.
Réponse
Lorsqu’une activité COM suspecte est identifiée, les intervenants doivent analyser le processus initiant l’activation COM et déterminer quels CLSID et IID sont appelés. Il est également important de tracer le processus parent et de rechercher des tâches planifiées ou des travaux BITS liés. L’instrumentation dynamique et les outils de journalisation centrés sur le COM peuvent aider à reconstituer toute la chaîne d’activité API malveillante.
"flowchart TD step_initial_access["Accès initial : Qakbot distribué via des e-mails de phishing servant de chargeur."] step_c2_ingress["C2 et transferts d’outils d’ingress : Attor utilise BITS (IBackgroundCopyJob) pour une livraison fiable de charge utile."] step_persistence["Persistance : Gh0stRAT et WarmCookie utilisent les interfaces COM du planificateur de tâches (ITaskService) pour créer des tâches planifiées."] rules_for_persistence("<b>Nom de la règle</b> : Tâche planifiée possible via un objet COM (via cmdline)<br/><b>ID de la règle</b> : 75015b1f-6813-4288-aa82-b92bb31d8473") step_lateral_movement["Mouvement latéral et exécution à distance : Utilisation de DCOM pour l’activation d’objets à distance sur le réseau."] step_initial_access –>|leads_to| step_c2_ingress step_c2_ingress –>|leads_to| step_persistence step_persistence –>|leads_to| step_lateral_movement step_persistence -.->|detected_by| rules_for_persistence "
Flux d’attaque
Détections
Contournement UAC possible via des objets COM (via cmdline)
Voir
Exécution possible de script VB en ligne (via process_creation)
Voir
Mouvement latéral possible via DCOM [Excel/Visio/Word/Access/PowerPoint.Application] (via cmdline)
Voir
Tâche planifiée possible via un objet COM (via cmdline)
Voir
Détecter la création d’objets COM avec PowerShell et WMI pour l’automatisation et la planification des tâches [Windows PowerShell]
Voir
Détection de l’initialisation de la sécurité COM et DCOM [Création de processus Windows]
Voir
Exécution de simulation
Prérequis : Le contrôle préalable de télémétrie et de référence doit être réussi.
Justification : Cette section détaille l’exécution précise de la technique d’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 & Commandes d’attaque : L’adversaire a l’intention d’effectuer un mouvement latéral ou une manipulation de service à distance. Pour éviter une détection simple basée sur la signature qui recherche des modèles d’outils courants, ils utilisent un utilitaire spécialisé (simulé ici comme
example.exe) et passent des arguments spécifiques qui déclenchent l’initialisation de la sécurité COM/DCOM. En passantCoCreateInstanceExandCoInitializeSecuritycomme arguments de ligne de commande, l’attaquant tente de configurer le contexte de sécurité pour une interface COM hors processus afin de faciliter l’interaction à distance. -
Script de test de régression :
# REMARQUE : Ce script suppose que 'example.exe' existe dans System32 selon la logique de la règle. # Comme il s'agit d'un espace réservé, nous créerons un fichier factice pour simuler l'exécutable pour le test. $targetPath = "C:WindowsSystem32example.exe" # Créer un exécutable factice s'il n'existe pas à des fins de simulation if (-not (Test-Path $targetPath)) { Write-Host "Création d'un exécutable factice pour la simulation..." New-Item -Path $targetPath -ItemType File -Force } # Simuler l'exécution de la ligne de commande suspecte # Cette commande est conçue pour déclencher la sélection CommandLine de la règle de détection Start-Process -FilePath $targetPath -ArgumentList "--action CoCreateInstanceEx --setup CoInitializeSecurity" -Wait -
Commandes de nettoyage :
# Supprimer l'exécutable factice créé pour la simulation Remove-Item -Path "C:WindowsSystem32example.exe" -Force