扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
微软昨天的非常规更新修复了一个特别严重的缺陷:任何登录到域里的用户都可以将自己的特权提升成其他用户的特权,甚至包括域管理员的特权。笔者从预先的通知得知,错误之一是特权提升错误,而且错误评级为严重。笔者阅读通知时即知道,这次的漏洞有些东西不太一样。
微软在后来的安全研究和防御(SRD)博客里对漏洞做了更多的解释,尽管提供的细节仍然有限。
先是好消息:“Azure的Active Directory在外部接口没有用到Kerberos,因此不受该漏洞影响。”否则的话就要坏大事了。
而Windows Server 2008 R2以及更低版因含有该安全漏洞可被攻破。Windows Server 2012也含有一相关的漏洞,但利用漏洞进行攻击的难度高些。桌面Windows不含该漏洞,但他们还是发布了桌面系统的更新。桌面机里含有相关的代码,这样做可能是正着。
这也就解释了为什么微软给出的更新优先次序表是下面这样的:
1、更新运行Windows Server 2008 R2和更低版本的域控制器
2、更新运行Windows Server 2012或更高版本的域控制器
3、更新运行任何版本Windows的所有其他系统
完成第一步前不要中间停下来。
要搞清楚漏洞的机制,有必要了解一下Kerberos是如何工作的。微软提供了以下说明:
Kerberos票证交换示意图(图片来源:微软)
KDC(密钥分发中心,域控制器上被攻击的组件)在票证交换过程中的某以点(图中标2的地方)向客户端发送一个名为称为PAC(特权属性证书)的数据结构,PAC包含一个数字签名过的部分,该部分本身含有用户安全权限(用户的域SID和用户所属的安全组)。用户然后重新将该票证发给KDC,以换取一服务票证,用户再用服务票证在Windows服务上进行身份验证。
问题在这里:用户发回PAC给KDC请求服务票证时,KDC对PAC数字签名的验证有时不完善。即是说,用户可以在伪造的PAC数据里放置用户的权限,例如将自己设为属于域管理员安全组的成员。
微软介绍了一种方法,可以用于在运行更新程序前确定你的系统是否已经被人攻破过,但该方法只是测试某些类型的攻击方式,包括坊间见过的攻击方式。利用其它技术的攻击也是可能的,微软的这个方法检测不到这些攻击。看一下下面的安全事件日志中的一项:
被攻击过的痕迹(图片来源:微软)
重点检查安全ID(Security ID)和帐户名称(Account Name)是否不同。二者应该是相同的。
运行了更新程序后,可以利用不同的事件,搜寻是否有人企图在攻击的证据。
各位应该特别认真地对待此事。据NVD(美国国家漏洞数据库)给出的描述,该漏洞影响巨大,攻击漏洞的做法简单。如果你的系统被攻破的话,无论攻击者是否进行了破坏,代价都将会十分高昂:补救的唯一方法是从头开始重新构建域。更新吧,不要让这种事发生在阁下身上。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者