Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
DVS — D(COM) V(ulnerabilità) S(canner) alias coltello svizzero subdolo - Movimento laterale utilizzando oggetti DCOM | Kitploit
Strumenti/GitHubGitHub/scorpioneslabs/dvs
ExploitMovimento LateralePost-ExploitPenetration TestingCommand and ControlRed Teaming
GitHubscorpioneslabs/dvs

DVS

D(COM) V(ulnerabilità) S(canner) alias coltello svizzero subdolo - Movimento laterale utilizzando oggetti DCOM

Vedi Repository
25647115 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

D(COM) V(ulnerability) S(canner) AKA Subdolo coltellino svizzero - Movimento laterale utilizzando oggetti DCOM

Ti sei mai chiesto come puoi muoverti lateralmente all'interno delle reti? o interagire con macchine remote senza allertare gli EDR?
Supponiamo di avere credenziali valide, o una sessione attiva con accesso a una macchina remota, ma senza un'opzione per eseguire un processo remoto in un modo noto, atteso o altamente monitorato (ad es. WMI, Task Scheduler, WinRM, PowerShell Remoting).

Per questi scenari, il framework DVS viene in soccorso.

Il framework DVS è un coltellino svizzero che ti consente di enumerare funzioni vulnerabili di oggetti DCOM remoti, lanciarle e persino lanciare attacchi utilizzandoli.

Il framework è sviluppato con una mentalità "Red Team" e utilizza metodi furtivi per compromettere macchine remote.

Il framework DVS contiene vari modi per bypassare l'hardening remoto contro DCOM riabilitando l'accesso DCOM da remoto e concedendo automaticamente le autorizzazioni necessarie all'utente attaccante.

Il framework può anche ripristinare le modifiche sulla macchina remota allo stato originale, prima dell'attacco - nascondendo queste modifiche ai difensori.

Il nostro principale insight è che lo strumento può anche eseguire comandi utilizzando oggetti DCOM non vulnerabili attraverso una tecnica aqsome (leggi sotto su Invoke-RegisterRemoteSchema)

Compatibile con PowerShell 2.0 e successivi

Video PoC su Youtube: DVS

Disclaimer

Questo strumento è solo per scopi di test e educativi. Qualsiasi altro utilizzo di questo codice non è consentito. Usalo a tuo rischio.
L'autore non si assume ALCUNA responsabilità per l'uso improprio di questo strumento.
Utilizzandolo accetti il fatto che qualsiasi danno causato dall'uso di questo strumento è di tua responsabilità.

Accesso al registro - come il framework DVS utilizza quel protocollo

  • Accesso al registro remoto (MS-RRP)

    1. Sonda la porta 445 per interagire con il registro remoto
    2. Controlla se il registro remoto è abilitato
    3. Interagisci con il registro remoto
    4. Se la modalità AutoGrant è attiva, controlla i permessi di scrittura. altrimenti, controlla i permessi di lettura
  • Provider di registro standard (Se il registro remoto è negato)

    1. Sonda la porta 135 per interagire con il "Provider di registro standard" tramite WMI
    2. Controlla se StdRegProv è accessibile
    3. Interagisci con il Provider di registro standard
    4. Se la modalità AutoGrant è attiva, controlla i permessi di scrittura, altrimenti, controlla i permessi di lettura

Perché questo strumento è così furtivo?

