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

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/dec0ne/davrelayup
Escalation di PrivilegiExploitMovimento LateraleAutenticazioneRed Teaming
GitHubdec0ne/davrelayup

DavRelayUp

Automatizza l'escalation dei privilegi locali a SYSTEM su workstation Windows unite al dominio, relayando l'autenticazione NTLM da WebDAV a LDAP, sfruttando la delega vincolata basata sulle risorse (RBCD) senza richiedere l'applicazione della firma LDAP.

Vedi Repository
575763 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

DavRelayUp

Un port rapido e sporco di KrbRelayUp con modifiche per consentire il relay NTLM da webdav a LDAP al fine di semplificare l'abuso del seguente primitivo di attacco:

  1. (Opzionale) Creazione di un nuovo account macchina (New-MachineAccount)
  2. Avvio forzato del servizio WebClient
  3. Avvio del server relay webdav (GoRelayServer - una DLL in golang che è incorporata in DavRelayUp utilizzando Costura.Fody)
  4. Coercizione dell'autenticazione dell'account macchina locale (SharpSystemTriggers)
  5. Relay NTLM verso LDAP
  6. Aggiunta dei privilegi RBCD e ottenimento di un ticket di servizio (ST) privilegiato per la macchina locale (Rubeus)
  7. Utilizzo del suddetto ST per autenticarsi al Service Manager locale e creare un nuovo servizio come NT/SYSTEM. (SCMUACBypass)

Si tratta essenzialmente di un'escalation di privilegi locale universale senza fix nelle workstation Windows unite al dominio dove la firma LDAP non è applicata (le impostazioni predefinite).

Usage

root@kitploit:~
DavRelayUp - Portarti a SYSTEM, di nuovo...

Usage: DavRelayUp.exe [-c] [-cn COMPUTERNAME] [-cp PASSWORD | -ch NTHASH]

RBCD Options:
    -c   (--CreateNewComputerAccount) Crea un nuovo account computer per RBCD. Utilizzerà l'utente autenticato corrente.
    -cn  (--ComputerName)             Nome dell'account computer di proprietà dell'attaccante per RBCD. (default=DAVRELAYUP$)
    -cp  (--ComputerPassword)         Password dell'account computer per RBCD. (default=RANDOM [se -c è abilitato])
    -ch  (--ComputerPasswordHash)     Hash NT della password dell'account computer per RBCD. (deve essere specificato -cp o -ch)
    -i   (--Impersonate)              Utente da impersonare. Dovrebbe essere un amministratore locale nel computer target. (default=Administrator)

KrbSCM Options:
    -s   (--ServiceName)              Nome del servizio da creare. (default=KrbSCM)
    -sc  (--ServiceCommand)           Comando del servizio [binPath]. (default = spawn cmd.exe come SYSTEM)

General Options:
    -p  (--Port)                     Porta per il server WebDAV (default=55555)
    -d  (--Domain)                   FQDN del dominio. (Opzionale)
    -dc (--DomainController)         FQDN del controller di dominio. (Opzionale)
    -ssl                             Usa LDAP su SSL. (Opzionale)
    -n                               Usa CreateNetOnly (deve essere su disco) invece di PTT quando si importa ST (Opzionale)
    -v  (--Verbose)                  Mostra output verboso. (Opzionale)
    -h  (--Help)                     Mostra aiuto

Problemi Noti

Se DavRelayUp si blocca in una di queste fasi - prova a usare una porta diversa specificando il flag [-p]

root@kitploit:~
DavRelayUp - Portarti a SYSTEM, di nuovo...

[+] WebClient Service started successfully
[+] Starting Relay Server on Port 55555
[+] Coercing System Authentication
root@kitploit:~
DavRelayUp - Portarti a SYSTEM, di nuovo...

[+] WebClient Service started successfully
[+] Starting Relay Server on Port 55555
[+] Coercing System Authentication
[+] WebDAV Request: No Authorization header
[+] WebDAV Response: Sending 401 Unauthorized with "WWW-Authenticate: NTLM" header

Esempi

https://github.com/Dec0ne/DavRelayUp/assets/54464773/4e791e8b-783c-48d3-b46b-8b22e2661ea1

esempio

