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
tgt-monitor-bof — Async BOF per estrarre o rinnovare automaticamente i TGT Kerberos su un sistema target. | Kitploit
Strumenti/GitHubGitHub/jakobfriedl/tgt-monitor-bof
Movimento LateralePost-ExploitPenetration TestingAutenticazioneRed TeamingSviluppo Payload
GitHubjakobfriedl/tgt-monitor-bof

tgt-monitor-bof

Async BOF per estrarre o rinnovare automaticamente i TGT Kerberos su un sistema target.

Vedi Repository
1341041 mese 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

Monitoraggio e Rinnovo Automatico dei TGT Kerberos

Questo repository contiene due file oggetto BOF asincroni (Async Beacon Object File). Il primo, tgt-monitor, monitora il sistema per eventi di accesso Kerberos e risveglia l'agente ogni volta che viene catturato un nuovo TGT Kerberos. Simile al comando monitor di Rubeus, questo BOF viene eseguito indefinitamente e controlla periodicamente la cache dei ticket LSA sul sistema. Quando viene rilevato un nuovo TGT, stampa i metadati del ticket e produce un blob kirbi codificato in base64 che può essere utilizzato per movimenti laterali tramite attacchi pass-the-ticket. Il secondo, tgt-renew, rinnova automaticamente i TGT sul sistema se il loro tempo di vita residuo è inferiore a una soglia specificata (ad esempio 15 minuti).

[!Importante] I BOF in questo repository richiedono capacità di caricamento asincrono di file oggetto. Tale funzionalità è fornita dal framework Conquest.

  • Monitoraggio e Rinnovo Automatico dei TGT Kerberos
    • Come Funziona
      • Monitoraggio dei Ticket
      • Rinnovo dei Ticket
    • Utilizzo
      • tgt-monitor
      • tgt-renew
    • Installazione
    • Riconoscimenti

Come Funziona

Entrambi i BOF devono essere eseguiti in un contesto NT AUTHORITY\SYSTEM. I privilegi vengono verificati seguendo la stessa logica.

  1. Il BOF controlla il token del processo corrente per l'accesso SYSTEM.
  2. Se il token del processo non è SYSTEM, il BOF scansiona tutti i thread nel processo corrente alla ricerca di un token di impersonificazione con privilegi SYSTEM e lo duplica. Ciò consente l'uso da un processo agente a bassa integrità che ha rubato un token SYSTEM (ad esempio tramite SeImpersonatePrivilege). Il BOF termina se anche questo non produce un accesso a livello SYSTEM.
  3. Vengono recuperati gli handle del pacchetto di autenticazione LSA e Kerberos.

I passaggi seguenti vengono ripetuti in un ciclo finché il BOF non viene annullato tramite l'evento di stop. Un intervallo definito dall'utente imposta il ritardo tra i sondaggi.

Monitoraggio dei Ticket

  1. Vengono enumerate tutte le sessioni di accesso attive. Per ogni sessione, la cache dei ticket Kerberos viene interrogata e filtrata per i TGT. Se è stato fornito un argomento --user, vengono considerate solo le sessioni corrispondenti a quel nome utente.
  2. La cache corrente dei ticket viene confrontata con l'istantanea precedente. I nuovi TGT attivano la stampa dei metadati e l'output kirbi codificato in base64, seguiti da una chiamata BeaconWakeup() per forzare l'agente a effettuare il check-in e restituire l'output.

Workflow TGT Monitor

Rinnovo dei Ticket

  1. Vengono enumerate tutte le sessioni di accesso attive. Per ogni sessione, la cache dei ticket Kerberos viene interrogata e filtrata per i TGT. Se è stato fornito un argomento --user, vengono considerate solo le sessioni corrispondenti a quel nome utente.
  2. Ogni TGT viene controllato rispetto a due condizioni:
    • Se il ticket è oltre il suo tempo RenewUntil, viene contrassegnato come scaduto ed è necessaria la riautenticazione.
    • Se il tempo di vita residuo del ticket è entro la soglia definita dall'utente, il TGT viene rinnovato e importato. In caso di successo, vengono stampati i metadati aggiornati del ticket e l'output kirbi codificato in base64, seguiti da una chiamata BeaconWakeup().

Workflow TGT Renew

