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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
DVS — D(COM) V(Vulnerabilidad) S(Escáner) alias navaja suiza maliciosa - Movimiento lateral usando objetos DCOM | Kitploit
Herramientas/GitHubGitHub/scorpioneslabs/dvs
ExplotaciónMovimiento LateralPost-ExplotaciónPruebas de PenetraciónComando y ControlRed Teaming
GitHubscorpioneslabs/dvs

DVS

D(COM) V(Vulnerabilidad) S(Escáner) alias navaja suiza maliciosa - Movimiento lateral usando objetos DCOM

Ver Repositorio
2564710hace 5 añosRevisado 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

D(COM) V(ulnerability) S(canner) AKA Devious swiss army knife - Movimiento lateral usando objetos DCOM

¿Alguna vez te has preguntado cómo moverte lateralmente a través de redes internas? ¿o interactuar con máquinas remotas sin alertar a los EDR?
Supongamos que tenemos credenciales válidas, o una sesión activa con acceso a una máquina remota, pero no tenemos una opción para ejecutar un proceso de forma remota mediante un método conocido, esperado o altamente monitoreado (es decir, WMI, Programador de tareas, WinRM, PowerShell Remoting).

Para estos escenarios, el framework DVS viene al rescate.

El framework DVS es una navaja suiza que te permite enumerar funciones vulnerables de objetos DCOM remotos, lanzarlos e incluso lanzar ataques utilizándolos.

El framework se desarrolla con una mentalidad de "Red Team" y utiliza métodos sigilosos para comprometer máquinas remotas.

El framework DVS contiene varias formas de evadir el endurecimiento remoto contra DCOM, re-habilitando el acceso a DCOM de forma remota y otorgando automáticamente los permisos necesarios al usuario atacante.

El framework también puede revertir los cambios en la máquina remota a su estado original antes del ataque, ocultando estos cambios a los defensores.

Nuestra idea principal es que la herramienta también puede ejecutar comandos utilizando objetos DCOM no vulnerables mediante una técnica ingeniosa (Lea más abajo sobre Invoke-RegisterRemoteSchema)

Compatible con PowerShell 2.0 y superior

Video PoC en Youtube: DVS

Aviso legal

Esta herramienta es solo para fines educativos y de prueba. Cualquier otro uso de este código no está permitido. Úselo bajo su propio riesgo.
El autor NO asume ninguna responsabilidad por el mal uso de esta herramienta.
Al usarla, acepta que cualquier daño causado por el uso de esta herramienta es su responsabilidad.

Acceso al registro - cómo el framework DVS utiliza ese protocolo

  • Acceso al registro remoto (MS-RRP)

    1. Sondear el puerto 445 para interactuar con el registro remoto
    2. Verificar si el registro remoto está habilitado
    3. Interactuar con el registro remoto
    4. Si el modo AutoGrant está activado, verificar permisos de escritura; de lo contrario, verificar permisos de lectura
  • Proveedor de registro estándar (Si el registro remoto está denegado)

    1. Sondear el puerto 135 para interactuar con el "Proveedor de registro estándar" usando WMI
    2. Verificar si StdRegProv es accesible
    3. Interactuar con el Proveedor de registro estándar
    4. Si el modo AutoGrant está activado, verificar permisos de escritura; de lo contrario, verificar permisos de lectura

¿Por qué esta herramienta es tan sigilosa?

