Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
tgt-monitor-bof — Async BOF zum automatischen Extrahieren oder Erneuern von Kerberos-TGTs auf einem Zielsystem. | Kitploit
Tools/GitHubGitHub/jakobfriedl/tgt-monitor-bof
Laterale BewegungPost-ExploitationPenetrationstestsAuthentifizierungRed TeamingPayload-Entwicklung
GitHubjakobfriedl/tgt-monitor-bof

tgt-monitor-bof

Async BOF zum automatischen Extrahieren oder Erneuern von Kerberos-TGTs auf einem Zielsystem.

Repository anzeigen
1341014vor 2 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Kerberos TGT-Überwachung und automatische Verlängerung

Dieses Repository enthält zwei asynchrone Beacon-Objektdateien (BOF). Die erste, tgt-monitor, überwacht das System auf Kerberos-Anmeldeereignisse und weckt den Agenten auf, sobald ein neues Kerberos-TGT erfasst wird. Ähnlich wie Rubeus' monitor-Befehl läuft dieser BOF unbegrenzt und überprüft periodisch den LSA-Ticket-Cache des Systems. Wenn ein neues TGT erkannt wird, werden die Ticket-Metadaten ausgegeben und ein base64-kodierter Kirbi-Blob ausgegeben, der für Lateral-Movement-Angriffe per Pass-the-Ticket verwendet werden kann. Der zweite, tgt-renew, verlängert automatisch TGTs auf dem System, wenn deren verbleibende Lebensdauer unter einem festgelegten Schwellenwert (z. B. 15 Minuten) liegt.

[!Important] Die BOFs in diesem Repository erfordern asynchrone Objektdatei-Ladefähigkeiten. Diese Funktionalität wird durch das Conquest-Framework bereitgestellt.

  • Kerberos TGT-Überwachung und automatische Verlängerung
    • Wie es funktioniert
      • Ticket-Überwachung
      • Ticket-Verlängerung
    • Verwendung
      • tgt-monitor
      • tgt-renew
    • Installation
    • Danksagungen

Wie es funktioniert

Beide BOFs müssen im Kontext von NT AUTHORITY\SYSTEM ausgeführt werden. Die Berechtigungen werden nach derselben Logik überprüft.

  1. Der BOF überprüft das aktuelle Prozess-Token auf SYSTEM-Zugriff.
  2. Falls das Prozess-Token nicht SYSTEM ist, durchsucht der BOF alle Threads im aktuellen Prozess nach einem Identitätswechsel-Token mit SYSTEM-Berechtigungen und dupliziert es. Dies ermöglicht die Verwendung aus einem Agentprozess mit niedriger Integrität, der ein SYSTEM-Token gestohlen hat (z. B. über SeImpersonatePrivilege). Der BOF wird beendet, wenn auch dies keinen SYSTEM-Zugriff ergibt.
  3. LSA- und Kerberos-Authentifizierungspaket-Handles werden abgerufen.

Die folgenden Schritte werden in einer Schleife wiederholt, bis der BOF über das Stopp-Ereignis abgebrochen wird. Ein benutzerdefiniertes Intervall legt die Verzögerung zwischen den Abfragen fest.

Ticket-Überwachung

  1. Alle aktiven Anmeldesitzungen werden aufgezählt. Für jede Sitzung wird der Kerberos-Ticket-Cache abgefragt und nach TGTs gefiltert. Wenn ein --user-Argument angegeben wurde, werden nur Sitzungen mit diesem Benutzernamen berücksichtigt.
  2. Der aktuelle Ticket-Cache wird mit der vorherigen Momentaufnahme verglichen. Neue TGTs lösen die Ausgabe von Metadaten und eines base64-kodierten Kirbi-Blobs aus, gefolgt von einem BeaconWakeup()-Aufruf, um den Agenten zu zwingen, sich zu melden und die Ausgabe zurückzugeben.

Workflow TGT Monitor

