Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
DVS — D(COM) V(ulnerabilidade) S(canner) também conhecido como Canivete Suíço Traiçoeiro - Movimento lateral usando objetos DCOM | Kitploit
Ferramentas/GitHubGitHub/scorpioneslabs/dvs
ExploraçãoMovimento LateralPós-ExploraçãoTestes de PenetraçãoComando e ControleRed Teaming
GitHubscorpioneslabs/dvs

DVS

D(COM) V(ulnerabilidade) S(canner) também conhecido como Canivete Suíço Traiçoeiro - Movimento lateral usando objetos DCOM

Ver Repositório
2564715há 5 anosRevisado 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

D(COM) V(ulnerability) S(canner) TAMBÉM CONHECIDO COMO Canivete Suíço Astuto - Movimento lateral usando Objetos DCOM

Você já se perguntou como pode se mover lateralmente através de redes internas? Ou interagir com máquinas remotas sem alertar os EDRs?
Vamos supor que temos credenciais válidas, ou uma sessão ativa com acesso a uma máquina remota, mas estamos sem uma opção para executar um processo remotamente de uma forma conhecida, esperada ou altamente monitorada (ex.: WMI, Agendador de Tarefas, WinRM, PowerShell Remoting).

Para esses cenários, o framework DVS vem ao resgate.

O framework DVS é um canivete suíço que permite enumerar funções vulneráveis de objetos DCOM remotos, lançá-los e até lançar ataques usando-os.

O framework está sendo desenvolvido com uma mentalidade "Red Team" e usa métodos furtivos para comprometer máquinas remotas.

O framework DVS contém várias maneiras de contornar o hardening remoto contra DCOM, reabilitando o acesso DCOM remotamente e concedendo automaticamente as permissões necessárias ao usuário atacante.

O framework também pode reverter alterações na máquina remota ao seu estado original, antes do ataque - ocultando essas mudanças dos defensores.

Nosso principal insight é que a ferramenta também pode executar comandos usando objetos DCOM não vulneráveis através de uma técnica interessante (Leia abaixo sobre Invoke-RegisterRemoteSchema)

Compatível com PowerShell 2.0 e superior

Vídeo PoC no Youtube: DVS

Aviso

Esta ferramenta é apenas para fins de teste e educacionais. Qualquer outro uso deste código não é permitido. Use por sua própria conta e risco.
O autor NÃO assume responsabilidade pelo uso indevido desta ferramenta.
Ao usar esta ferramenta, você aceita que qualquer dano causado pelo uso dela é de sua responsabilidade.

Acesso ao Registro - como o framework DVS utiliza esse protocolo

  • Acesso remoto ao registro (MS-RRP)

    1. Verificar a porta 445 para interagir com o registro remoto
    2. Verificar se o registro remoto está habilitado
    3. Interagir com o registro remoto
    4. Se o modo AutoGrant estiver marcado, verificar permissões de escrita; caso contrário, verificar permissões de leitura
  • Provedor de Registro Padrão (Se o registro remoto for negado)

    1. Verificar a porta 135 para interagir com o "Provedor de Registro Padrão" usando WMI
    2. Verificar se StdRegProv está acessível
    3. Interagir com o Provedor de Registro Padrão
    4. Se o modo AutoGrant estiver marcado, verificar permissões de escrita; caso contrário, verificar permissões de leitura

Por que esta ferramenta é tão furtiva?

