Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
DVS — D(COM) V(ulnérabilité) S(canneur) alias couteau suisse dévoyé - Mouvement latéral utilisant des objets DCOM | Kitploit
Outils/GitHubGitHub/scorpioneslabs/dvs
ExploitationMouvement LatéralPost-ExploitationTests d'IntrusionCommandement et ContrôleRed Teaming
GitHubscorpioneslabs/dvs

DVS

D(COM) V(ulnérabilité) S(canneur) alias couteau suisse dévoyé - Mouvement latéral utilisant des objets DCOM

Voir le dépôt
2564711il y a 5 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

D(COM) V(ulnerability) S(canner) AKA Couteau suisse diabolique - Mouvement latéral à l'aide d'objets DCOM

Vous êtes-vous déjà demandé comment vous déplacer latéralement dans des réseaux internes ? ou interagir avec des machines distantes sans alerter les EDR ?
Supposons que nous ayons des identifiants valides, ou une session active avec un accès à une machine distante, mais sans option pour exécuter un processus à distance de manière connue, attendue ou hautement surveillée (par exemple, WMI, Planificateur de tâches, WinRM, PowerShell Remoting).

Pour ces scénarios, le framework DVS vient à la rescousse.

Le framework DVS est un couteau suisse qui vous permet d'énumérer les fonctions vulnérables d'objets DCOM distants, de les lancer et même de lancer des attaques en les utilisant.

Le framework est développé avec un état d'esprit "Red Team" et utilise des méthodes furtives pour compromettre des machines distantes.

Le framework DVS contient diverses façons de contourner le durcissement à distance contre DCOM en réactivant l'accès DCOM à distance et en accordant automatiquement les autorisations nécessaires à l'utilisateur attaquant.

Le framework peut également annuler les modifications sur la machine distante pour les ramener à leur état d'origine, avant l'attaque - cachant ces modifications aux défenseurs.

Notre principale idée est que l'outil peut également exécuter des commandes en utilisant des objets DCOM non vulnérables grâce à une technique astucieuse (Lisez ci-dessous à propos de Invoke-RegisterRemoteSchema)

Compatible avec PowerShell 2.0 et versions ultérieures

Vidéo YouTube PoC : DVS

Avertissement

Cet outil est destiné uniquement à des fins de test et d'éducation. Toute autre utilisation de ce code n'est pas autorisée. Utilisez-le à vos propres risques.
L'auteur décline toute responsabilité en cas de mauvaise utilisation de cet outil.
En l'utilisant, vous acceptez le fait que tout dommage causé par l'utilisation de cet outil est de votre responsabilité.

Accès au registre - comment le framework DVS utilise ce protocole

  • Accès au registre distant (MS-RRP)

    1. Sonder le port 445 pour interagir avec le registre distant
    2. Vérifier si le registre distant est activé
    3. Interagir avec le registre distant
    4. Si le mode AutoGrant est activé, vérifier les autorisations d'écriture. Sinon, vérifier les autorisations de lecture
  • Fournisseur de registre standard (Si le registre distant est refusé)

    1. Sonder le port 135 pour interagir avec le "Fournisseur de registre standard" via WMI
    2. Vérifier si StdRegProv est accessible
    3. Interagir avec le fournisseur de registre standard
    4. Si le mode AutoGrant est activé, vérifier les autorisations d'écriture, sinon, vérifier les autorisations de lecture

Pourquoi cet outil est-il si furtif ?

