之前两篇文章整理了NTLM协议的分析与利用
1、内网渗透——WINDOWS认证机制之NTLM
2、利用netsh抓取连接文件服务器的NET NTLM Hash
本篇文章来学习域内认证的Kerberos协议
文章目录
参考:kerberos协议分析
参考:ares-x 域渗透学习(二) KERBEROS协议
参考:robert.broeckelmann kerberos-and-windows-security-kerberos-v5-protocol
域认证Kerberos
域内认证不再是两台机器之间互相请求认证,而是通过第三方可信机构KDC(Key Distribute Center)来实现整个认证体系
系统角色
参与域认证的三个角色:
- Client
- Server
- KDC(Key Distribution Center) = AD(Account Database)+ AS(Authenication Service)+ TGS(Ticket Granting Service)
从物理层面看,KDC的角色实际为域控制器(Domain Controller),其中包含AD数据库与AS服务,TGS服务。
Kerberos相关的几个概念:
- KDC(Key Distribution Center):密钥分发中心
- AS(Authentication Server):身份认证服务
- TGT(Ticket Granting Ticket):由AS身份认证服务提供的票据也称为黄金票据,用于身份认证,存储在内存,默认有效期为10小时。
- TGS(Ticket Granting Server):由TGS服务提供的票据也称为白银票据,用于发出所请求服务的票证。
AD,全称叫Account Database,被称作活动目录数据库,存放在域控NTDS.DIT文件中,存储域中所有用户的用户名和对应的NTLM Hash,KDC可以从AD中提取域中所有用户的NTLM Hash,这是Kerberos协议能够成功实现的基础。
AS,全称叫Authenication Service,是KDC的组件之一,处理初始请求并负责发出TGT给Client,用来完成对Client的身份验证。
TGS,全称叫Ticket Granting Service,也是KDC的组件之一,从AS那里拿到TGT之后,TGS再发出对某个特定服务或服务器访问的Ticket,这个Ticket允许对某个服务访问。<