如果一个成员的时间偏差很大,什么时候在Windows域中破解?

大多数IT人员认为,在Windows域中,如果成员服务器的时钟与其域控制器的时钟相差超过5分钟(或者您已经configuration了多长时间),则login和身份validation将失败。

但是这不一定是真的。 至less不是所有版本Windows上的所有身份validation过程。 例如,我可以设置我的时间在我的Windows 7客户端被倾斜到所有哎呀 – 注销/login仍然正常工作。 会发生什么是我的客户端发送一个AS_REQ(与他的时间戳)到域控制器,和DC响应与KRB_AP_ERR_SKEW。 但神奇的是,当DC响应上述的Kerberos错误时,DC还包括他的时间戳,客户端用来调整自己的时间并重新提交AS_REQ,然后被批准。

这种行为不被视为安全威胁,因为通信中仍然使用encryption和秘密。

这也不仅仅是微软的事情。 RFC 4430描述了这种行为。

所以我的问题是有人知道这个改变了吗? 为什么其他的东西都失败了? 例如,如果我的时钟开始漂移太远,Office Communicator会将我踢开。 我真的希望有更多的细节。

编辑:这里是我谈论的RFC 4430的一点:

如果服务器时钟和客户端时钟closures的不止
策略确定的时钟偏移限制(通常5分钟),服务器
必须返回一个KRB_AP_ERR_SKEW。 可选客户的时间在
KRB-ERROR应该填写完整。 如果服务器通过保护错误
添加Cksum字段并返回正确的客户端时间

客户端应该计算两者之间的差异(以秒为单位)
时钟基于包含在客户端和服务器中的时间
KRB-ERROR消息。 客户端应该存储这个时钟差异,并用它来调整后续消息中的时钟。 如果错误是
不受保护,客户端不得使用差异进行调整
随后的消息,因为这样做会允许攻击者
构build可用于安装重放攻击的身份validation器。