L'outil DVS vérifie d'abord si l'identité principale a accès à la machine distante via les étapes suivantes :

  • Actions de base

    1. Opérations d'authentification (si SkipRegAuth n'est pas activé)
      1. Si des identifiants sont fournis, il crée une session "net-only". Sinon, il utilisera la session actuellement connectée.
      2. Sonder l'accès au registre.
    2. Vérifier si la fonctionnalité DCOM est activée
    3. Autoriser l'accès DCOM (si AutoGrant est activé), sinon échouer
    4. Vérifier si l'utilisateur connecté/utilisateur fourni et les groupes dont l'utilisateur est membre (via la fonctionnalité adsi/WindowsIdentity), sont autorisés à interagir avec le DCOM (via des requêtes de registre distant)
    5. Accorder les autorisations (si AutoGrant est activé), sinon, échouer
    6. Résoudre le nom de domaine à partir de la machine distante en utilisant NetBIOS sur TCP (via NetAPI32, ou paquet UDP), si cela échoue, il essaiera d'utiliser le registre (ruches HKLM ou HKCU)
  • Invoke-DCOMObjectScan

    1. Interagir avec les objets DCOM
    2. Énumérer l'objet DCOM et trouver des fonctions vulnérables
    3. Valider la possibilité d'exploitation
    4. Générer des charges utiles d'exécution
    5. Récupérer des informations personnelles sur l'objet DCOM vulnérable
  • Get-ExecutionCommand

    1. Générer des charges utiles d'exécution
  • Invoke-ExecutionCommand

    1. Essayer d'interagir avec les objets DCOM
    2. Exécuter les commandes
  • Invoke-RegisterRemoteSchema

    1. Essayer d'interagir avec l'un des objets DCOM suivants :
      • InternetExplorer.Application - Objet COM InternetExplorer
      • {D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E} - Un autre objet COM appartenant à Internet Explorer
      • {C08AFD90-F2A1-11D1-8455-00A0C91F3880} - ShellBrowserWindow
      • {9BA05972-F6A8-11CF-A442-00A0C90A8F39} - ShellWindows
    2. Enregistrer un schéma distant (par exemple http://)
    3. Configurer le schéma pour exécuter des commandes à partir du contenu du schéma
    4. Exécuter la commande

Composants de l'outil

  • Analyseur de droits de sécurité - Analyse des droits de l'identité principale pour accéder à l'objet DCOM distant
  • Accès à distance accordé - Accorde les autorisations à l'utilisateur connecté à distance (au cas où elles n'auraient pas déjà été accordées)
  • Scanner DCOM - Scanner et analyser les objets DCOM distants/locaux pour trouver des fonctions vulnérables qui sont fournies (les modèles et les noms de fonctions doivent être spécifiés) Lorsque l'outil détecte une fonction vulnérable, il vérifie quels arguments la fonction inclut et si la fonction a la capacité d'exécuter des commandes
  • Générateur de commandes DCOM - Génère une charge utile PowerShell à exécuter sur la machine distante
  • Rapport - Génère un rapport CSV avec toutes les informations sur l'objet DCOM vulnérable
  • Exécution de commandes - Exécuter des commandes via des objets DCOM

Auteur

  • Nimrod Levy

Licence

  • GPL v3

Scénarios testés

  • Hors domaine vers domaine
  • De l'intérieur du domaine vers une autre machine jointe au domaine
  • Du domaine vers hors domaine
  • De la session actuelle vers une autre machine jointe au domaine

Systèmes d'exploitation testés

  • Windows 7 SP1
  • Windows 8.1
  • Windows 10
  • Windows Server 2019

Crédits

  • Merci à Rafel Ivgi pour le mentorat et l'aide avec l'architecture du concept de l'outil.
  • Merci à Yossi Sasi pour m'avoir aidé à optimiser le script.
  • Merci à Gleb Glazkov pour avoir rédigé la section sur l'atténuation et la prévention

Installation :

git clone https://github.com/ScorpionesLabs/DVS
powershell -ep bypass
PS> Import-Module .\DVS.psm1
PS> Get-Help Invoke-DCOMObjectScan -Detailed  # Obtenir les détails de la commande Invoke-DCOMObjectScan
PS> Get-Help Get-ExecutionCommand -Detailed # Obtenir les détails de la commande Get-ExecutionCommand
PS> Get-Help Invoke-ExecutionCommand -Detailed # Obtenir les détails de la commande Invoke-ExecutionCommand
PS> Get-Help Invoke-RegisterRemoteSchema -Detailed # Obtenir les détails de la commande Invoke-RegisterRemoteSchema

Invoke-DCOMObjectScan

La fonction Invoke-DCOMObjectScan vous permet de scanner des objets DCOM et de trouver des fonctions vulnérables via une liste de modèles ou de noms de fonctions exacts que vous avez inclus dans un fichier.

  • Exemples :
    1. Énumère et scanne l'objet MMC20.Application (ProgID) de la machine attaquante vers l'hôte DC01 sans interroger le registre.

         Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -HostList DC01 -SkipRegAuth -Username "lab\administrator" -Password "Aa123456!" -Verbose
      
Télécharger l’outil