A ferramenta DVS primeiro verifica se a identidade principal tem acesso à máquina remota através das seguintes etapas:

  • Ações básicas

    1. Operações de autenticação (se SkipRegAuth não estiver marcado)
      1. Se as credenciais forem fornecidas, cria uma sessão "net-only". Caso contrário, usará a sessão atual logada.
      2. Verificar acesso ao registro.
    2. Verificar se o recurso DCOM está ativado
    3. Permitir acesso DCOM (se AutoGrant estiver marcado), caso contrário, falhar
    4. Verificar se o usuário logado/fornecido e os grupos dos quais o usuário é membro (via recurso adsi/WindowsIdentity) têm permissão para interagir com o DCOM (através de consultas ao registro remoto)
    5. Conceder permissões (se AutoGrant estiver marcado), caso contrário, falhar
    6. Resolver o nome do domínio a partir da máquina remota usando NetBIOS sobre TCP (usando NetAPI32, ou Pacote UDP); se falhar, tentará usar o registro (Hives HKLM ou HKCU)
  • Invoke-DCOMObjectScan

    1. Interagir com objetos DCOM
    2. Enumerar o objeto DCOM e encontrar funções vulneráveis
    3. Validar a possibilidade de exploração
    4. Gerar payloads de execução
    5. Buscar informações pessoais sobre o objeto DCOM vulnerável
  • Get-ExecutionCommand

    1. Gerar payloads de execução
  • Invoke-ExecutionCommand

    1. Tentar interagir com objetos DCOM
    2. Executar os comandos
  • Invoke-RegisterRemoteSchema

    1. Tentar interagir com um dos seguintes Objetos DCOM:
      • InternetExplorer.Application - Objeto COM do InternetExplorer
      • {D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E} - Outro objeto COM pertencente ao Internet Explorer
      • {C08AFD90-F2A1-11D1-8455-00A0C91F3880} - ShellBrowserWindow
      • {9BA05972-F6A8-11CF-A442-00A0C90A8F39} - ShellWindows
    2. Registrar esquema remoto (ex.: http://)
    3. Configurar o esquema para executar comandos a partir do conteúdo do esquema
    4. Executar o comando

Componentes da ferramenta

  • Analisador de direitos de segurança - Analisando os direitos da identidade principal para acessar o objeto DCOM remoto
  • Concessão de acesso remoto - Concede permissões ao usuário logado remotamente (Caso ainda não tenham sido concedidas)
  • Scanner DCOM - Escaneia e analisa objetos DCOM remotos/locais em busca de funções vulneráveis fornecidas (Padrões e nomes de funções devem ser especificados) Quando a ferramenta detecta uma função vulnerável, ela verifica quais argumentos a função inclui e se a função tem a capacidade de executar comandos
  • Gerador de comandos DCOM - Gera um payload PowerShell para execução na máquina remota
  • Relatório - Gera um relatório CSV com todas as informações sobre o objeto DCOM vulnerável
  • Execução de Comandos - Executar comandos através de objetos DCOM

Autor

  • Nimrod Levy

Licença

  • GPL v3

Cenários Testados

  • Fora do domínio para domínio
  • De dentro do domínio para outra máquina associada ao domínio
  • Do domínio para fora do domínio
  • Da sessão atual para outra máquina associada ao domínio

Sistemas Operacionais Testados

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

Créditos

  • Agradecimentos a Rafel Ivgi pela mentoria e ajuda na mentalidade de arquitetura da ferramenta.
  • Agradecimentos a Yossi Sasi por me ajudar a otimizar o script.
  • Agradecimentos a Gleb Glazkov por escrever a seção de mitigação e prevenção

Instalação:

git clone https://github.com/ScorpionesLabs/DVS
powershell -ep bypass
PS> Import-Module .\DVS.psm1
PS> Get-Help Invoke-DCOMObjectScan -Detailed  # Obter detalhes do comando Invoke-DCOMObjectScan
PS> Get-Help Get-ExecutionCommand -Detailed # Obter detalhes do comando Get-ExecutionCommand
PS> Get-Help Invoke-ExecutionCommand -Detailed # Obter detalhes do comando Invoke-ExecutionCommand
PS> Get-Help Invoke-RegisterRemoteSchema -Detailed # Obter detalhes do comando Invoke-RegisterRemoteSchema

Invoke-DCOMObjectScan

A função Invoke-DCOMObjectScan permite escanear objetos DCOM e encontrar funções vulneráveis através de uma lista de padrões ou nomes exatos de funções que você incluiu em um arquivo.

  • Exemplos:

    1. Enumera e escaneia o objeto MMC20.Application (ProgID) da máquina atacante para o host DC01 sem consultar o registro.

         Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -HostList DC01 -SkipRegAuth -Username "lab\administrator" -Password "Aa123456!" -Verbose
      

    Nota: A ferramenta não analisará permissões ACL e, quando bem-sucedida, resolverá todas as informações sobre o objeto, exceto os detalhes mencionados no registro (como nome do objeto, arquivo executável, etc.)

    1. Verifica se o objeto MMC20.Application (ProgID) está acessível da máquina atacante para o host DC01 sem primeiro consultar e verificar a lista de acesso do objeto DCOM.

         PS> Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -HostList DC01 -SkipPermissionChecks -CheckAccessOnly -Verbose
      
Baixar ferramenta