Lo strumento DVS controlla prima se l'identità principale ha accesso alla macchina remota tramite i seguenti passaggi:

  • Azioni di base

    1. Operazioni di autenticazione (se SkipRegAuth non è attivo)
      1. Se vengono fornite credenziali, crea una sessione 'net-only'. altrimenti, utilizzerà la sessione corrente.
      2. Sonda l'accesso al registro.
    2. Controlla se la funzionalità DCOM è abilitata
    3. Consenti accesso DCOM (se AutoGrant attivo), altrimenti fallisce
    4. Controlla se l'utente connesso/utente fornito e i gruppi di cui l'utente è membro (tramite la funzionalità adsi/WindowsIdentity), hanno il permesso di interagire con il DCOM (tramite query del registro remoto)
    5. Concedi permessi (se AutoGrant attivo), altrimenti fallisce
    6. Risolvi il nome di dominio dalla macchina remota usando NetBIOS su TCP (usando NetAPI32, o pacchetto UDP), se fallisce proverà usando il registro (Hive HKLM o HKCU)
  • Invoke-DCOMObjectScan

    1. Interagisci con gli oggetti DCOM
    2. Enumera l'oggetto DCOM e trova funzioni vulnerabili
    3. Convalida la possibilità di sfruttamento
    4. Genera payload di esecuzione
    5. Recupera informazioni personali sull'oggetto DCOM vulnerabile
  • Get-ExecutionCommand

    1. Genera payload di esecuzione
  • Invoke-ExecutionCommand

    1. Prova a interagire con gli oggetti DCOM
    2. Esegui i comandi
  • Invoke-RegisterRemoteSchema

    1. Prova a interagire con uno dei seguenti oggetti DCOM:
      • InternetExplorer.Application - Oggetto COM di InternetExplorer
      • {D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E} - Un altro oggetto COM di Internet Explorer
      • {C08AFD90-F2A1-11D1-8455-00A0C91F3880} - ShellBrowserWindow
      • {9BA05972-F6A8-11CF-A442-00A0C90A8F39} - ShellWindows
    2. Registra schema remoto (es. http://)
    3. Configura lo schema per eseguire comandi dal contenuto dello schema
    4. Esegui il comando

Componenti dello strumento

  • Analizzatore dei diritti di sicurezza - Analisi dei diritti dell'identità principale per accedere all'oggetto DCOM remoto
  • Concessione accesso remoto - Concede permessi all'utente connesso da remoto (nel caso non fossero già concessi)
  • Scanner DCOM - Scansiona e analizza oggetti DCOM remoti/locali per funzioni vulnerabili fornite (Devono essere specificati pattern e nomi di funzioni)
    Quando lo strumento rileva una funzione vulnerabile, controllerà quali argomenti include la funzione e se la funzione ha la capacità di eseguire comandi
  • Generatore di comandi DCOM - Genera un payload PowerShell da eseguire sulla macchina remota
  • Report - Genera un report CSV con tutte le informazioni sull'oggetto DCOM vulnerabile
  • Esecuzione di comandi - Esegui comandi tramite oggetti DCOM

Autore

  • Nimrod Levy

Licenza

  • GPL v3

Scenari testati

  • Da fuori dominio a dominio
  • Dall'interno del dominio a un'altra macchina unita al dominio
  • Da dominio a fuori dominio
  • Dalla sessione corrente a un'altra macchina unita al dominio

Sistemi operativi testati

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

Crediti

  • Grazie a Rafel Ivgi per il mentoring e per aver aiutato con la mentalità architetturale dello strumento.
  • Grazie a Yossi Sasi per avermi aiutato a ottimizzare lo script.
  • Grazie a Gleb Glazkov per aver scritto la sezione mitigazioni e prevenzioni

Installazione:

git clone https://github.com/ScorpionesLabs/DVS
powershell -ep bypass
PS> Import-Module .\DVS.psm1
PS> Get-Help Invoke-DCOMObjectScan -Detailed  # Get details of the Invoke-DCOMObjectScan command
PS> Get-Help Get-ExecutionCommand -Detailed # Get details of the Get-ExecutionCommand command
PS> Get-Help Invoke-ExecutionCommand -Detailed # Get details of the Invoke-ExecutionCommand command
PS> Get-Help Invoke-RegisterRemoteSchema -Detailed # Get details of the Invoke-RegisterRemoteSchema command

Invoke-DCOMObjectScan

La funzione Invoke-DCOMObjectScan ti consente di scansionare oggetti DCOM e trovare funzioni vulnerabili tramite un elenco di pattern o nomi di funzioni esatti che hai incluso in un file.

  • Esempi:

    1. Enumera e scansiona l'oggetto MMC20.Application (ProgID) dalla macchina attaccante all'host DC01 senza interrogare il registro.

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

    Nota: Lo strumento non analizzerà i permessi ACL, e quando lo strumento avrà successo, risolverà tutte le informazioni sull'oggetto, tranne i dettagli menzionati sul registro (come nome oggetto, file eseguibile, ecc.)

    1. Controlla se l'oggetto MMC20.Application (ProgID) è accessibile dalla macchina attaccante all'host DC01 senza prima interrogare e verificare l'elenco di accesso dell'oggetto DCOM.

         PS> Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -HostList DC01 -SkipPermissionChecks -CheckAccessOnly -Verbose
      
Scarica lo strumento