Détournement COM
Aperçu: Le Modèle d’Objet Composant (COM) est une technologie centrale de Windows qui permet aux composants logiciels (objets) d’interagir entre eux, quel que soit le langage de programmation dans lequel ils ont été écrits. Il est fondamental pour de nombreuses fonctions Windows, y compris le shell (Explorateur), Internet Explorer et de nombreuses applications. Windows utilise largement le Registre pour gérer COM, stockant des informations sur chaque objet COM, son identifiant unique de classe (CLSID), et surtout, l’emplacement du serveur (généralement une DLL ou parfois un EXE) qui implémente la fonctionnalité de l’objet. Le détournement COM est une technique d’évasion et de persistance où les attaquants manipulent ces entrées de registre liées au COM pour rediriger les appels destinés à des objets COM légitimes vers du code malveillant.
Mécanisme d’évasion et de persistance :
Identification de la cible : L’attaquant identifie un objet COM qui est fréquemment instancié par des processus légitimes, souvent à démarrage automatique (comme , services système ou applications courantes).
explorer.exeManipulation du registre : Le cœur du détournement consiste à modifier des clés de registre spécifiques associées au CLSID de l’objet COM cible. Une cible très courante est la sous-clé, qui pointe normalement vers le chemin du serveur DLL légitime qui implémente l’objet COM. L’attaquant modifie la valeur contenue dans cette clé (ou les clés associées selon la méthode de détournement spécifique) pour pointer vers sa DLL malveillante à la place.
InprocServer32(Default)Emplacements du registre : Ces manipulations se produisent souvent sous ou, de manière significative pour l’évasion, sous la ruche spécifique à l’utilisateur en . Le détournement d’entrées dans HKCU ne nécessite souvent pas de privilèges administrateur, ce qui le rend plus accessible pour les malwares ou les triches fonctionnant sous contexte utilisateur.
HKEY_CLASSES_ROOT\CLSID\{Target_CLSID}\InprocServer32HKEY_CURRENT_USER\Software\Classes\CLSID\{Target_CLSID}\InprocServer32Exécution du code : Lorsqu’une application légitime effectue un appel pour instancier ou interagir avec l’objet COM détourné, le runtime Windows COM lit l’entrée du registre manipulée. Au lieu de charger la DLL légitime, elle charge la DLL malveillante de l’attaquant dans l’espace d’adressage de l’application appelante.
Évasion: Parce que le code malveillant est chargé et exécuté par un processus applicatif légitime, souvent digne de confiance, dans le cadre de son fonctionnement normal (instanciation d’un objet COM), cela peut contourner les solutions de liste blanche des applications qui se concentrent sur le blocage des exécutables inconnus. Cette activité peut sembler moins suspecte dans les journaux d’exécution de processus basiques comparée à l’exécution d’un exécutable de triche autonome.
Persistance: Si l’objet COM détourné est un objet chargé automatiquement au démarrage du système ou à la connexion utilisateur (par exemple, par ou d’autres processus auto-exécutés), cette technique fournit un mécanisme persistant pour que le code malveillant (par exemple, un chargeur de triche ou la triche lui-même) s’exécute automatiquement à chaque démarrage du système ou que l’utilisateur se connecte, sans avoir besoin d’une saisie de clé Run séparée ou d’une tâche planifiée.
explorer.exe
Mis à jour