Il processo di rinnovo del ticket prevede i seguenti passaggi:

  1. Estrarre il TGT Kerberos codificato ASN.1 tramite ExtractTicket() utilizzando LUID e SPN dalla struttura PTICKET_ENTRY.
  2. Decodificare ASN.1 il ticket e recuperare la credenziale Kerberos.
  3. Creare un pacchetto TGS-REQ per richiedere il rinnovo del ticket utilizzando il ticket in scadenza per la preautenticazione.
  4. Inviare i byte TGS-REQ al controller di dominio sulla porta 88.
  5. Recuperare, decodificare ASN.1 e analizzare la risposta TGS-REP.
  6. Costruire il ticket rinnovato, eliminare il vecchio ticket dalla cache e importare il ticket rinnovato utilizzando Pass-the-Ticket.
  7. Aggiornare startTime, endTime, renewUntil, ticketFlags e encryptionType sulla struttura PTICKET_ENTRY, stampare le informazioni del ticket e il base64.

Utilizzo

Questo repository include un Modulo Conquest che implementa i seguenti due comandi.

tgt-monitor

Il BOF tgt-monitor avvisa quando vengono catturati nuovi TGT e li restituisce come blob codificato in Base64. I seguenti argomenti devono essere passati al file oggetto:

NameTypeDescription
intervalintTimeout tra i controlli in secondi.
targetUsersstringElenco di nomi utente target separati da virgole, senza distinzione tra maiuscole e minuscole. Quando questo campo è impostato, vengono recuperati solo i TGT per gli utenti specificati. Altrimenti, i TGT vengono raccolti per tutti gli utenti. Nota che gli account computer devono terminare con $.
root@kitploit:~
Usage: tgt-monitor [--interval interval] [--user user]
Example: tgt-monitor --interval 5 --user DC01$

Optional arguments:
  --interval interval       INT        Polling interval in seconds (default: 60).
  --user user               STRING     Comma-separated list of target usernames (default: all users).

TGT Monitor

Il ticket codificato può essere utilizzato direttamente con Rubeus.exe ptt /ticket:<base64> o impacket-ticketConverter per ulteriori movimenti laterali, come mostrato nello screenshot sottostante. In Conquest, è possibile utilizzare il comando ptt per iniettare direttamente il ticket nella sessione di accesso corrente e impersonare l'utente target.

Stealing tickets with TGT Monitor

tgt-renew

Il BOF tgt-renew rinnova automaticamente i ticket in scadenza finché non possono più essere rinnovati. I seguenti argomenti devono essere passati al file oggetto:

NameTypeDescription
intervalintTimeout tra i controlli in secondi.
thresholdintSoglia di rinnovo in minuti. Il ticket viene rinnovato quando il tempo fino a EndTime è inferiore a questa soglia.
targetUsersstringElenco di nomi utente target separati da virgole, senza distinzione tra maiuscole e minuscole. Quando questo campo è impostato, vengono rinnovati solo i TGT per gli utenti specificati. Altrimenti, i TGT vengono rinnovati per tutti gli utenti. Nota che gli account computer devono terminare con $.
targetLuidsstringElenco di LUID target separati da virgole, senza distinzione tra maiuscole e minuscole. Quando questo campo è impostato, vengono rinnovati solo i TGT per i LUID specificati.
root@kitploit:~
Usage: tgt-renew [--interval seconds] [--threshold minutes] [--user user] [--luid luid]
Example: tgt-renew --luid 0x3e4 --interval 300 --threshold 30

Optional arguments:
  --interval seconds        INT        Polling interval in seconds (default: 60).
  --threshold minutes       INT        Ticket renewal threshold in minutes (default: 15).
  --user user               STRING     Comma-separated list of target usernames (default: all users).
  --luid luid               STRING     Comma-separated list of target LUIDs (default: all LUIDs).

I flag --user e --luid si escludono a vicenda.

TGT Renew

Installazione

root@kitploit:~
git clone https://github.com/jakobfriedl/tgt-monitor-bof
cd tgt-monitor-bof
make

Da lì, utilizzare il Gestore Script di Conquest per caricare il modulo dist/tgt-monitor.py.

Riconoscimenti

L'implementazione di questo Beacon Object File si basa sui seguenti progetti:

  • https://github.com/Ghostpack/Rubeus
  • https://github.com/RalfHacker/Kerbeus-BOF
    • Implementazione della codifica/decodifica ASN.1
  • https://github.com/wavvs/nanorobeus
Scarica lo strumento