深入解析WkImgSrv.dll漏洞为何无需安全更新

本文详细分析了Microsoft Works 7中WkImgSrv.dll ActiveX控件漏洞的实际风险,解释了由于IE的安全机制和区域保护措施,该漏洞无法在互联网区域被利用,因此微软决定不发布安全更新。

最近,milw0rm上出现了一篇公开帖子(http://www.milw0rm.com/exploits/5530),讨论了Microsoft Works 7 WkImgSrv.dll ActiveX控件中的一个问题。该概念验证(PoC)声称可以实现远程代码执行。McAfee Avert Labs博客也有一篇关于此问题的帖子(http://www.avertlabs.com/research/blog/index.php/2008/04/17/potential-microsoft-works-activex-0-day-surfaces/)。

乍一看,这个问题似乎很严重,对吧?但经过进一步调查,我们发现并没有有效的攻击向量。

以下是我们使用之前另一个SWI博客中发布的代码(ClassId.cs)输出的结果:不安全=不危险?如何判断ActiveX漏洞在Internet Explorer中是否可利用。

ActiveX对象CLSID:00E1DB59-6EFD-4CE7-8C0A-2DA3BCAAD9C6

输出: Clsid: 00E1DB59-6EFD-4CE7-8C0A-2DA3BCAAD9C6 实现IObjectSafety:False 安全初始化(注册表):False 安全脚本(注册表):False KillBitted:False

这表明此ActiveX对象既不是SFS(安全脚本)也不是SFI(安全初始化),也没有实现IObjectSafety。

如果我们尝试在互联网区域加载此ActiveX对象会发生什么?IE根本不会加载它。 注意上面的区域显示为“互联网”。这是由于2005年MS05-052在IE中引入的缓解措施。

以下是MS05-052中发生的情况的详细信息,来自之前的SWI博客:Kill-Bit常见问题解答:第2部分(共3部分)。 “在MS05-052中,IE进行了一项更改,影响了控件在互联网区域实例化的方式。IObjectSafety检查现在被前置,以便IE可以快速确定控件的安全状态,并在控件被识别为不安全时立即中止实例化。”

MS05-052中引入的缓解措施仅适用于互联网区域。如果对象在本地机器区域(LMZ)中加载,IE会实例化它。然而,从互联网区域到LMZ的任何提升都将被视为“区域提升”,IE应该阻止这种情况,而在此案例中并未发生。有关IE区域提升功能的更多详细信息,请参阅http://msdn2.microsoft.com/en-us/library/ms537185(VS.85).aspx。此外,IE通过默认锁定本地机器区域来进一步保护用户。有关LMZ锁定功能的更多详细信息,请参阅http://technet.microsoft.com/en-us/library/bb457150.aspx#EHAA。

现在在内网区域会发生什么?IE会弹出黄金栏以阻止在脚本中使用此ActiveX对象。

我们想澄清的是,这并不是由于MS05-052中引入的缓解措施。相反,它与以下设置相关。

  • 安全漏洞研究与防御博客作者 帖子按“原样”提供,不提供任何保证,也不授予任何权利。

ActiveX 攻击向量 Clsid Killbit 缓解措施

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计