MS08-076:Windows Media组件漏洞分析(第一部分)
今日发布的MS08-076安全更新修复了Windows Media组件(包括Windows Media Player、Windows Media Format Runtime和Windows Media Services)中的两个漏洞。单独来看,这些问题严重性不高,综合评级为“重要”。但若组合利用,攻击者可能实现远程代码执行(RCE)。本文将深入解析攻击者如何组合利用这些漏洞,并说明其与上月发布的SMB反射公告(MS08-068)的关联,以帮助优先部署此更新。
SPN漏洞(CVE-2008-3009)
第一个漏洞涉及Windows Media组件使用NTLM认证协议时对SPN(服务主体名称)的处理。当媒体播放器(如Windows Media Player)访问服务器上的媒体时,服务器可能要求客户端进行身份验证。客户端会发送当前用户的凭据,若协商使用NTLM协议,则通过NTLM传输。
如果服务器恶意,可利用接收到的NTLM凭据对客户端发起反射攻击。此类攻击在MS08-068公告及相关SVRD博客文章中有详细讨论。MS08-068更新了SMB客户端以防护此类攻击,而本公告则为Windows Media组件客户端提供了类似保护。
客户端必须在执行身份验证时向InitializeSecurityContext API传递有效的SPN才能启用NTLM反射攻击防护(相关文档参见MSDN NTLM和SPN)。由于Windows Media组件传递了不完整的SPN,导致此认证请求未启用NTLM反射防护,攻击者可利用反射凭据针对客户端机器上的SMB服务进行攻击。
需注意,Windows Media组件与Internet Explorer一样具有区域感知功能。当从服务器检索媒体时,代码会判断服务器位于本地内网(内网区域)还是互联网区域(用户还可配置受信任站点和受限站点区域)。互联网区域的服务器本质上不受信任,Windows Media组件不会在未提示用户的情况下向这些服务器发送NTLM凭据。因此,要利用SPN漏洞,攻击者必须在本地内网(如与受害者同一子网),或诱使系统与互联网上的机器进行NTLM认证。这就引出了第二个漏洞……
ISATAP漏洞(CVE-2008-3010)
ISATAP是一种允许在IPv4网络中发送IPv6流量的技术,是网络从IPv4迁移到IPv6的过渡技术之一。由于ISATAP提供IPv6连接,仅启用IPv6的系统(如Windows Vista)受此问题影响。
该漏洞源于Windows Media组件在确定区域时处理ISATAP地址的方式:本应归类为互联网区域的ISATAP服务器地址被误判为内网区域。如上所述,这导致信息泄露漏洞,因为NTLM认证数据可能被发送到互联网上的不受信任目标。
需注意,正确配置的边缘防火墙会阻止ISATAP使用的IP协议,因此互联网上的攻击者无法让受害者联系其恶意服务器(参见Technet上的“IPv6安全考虑与建议”白皮书)。
组合严重性
结合上述信息,可清晰看出攻击者如何通过组合这两个漏洞获得受害者机器的访问权限。但在确定公告严重性时,我们不考虑不同漏洞的组合攻击,因此本公告的整体严重性为“重要”。
可能的攻击场景
由于大多数路由器和边缘防火墙会阻止ISATAP,攻击者需与受害者处于同一网络(非互联网)。通常,利用这两个漏洞的攻击会与SMB反射攻击结合(称为“跨协议反射攻击”)。具体影响取决于目标操作系统及Windows Media组件客户端运行的用户账户权限。需注意,即使应用了MS08-068更新,系统在上述场景下仍易受攻击,因为生成NTLM认证请求的不是SMB。
在本博客的第二部分,我们将讨论客户端机器上可应用的额外缓解步骤,并扩展说明ISATAP漏洞如何影响Windows Media服务器。
Mark Wodrich, SVRD Blogger
本文按“原样”提供,无任何担保,也不授予任何权利。