La herramienta DVS primero verifica si la identidad principal tiene acceso a la máquina remota mediante los siguientes pasos:

  • Acciones básicas

    1. Operaciones de autenticación (si no se marca SkipRegAuth)
      1. Si se proporcionan credenciales, crea una sesión "solo de red". De lo contrario, usará la sesión actual iniciada.
      2. Sondear el acceso al registro.
    2. Verificar si la característica DCOM está habilitada
    3. Permitir el acceso a DCOM (si se marca AutoGrant), de lo contrario, fallar
    4. Verificar si el usuario conectado/proporcionado y los grupos a los que pertenece (mediante la característica adsi/WindowsIdentity) tienen permiso para interactuar con DCOM (a través de consultas al registro remoto)
    5. Otorgar permisos (si se marca AutoGrant), de lo contrario, fallar
    6. Resolver el nombre de dominio desde la máquina remota usando NetBIOS sobre TCP (usando NetAPI32, o paquete UDP); si falla, intentará usar el registro (hives HKLM o HKCU)
  • Invoke-DCOMObjectScan

    1. Interactuar con objetos DCOM
    2. Enumerar el objeto DCOM y encontrar funciones vulnerables
    3. Validar la posibilidad de explotación
    4. Generar payloads de ejecución
    5. Obtener información personal sobre el objeto DCOM vulnerable
  • Get-ExecutionCommand

    1. Generar payloads de ejecución
  • Invoke-ExecutionCommand

    1. Intentar interactuar con objetos DCOM
    2. Ejecutar los comandos
  • Invoke-RegisterRemoteSchema

    1. Intentar interactuar con uno de los siguientes objetos DCOM:
      • InternetExplorer.Application - Objeto COM de InternetExplorer
      • {D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E} - Otro objeto COM perteneciente a Internet Explorer
      • {C08AFD90-F2A1-11D1-8455-00A0C91F3880} - ShellBrowserWindow
      • {9BA05972-F6A8-11CF-A442-00A0C90A8F39} - ShellWindows
    2. Registrar esquema remoto (ej. http://)
    3. Configurar el esquema para ejecutar comandos desde el contenido del esquema
    4. Ejecutar el comando

Componentes de la herramienta

  • Analizador de derechos de seguridad - Analiza los derechos de la identidad principal para acceder al objeto DCOM remoto
  • Concesión de acceso remoto - Otorga permisos al usuario conectado de forma remota (en caso de que aún no se hayan concedido)
  • Escáner DCOM - Escanea y analiza objetos DCOM remotos/locales en busca de funciones vulnerables proporcionadas (se deben especificar patrones y nombres de funciones). Cuando la herramienta detecta una función vulnerable, verificará qué argumentos incluye la función y si la función tiene la capacidad de ejecutar comandos.
  • Generador de comandos DCOM - Genera un payload de PowerShell para ejecutar en la máquina remota
  • Informe - Genera un informe CSV con toda la información sobre el objeto DCOM vulnerable
  • Ejecución de comandos - Ejecuta comandos a través de objetos DCOM

Autor

  • Nimrod Levy

Licencia

  • GPL v3

Escenarios probados

  • Fuera del dominio hacia el dominio
  • Desde dentro del dominio a otra máquina unida al dominio
  • Desde el dominio hacia fuera del dominio
  • Desde la sesión actual a otra máquina unida al dominio

Sistemas operativos probados

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

Créditos

  • Gracias a Rafel Ivgi por la mentoría y la ayuda con la mentalidad de arquitectura de la herramienta.
  • Gracias a Yossi Sasi por ayudarme a optimizar el script.
  • Gracias a Gleb Glazkov por escribir la sección de mitigación y prevención.

Instalación:

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

Invoke-DCOMObjectScan

La función Invoke-DCOMObjectScan permite escanear objetos DCOM y encontrar funciones vulnerables a través de una lista de patrones o nombres de funciones exactos que incluya en un archivo.

  • Ejemplos:

    1. Enumera y escanea el objeto MMC20.Application (ProgID) desde la máquina atacante hacia el host DC01 sin consultar el registro.

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

    Nota: La herramienta no analizará los permisos ACL, y cuando tenga éxito, resolverá toda la información sobre el objeto, excepto los detalles mencionados en el registro (como nombre del objeto, archivo ejecutable, etc.).

    1. Verifica si el objeto MMC20.Application (ProgID) es accesible desde la máquina atacante hacia el host DC01 sin consultar ni verificar primero la lista de acceso del objeto DCOM.
Descargar herramienta