Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
DCOMrade — Script Powershell pour énumérer les applications DCOM vulnérables | Kitploit
Outils/GitHubGitHub/sud0woodo/dcomrade
Analyse des VulnérabilitésMouvement LatéralPost-ExploitationTests d'IntrusionRed Teaming
GitHubsud0woodo/dcomrade

DCOMrade

Script Powershell pour énumérer les applications DCOM vulnérables

Voir le dépôt
264414il y a 7 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

DCOMrade

DCOMrade est un script PowerShell qui permet d'énumérer les applications DCOM potentiellement vulnérables qui pourraient permettre le mouvement latéral, l'exécution de code, l'exfiltration de données, etc. Le script est conçu pour fonctionner avec PowerShell 2.0 mais fonctionnera également avec toutes les versions supérieures. Le script prend actuellement en charge les systèmes d'exploitation Windows suivants (x86 et x64) :

  • Microsoft Windows 7
  • Microsoft Windows 10
  • Microsoft Windows Server 2012 / 2012 R2
  • Microsoft Windows Server 2016

Contexte

Je suis actuellement en stage chez HackDefense, en recherche sur les techniques existantes de mouvement latéral via DCOM et en essayant de trouver un moyen d'automatiser l'énumération de celles-ci (et éventuellement de nouvelles techniques). Ces recherches ont abouti à la création de ce script et du document de recherche associé, dont le lien se trouve ci-dessous.

Fonctionnement

Le script a été créé à partir des recherches menées par Matt Nelson (@enigma0x3), en particulier le billet de blog round 2 qui explique comment trouver des applications DCOM potentiellement utiles pour les pentesteurs et les équipes rouges.

Tout d'abord, une connexion à distance avec le système cible est établie ; cette connexion est utilisée tout au long du script pour une multitude d'opérations. Une commande PowerShell est exécutée sur le système cible pour récupérer toutes les applications DCOM et leurs AppID's. Les AppID's sont utilisés pour parcourir le registre Windows et vérifier les AppID's qui n'ont pas de sous-clé LaunchPermission définie dans leur entrée ; ces AppID's sont stockés et utilisés pour récupérer leurs CLSID associés.

Le script utilise une liste noire spécifique pour chaque système d'exploitation, c'est pourquoi il existe différentes options pour le système d'exploitation cible. La liste noire ignore les entrées CLSID qui pourraient bloquer le script en raison d'applications DCOM qui ne peuvent pas être activées, ce qui réduit la charge sur le système cible et réduit le temps d'exécution du script.

Avec le CLSID, l'application DCOM associée peut être activée. Le CLSID 'Shortcut' est utilisé pour compter le nombre de MemberTypes qui lui sont associés, ceci afin de vérifier le nombre par défaut de MemberTypes. Ce nombre est utilisé pour repérer les CLSID qui contiennent un nombre différent. Le script fait cela avec le CLSID de 'Shortcut' (HKEY_CLASSES_ROOT\CLSID\{00021401-0000-0000-C000-000000000046}) car il s'agit d'un CLSID partagé sur tous les systèmes d'exploitation Microsoft Windows. Les CLSID avec un nombre différent de MemberTypes pourraient contenir une Method ou une Property pouvant être (ab)usée, et seront ajoutés à un tableau.

Les CLSID du tableau sont vérifiés pour des chaînes de caractères dans les MemberTypes qui pourraient indiquer un moyen de (ab)user de l'application. Cette liste de chaînes se trouve dans le fichier VulnerableSubset. Veuillez noter que cette liste n'est en aucun cas exhaustive pour trouver toutes les applications DCOM vulnérables, mais cette liste étant une partie dynamique du processus, elle devrait permettre à l'utilisateur du script de rechercher des chaînes spécifiques qui pourraient indiquer une fonctionnalité d'une application DCOM utile à ses fins.

Les résultats du script sont produits dans un rapport HTML et devraient être utilisables pour auditer un système à titre préventif. Pour le côté offensif, j'ai créé un module Empire qui, au moment de la rédaction, attend l'approbation pour être ajouté à la branche master. Si vous souhaitez ajouter ce module vous-même à Empire, vous pouvez le faire en ajoutant le module situé ici.

Pour une explication technique complète de l'idée, du script et des méthodes de détection possibles, vous pouvez lire le document de recherche associé.

Prérequis

Le script, lorsqu'il n'est pas utilisé comme module Empire, présente certaines limitations car le fonctionnement du script et la manière dont il se connecte à la machine cible diffèrent.

  • Pour que ce script fonctionne, les services Windows Remote Management doivent être autorisés dans le pare-feu Windows (5985) ;
  • Si le profil réseau du système cible est défini sur Public, la commande suivante doit être exécutée pour autoriser l'utilisation des services Windows Remote Management sur le système cible : Enable-PSRemoting -SkipNetworkProfilecheck -Force
  • Ce script ne fonctionne que si l'on possède les identifiants d'un administrateur local sur le système cible. Sans ces identifiants, vous ne pourrez pas démarrer une session à distance avec la machine cible, ni activer des applications DCOM.

Exemple d'utilisation

En domaine Microsoft Windows :

root@kitploit:~
.\DCOMrade.ps1 -ComputerName [Computername / IP] -User [Local Administrator] -OS [Operating System] -Domain [Domain name]

Hors domaine Microsoft Windows :

root@kitploit:~
.\DCOMrade.ps1 -ComputerName [Computername / IP] -User [Local Administrator] -OS [Operating System]

Limitations

  • Actuellement, le script tente bien de libérer les applications DCOM instanciées/activées, mais certaines activations démarrent de nouveaux processus (comme Internet Explorer). Le processus pourrait être arrêté, mais cela signifierait que si un utilisateur sur le système cible utilise cette application particulière, ce processus s'arrêtera également pour lui ;
  • Un autre point, qui a probablement à voir avec mes mauvaises compétences en codage, est que le script peut introduire une charge considérable sur le système cible si celui-ci ne dispose pas de beaucoup de ressources. Soyez prudent lorsque vous l'utilisez dans un environnement de production ou sur des serveurs ;
  • Le script peut prendre un certain temps pour s'exécuter complètement, cela dépend du nombre d'applications DCOM et de la taille du fichier de sous-ensemble vulnérable.

Remerciements

Ce script a été inspiré par un atelier sur le mouvement latéral via DCOM animé par Eva Tanaskoska. Sans cet atelier, l'idée même de tenter d'énumérer cela de manière automatisée n'aurait jamais vu le jour.

Merci aux recherches de Matt Nelson (alias @enigma0x3) et à l'article de Philip Tsukerman, qui résume la plupart des techniques DCOM disponibles pour le mouvement latéral et explique leur fonctionnement.

Télécharger l’outil