安全库:http://www.seclibs.com/
网络安全爱好者的安全导航,专注收集信安、红队常用网站、工具和技术博客
在Windows中的身份认证方式有很多,也在不断的升级,但是在域中,依旧使用的是Kerberos认证。
Kerberos 是一种网络认证协议,它的实现不依赖
于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据,也就是说它的认证完全是从一个不安全
的网络环境出发进行认证的,它是拥有第三方信托机构的,与上一篇主机间的交互是不同的。
Kerberos 这个名字来源于希腊神话,是冥界守护神兽的名字
其实看到这张图后,也就能明白Kerberos认证的是由三方来完成的,他们分别是client
、server
、KDC(Key Distribution Center)
。
其中KDC
是由两种服务所构成的,AS(Authentication Service)
和TGS(Ticket Granting Service)
AS是用来为client生成TGT的,TGS是用来为client生成某个服务的Ticket的,TGT(Ticket Granting Ticket)是用来获取Ticket的临时凭证,Ticket是用来访问某种服务所必须使用的票据
只有
用户TGT才能获取Ticket,才能去访问server上的服务。
而在Windows当中,域控DC(Domain Controller)充当了KDC的角色,还有一点需要注意的是,它有一个类似于本地SAM一样的数据库AD(Account Database),里面存储着所有client的名单,只有存在于client中的用户才能申请到TGT。
从物理层面看,AD与KDC均为域控制器DC(Domain Controller)。
** 域认证的大致流程是这样的:**
** client先向DC请求,要求获取访问server的权限,当DC接收到请求之后,先由AS向AD发起请求,查看此client是否在白名单中,成功后,则由AS将TGT返回给client。
** 然后client带着TGT继续向DC发起请求,要求获取访问server的权限,当DC接收到请求后,TGS会通过TGT判断