Ticket-Verlängerung

  1. Alle aktiven Anmeldesitzungen werden aufgezählt. Für jede Sitzung wird der Kerberos-Ticket-Cache abgefragt und nach TGTs gefiltert. Wenn ein --user-Argument angegeben wurde, werden nur Sitzungen mit diesem Benutzernamen berücksichtigt.
  2. Jedes TGT wird auf zwei Bedingungen geprüft:
    • Wenn das Ticket die RenewUntil-Zeit überschritten hat, wird es als abgelaufen markiert und eine erneute Authentifizierung ist erforderlich.
    • Wenn die verbleibende Lebensdauer des Tickets innerhalb des benutzerdefinierten Schwellenwerts liegt, wird das TGT verlängert und importiert. Bei Erfolg werden die aktualisierten Ticket-Metadaten und ein base64-kodierter Kirbi-Blob ausgegeben, gefolgt von einem BeaconWakeup()-Aufruf.

Workflow TGT Renew

Der Ticket-Verlängerungsprozess umfasst die folgenden Schritte:

  1. Extrahieren des ASN.1-kodierten Kerberos-TGT mittels ExtractTicket() unter Verwendung von LUID und SPN aus der PTICKET_ENTRY-Struktur.
  2. ASN.1-Dekodierung des Tickets und Abrufen der Kerberos-Anmeldeinformationen.
  3. Erstellen eines TGS-REQ-Pakets, um die Ticket-Verlängerung unter Verwendung des ablaufenden Tickets zur Preauthentifizierung anzufordern.
  4. Senden der TGS-REQ-Bytes an den Domänencontroller auf Port 88.
  5. Abrufen, ASN.1-Dekodieren und Analysieren der TGS-REP-Antwort.
  6. Erstellen des verlängerten Tickets, Entfernen des alten Tickets aus dem Cache und Importieren des verlängerten Tickets mittels Pass-the-Ticket.
  7. Aktualisieren von startTime, endTime, renewUntil, ticketFlags und encryptionType in der PTICKET_ENTRY-Struktur, Ausgabe der Ticket-Informationen & base64.

Verwendung

Dieses Repository enthält ein Conquest-Modul, das die folgenden zwei Befehle implementiert.

tgt-monitor

Der tgt-monitor-BOF warnt, wenn neue TGTs erfasst werden, und gibt sie als Base64-kodierten Blob zurück. Die folgenden Argumente müssen an die Objektdatei übergeben werden:

NameTypBeschreibung
intervalintZeitüberschreitung zwischen den Prüfungen in Sekunden.
targetUsersstringGroß-/Kleinschreibung-unabhängige, kommagetrennte Liste der Zielbenutzernamen. Wenn dieses Feld gesetzt ist, werden nur TGTs für die angegebenen Benutzer abgerufen. Andernfalls werden TGTs für alle Benutzer gesammelt. Beachten Sie, dass Computerkonten mit $ enden müssen.
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

Das kodierte Ticket kann direkt mit Rubeus.exe ptt /ticket:<base64> oder impacket-ticketConverter für weitere Lateral-Movement-Angriffe verwendet werden, wie im folgenden Screenshot gezeigt. In Conquest ist es möglich, den ptt-Befehl zu verwenden, um das Ticket direkt in die aktuelle Anmeldesitzung zu injizieren und den Zielbenutzer zu impersonieren.

Stealing tickets with TGT Monitor

tgt-renew

Der tgt-renew-BOF verlängert automatisch Tickets, die bald ablaufen, bis sie nicht mehr verlängert werden können. Die folgenden Argumente müssen an die Objektdatei übergeben werden:

NameTypBeschreibung
intervalintZeitüberschreitung zwischen den Prüfungen in Sekunden.
thresholdintVerlängerungsschwellenwert in Minuten. Das Ticket wird verlängert, wenn die Zeit bis zum EndTime unter diesem Schwellenwert liegt.
targetUsersstringGroß-/Kleinschreibung-unabhängige, kommagetrennte Liste der Zielbenutzernamen. Wenn dieses Feld gesetzt ist, werden nur TGTs für die angegebenen Benutzer verlängert. Andernfalls werden TGTs für alle Benutzer verlängert. Beachten Sie, dass Computerkonten mit $ enden müssen.
targetLuidsstringGroß-/Kleinschreibung-unabhängige, kommagetrennte Liste der Ziel-LUIDs. Wenn dieses Feld gesetzt ist, werden nur TGTs für die angegebenen LUIDs verlängert.
Usage: tgt-renew [--interval seconds] [--threshold minutes] [--user user] [--luid luid]
Example: tgt-renew --luid 0x3e4 --interval 300 --threshold 30
Tool herunterladen