Compilazione

  1. Compila GoRelayServer (già compilato e pronto in questo repository ma nel caso tu voglia farlo da solo)
    root@kitploit:~
    PS C:\Tools\DavRelayUp> cd GoRelayServer
    PS C:\Tools\DavRelayUp\GoRelayServer> go build --buildmode=c-shared -ldflags="-s -w"  -o "../DavRelayUp/Costura64/GoRelayServer.dll" main.go
    
    Questo compilerà la DLL GoRelayServer e la salverà in "DavRelayUp\DavRelayUp\Costura64\GoRelayServer.dll" -> Questa è la cartella da cui Costura.Fody la incorporerà nell'eseguibile finale DavRelayUp.exe.
  2. Apri KrbRelayUp.sln in Visual Studio 2019
  3. Assicurati che la Configurazione della Soluzione sia impostata su Release e premi compila (CTRL+MAIUSC+B)

TODO

  • Aggiungi attacco ShadowCred come metodo RELAY
  • Aggiungi supporto U2U per consentire l'attacco senza la necessità di un account macchina

Mitigazione e Rilevamento

  • Applica la firma LDAP e il binding del canale LDAP per mitigare il relay dell'autenticazione dell'account macchina verso LDAP. Questo può essere configurato tramite il GPO "Domain Controller: LDAP server signing requirements". (Grazie a Will Dormann per il suo tweet su questo argomento)
  • Rendi più difficile ottenere i requisiti dell'attacco impostando l'attributo MS-DS-Machine-Account-Quota in AD a 0, rimuovendo così la possibilità per qualsiasi utente di aggiungere un nuovo account macchina al dominio. Questa è un'impostazione predefinita pericolosa in AD - assicurati di cambiarla.
  • Impostare il flag "L'account è sensibile e non può essere delegato" su tutti gli account amministratore (o metterli negli utenti protetti) farebbe sì che non ci sia un account con i privilegi necessari che può essere delegato per completare il percorso di attacco. (Grazie a Christoph Falta per questo tweet)
  • Risorse per possibili regole di monitoraggio e rilevamento:
    1. https://github.com/tsale/Sigma_rules/blob/main/windows_exploitation/KrbRelayUp.yml (@Kostastsale)
    2. https://twitter.com/SBousseaden/status/1518976397364056071 (@SBousseaden). Principalmente la regola sull'autenticazione al Service Manager tramite Kerberos da 127.0.0.1, Ottimo lavoro!.
    3. https://www.linkedin.com/posts/john-dwyer-xforce_threathunting-threatdetection-blueteam-activity-6924739962131140608-py45/ (John Dwyer @TactiKoolSec)

Riconoscimenti

  • James Forshaw per aver scoperto come utilizzare i ticket di servizio Kerberos per l'autenticazione LOCALE al Service Manager che era il pezzo mancante del puzzle per rendere questo primitivo di attacco solo locale (prima di ciò, dovevamo esportare lo ST su una macchina remota per usarlo e ottenere accesso privilegiato alla nostra macchina target).
  • Kevin Robertson per la sua funzionalità New-MachineAccount che è stata utilizzata in questo progetto.
  • Cube0x0 per la sua funzionalità SharpSystemTriggers (in particolare SharpEfsTrigger) che è stata utilizzata in questo progetto.
  • Elad Shamir per la sua ricerca su RBCD - Wagging the Dog
  • Will Schroeder e tutti coloro che hanno contribuito a Rubeus che tutti conosciamo e amiamo. Fondamentalmente tutta la funzionalità RBCD-S4U è stata presa da lì.
  • Orange-Cyberdefense per il loro lavoro su GOAD, il laboratorio di ricerca Active Directory che sto utilizzando e che puoi vedere nel video demo e nelle immagini.
  • Shantanu Khandelwal per il suo bel post sul blog Red Team: How to embed Golang tools in C#
  • GoRelayServer è stato costruito sul lavoro svolto su go-ldap che ho modificato per consentire il relay NTLM da webdav a ldap. Grazie anche a Mariusz Banach per SharpWebServer che ho usato per imparare come funziona l'autenticazione NTLM di webdav e l'ho implementato come listener del server in GoRelayServer.
Scarica lo strumento