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/wh0amitz/krbuacbypass
Escalation di PrivilegiExploitPenetration TestingAutenticazioneRed Teaming
GitHubwh0amitz/krbuacbypass

KRBUACBypass

Abusa dei ticket Kerberos per bypassare l'UAC di Windows e ottenere privilegi SYSTEM iniettando un fake MachineID nei ticket di servizio, sfruttando il trucco tgtdeleg e l'accesso SCM.

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

Contesto

Questo POC è ispirato da James Forshaw (@tiraniddo) condiviso al BlackHat USA 2022 intitolato “Taking Kerberos To The Next Level ”, ha condiviso una demo dell'abuso dei ticket Kerberos per ottenere un bypass UAC. Aggiungendo un KERB-AD-RESTRICTION-ENTRY al ticket di servizio, ma inserendo un MachineID falso, possiamo facilmente bypassare UAC e ottenere privilegi SYSTEM accedendo al SCM per creare un servizio di sistema. James Forshaw ha spiegato la logica alla base di ciò in un post dal titolo "Bypassing UAC in the most Complex Way Possible!", cosa che mi ha molto interessato. Sebbene non abbia fornito il codice completo dell'exploit, ho costruito un POC basato su Rubeus. Come set di strumenti C# per l'interazione diretta con Kerberos e l'abuso di ticket, Rubeus fornisce un'interfaccia semplice che ci permette di avviare facilmente richieste Kerberos e manipolare ticket Kerberos.

Puoi vedere articoli correlati su KRBUACBypass nel mio blog "Revisiting a UAC Bypass By Abusing Kerberos Tickets", inclusi il principio di base e come è implementato. Come detto nell'articolo, questo articolo è stato ispirato dal lavoro di @tiraniddo "Taking Kerberos To The Next Level" (non lo avrei fatto senza la sua condivisione) e l'ho semplicemente implementato come strumento prima di laurearmi.

Trucco Tgtdeleg

Non possiamo generare manualmente un TGT poiché non abbiamo e non abbiamo accesso alle credenziali dell'utente corrente. Tuttavia, Benjamin Delpy (@gentilkiwi) ha aggiunto un trucco (tgtdeleg) nel suo Kekeo che permette di abusare della delega non vincolata per ottenere un TGT locale con una chiave di sessione.

Tgtdeleg abusa della GSS-API di Kerberos per ottenere TGT disponibili per l'utente corrente senza ottenere privilegi elevati sull'host. Questo metodo utilizza la funzione AcquireCredentialsHandle per ottenere l'handle delle credenziali di sicurezza Kerberos per l'utente corrente, e chiama la funzione InitializeSecurityContext per HOST/DC.domain.com usando il flag ISC_REQ_DELEGATE e lo SPN target per preparare il contesto di pseudo-delega da inviare al controller di dominio. Questo fa sì che il KRB_AP-REQ nell'output GSS-API includa il KRB_CRED nell'Authenticator Checksum. La chiave di sessione del ticket di servizio viene quindi estratta dalla cache Kerberos locale e utilizzata per decifrare il KRB_CRED nell'Authenticator per ottenere un TGT utilizzabile. Anche il set di strumenti Rubeus incorpora questa tecnica. Per dettagli, fare riferimento a “Rubeus – Now With More Kekeo”.

Con questo TGT, possiamo generare il nostro ticket di servizio, e il processo operativo fattibile è il seguente:

  1. Usa il trucco Tgtdeleg per ottenere il TGT dell'utente.
  2. Usa il TGT per richiedere al KDC di generare un nuovo ticket di servizio per il computer locale. Aggiungi un KERB-AD-RESTRICTION-ENTRY, ma inserisci un MachineID falso.
  3. Invia il ticket di servizio nella cache.

Krbscm

Una volta ottenuto un ticket di servizio, puoi utilizzare l'autenticazione Kerberos per accedere alle Named Pipe o TCP di Service Control Manager (SCM) tramite SPN HOST/HOSTNAME o RPC/HOSTNAME. Nota che l'API Win32 di SCM utilizza sempre l'autenticazione Negotiate. James Forshaw ha creato un semplice POC: SCMUACBypass.cpp, tramite le due API HOOK AcquireCredentialsHandle e InitializeSecurityContextW, il nome del pacchetto di autenticazione chiamato da SCM (pszPack age ) viene cambiato in Kerberos per consentire a SCM di utilizzare Kerberos durante l'autenticazione locale.

Per maggiori dettagli leggere:

  • Per EN-US: https://whoamianony.top/posts/revisiting-a-uac-bypass-by-abusing-kerberos-tickets/
  • Per ZH-CN: https://paper.seebug.org/3003/

Vediamolo in azione

Ora diamo un'occhiata all'effetto in esecuzione, come mostrato nella figura qui sotto. Prima richiedi un ticket per il servizio HOST del server corrente tramite la funzione asktgs, e poi crea un servizio di sistema tramite krbscm per ottenere il privilegio SYSTEM.

root@kitploit:~
KRBUACBypass.exe asktgs
KRBUACBypass.exe krbscm

Animation

Scarica lo strumento