十八年微软SMB漏洞解析 数十种软件受牵连
作者:星期三, 四月 15, 20150

安全机构Cylance的下属小组SPEAR发现了一种基于18年前的SMB(Windows Server Message Block, SMB)漏洞上的新攻击向量。它被称作SMB重定向,主要影响微软、苹果、Adobe、赛门铁克、Box、甲骨文公司的产品。

在1997年,研究者发现了IE浏览器的一个bug,该漏洞允许攻击者利用SMB协议中的特性盗取Windows凭据。SMB是Windows的网络核心组件,在所有版本的Windows系统上都是默认开启的。

微软在漏洞被公布后提供了新的工作组和难以实现的组策略(GPO),但从未从根本上解决该问题。现在的情况是,除非改变Windows的默认设置,否则系统仍然容易受到该类型的攻击。

SMB攻击的基本模式如下:诱骗受害者点击链接,并使浏览器验证远程SMB服务器,例如file://x.x.x.x or \\x.x.x.x\,攻击者得以从中获得用户的当前登录凭据。尽管信息是Hash过的,但如果有足够的时间,则可以恢复。基于GPU的破解过程通常只需要几个小时。

SPEAR小组发现的新型SMB攻击从原始概念上和老版本相同,但新型攻击可以利用所有有漏洞的HTTP/HTTPS请求,不管这些网络资源访问请求是来自浏览器还是应用程序。

通过这种新型攻击,攻击者利用一台Web服务器或其它中间人方式就可以迫使用户在运行SMB的流氓服务器上验证身份。举例而言,在网络上,攻击者可以利用301或302状态代码,将浏览器重定向到头地址为file://的资源上。

Rapid7公司的研究主管在评论加盐Hash时表示,滥用网络共享路径(UNC)拦截和中继Windows凭据信息这种攻击方式已经众所周知大概20年了。

他表示,这类技术通常由专业黑客(不管是官方还是罪犯)使用,以获得登录的初始权限,并在登录后立即提权。微软发布的一些修复措施让这类攻击稍微不那么容易实施了,但整体上来看,SMB漏洞是个整体问题,可能并不容易在短期内依靠小修小补解决。

漏洞在哪?

IE浏览器在将近20年的时间里不断出现各种直接攻击方面的漏洞,但也存在SMB重定向攻击漏洞。.NET里的WebBrowser对象也存在该漏洞。

如果受害者没有使用IE浏览器,进行攻击可能会有些麻烦。攻击者可以通过一些措施绕过该问题:从目标公司的网站上下载一份文件,保存为HTML,在里面加上重定向到SMB服务器的一行链接,将文件后缀从.HTML改成.DOC,然后用“文档勘误”或者“销售调查”这类邮件名发送给公司员工。当用户打开.DOC文件时,Word会识别出它的HTML属性,并用IE来渲染它,这会触发指向SMB服务器的对外连接。如果公司允许VPN接入,被窃取的登录凭据可以用来直接访问公司网络。

URLMon.dll被微软官方和开发者用于进行不同关于URL的操作,比如下载文件。它有四个函数可能会被用于1997年开始存在的直接攻击以及最新型的SMB攻击。另外还有一个函数会受到直接攻击,但在通常情况下不会受SMB重定向攻击影响。

如果应用程序通过这些URLMon的API进行请求,设备会自动发出对外SMB连接。这显著增加了中间人攻击的有效性,甚至是在用户并没有对设备进行主动操作的情况下。

研究人员通过在笔记本电脑上开启HTTP追踪进行了快速测试、重启、登录。在测试过程中进行了超过100次不同的HTTP请求,其中超过半数并未受到SSL保护,可以被进行中间人攻击的黑客用于强制建立SMB连接。用户只是在星巴克解锁笔记本电脑就足够触发这种攻击了,相对来说这比等待用户使用IE浏览器或发出SMB对外连接要有效很多。

SPEAR小组同时发现,很多XML解析器都提供的XXE(XML External Entities)特性可被用于访问远程资源,这有可能会被SMB重定向攻击所利用。

小组提供的报告也列举了一系列可能被用于SMB重定向提权的攻击向量,包括中间人攻击、ARP缓存毒化、浏览器注入、聊天软件提供的图片预览功能、恶意文档、DNS缓存投毒。

研究人员建议,安全人员无法控制用户的具体行为,比如打开链接或邮件,因此有必要控制网络实体。

该攻击方式的缺陷在于,依赖用户的设备依次做出某些操作触发SMB验证,比如访问共享文件、打印机,或者其它能够触发SMB连接的自动化行为。这对攻击者而言很耗时间,因为通过中间人角色进行攻击需要等待用户恰好进行特定的分享连接操作,还需要一定的运气。除非用户打开IE浏览器或者直接建立SMB连接,这种类型的攻击可能不会有什么收获。

哪些应用软件受到影响?

常用软件:

Adobe Reader

Apple QuickTime

Apple Software Update (iTunes)

微软官方应用:

mobile survival

Internet Explorer

Windows Media Player

Excel 2010

Microsoft Baseline Security Analyzer

杀毒软件:

Symantec’s Norton Security Scan

AVG Free

BitDefender Free

Comodo Antivirus

安全软件:

.NET Reflector

Maltego CE

团队工具:

Box Sync

TeamViewer

开发者软件:

Github for Windows

PyCharm

IntelliJ IDEA

PHP Storm

JDK 8u31’s installer

解决方法

SPEAR小组在描述该漏洞的一篇论文中提到,软件调用的任何有风险函数都需要被替换成不支持跨协议重定向服务的函数,对SMB的访问应当是直接的,程序本身需要对这类连接进行过滤。还应该阻止来自本地子网之外的所有SMB请求,这可以降低远程入侵的威胁。

在对外防火墙中应该屏蔽TCP的139~445端口。如果用户确实需要访问外部SMB服务器,连接过程应该受到尽可能的监控。

该论文同样建议使用强密码,这可以阻碍破解过程。不过,使用基于GPU的密码破解还是会明显降低破解NTLMv2类型的Hash所用的时间。因此,论文中也建议管理员定期升级密码策略,以对应提升破解密码的硬件成本。

oclHashcat网站列出了破解NetNTLMv2的基准方案:使用8个并列AMD R9 290X GPU,每个GPU的成本大约是300美元到799美元,也就是总价格3000美元。装备这套设备,攻击者每秒可以进行65亿次猜测。

这意味着对于简单形式的暴力破解而言,攻击者只需要9.5个小时就可以遍历8位密码的全部可能性,包括大小写字母和数字。考虑到密码策略通常每季度更新一次,攻击者将有大量的时间来使用破解得到的密码。

SMB重定向攻击并不是一个惊天动地的漏洞,但它确实展示了一种通过中间人对被动客户端发起攻击的方式。从表面上看,这种攻击并不是什么全新的东西,但Windows笔记本和平板电脑的大规模普及增大了用户连接到开放式WiFi网络的可能性,加大了这种攻击的威胁。为了应对该漏洞,研究人员建议阻止所有通常设备发起外部SMB认证。

去年,Rapid7、Palo Alto和微软联合发布了保护服务账户的指导措施,Rapid7公司的负责人表示,这份指导文件中的很多内容也可以用于应对该漏洞。

关键词:

申明:本文系厂商投稿收录,所涉观点不代表安全牛立场!


相关文章