时间:2017-05-21 来源:互联网 浏览量:
“看一眼就怀孕”只是个段子,而“看一眼就中招”的漏洞则真的存在。
最近有安全研究人员发现了一种很奇葩的攻击方式,利用谷歌的 Chrome 浏览器能窃取任何版本的 Windows 系统登录密码(包括最新的 Windows 10)。发现,这种攻击手法就借鉴了曾被评为“史上最危险的漏洞之一”的“快捷方式漏洞”。该漏洞是史上影响范围最广的微软漏洞之一,号称“看一眼就中招”。2010年轰动全球的“震网病毒事件”(美国当年利用病毒破坏伊朗核计划),正是依靠这种攻击手法。
为什么看一眼就能中招2010 年8月,微软紧急修复了一个高危漏洞,人们和现在一样喜欢抱怨补丁太多,也并不了解这个漏洞的威力,以及美国正是军方利用这个漏洞,破坏了伊朗核弹计划。
了解到,当年伊朗建设核设施时,采用的监控和数据采集系统都是自成体系运行,完全不连接任何外部网络,所有操作都严格“物理隔离”,几乎没有从外网攻进去的可能性。然而, Windows 系统里的一个快捷方式漏洞帮助美国打开了局面。
快捷方式漏洞的原理是这样的:我们的桌面上通常有一些快捷方式文件,它们的格式是 LNK。
使用Windows系统几乎离不开各种快捷方式
之所以它们能显示出各式各样的图标,是因为文件引用了不同的图标文件,图标文件决定它们显示的样子。比如,我可以把谷歌浏览器快捷方式的图标改成一个关机键。
快捷方式图标可自定义
简而言之,Windows 系统显示快捷方式时,会根据文件中图标路径,自动去寻找并引用图标文件,然后图标展示给用户。而攻击者利用的正是这一个细节。
攻击者可以构建一个恶意快捷方式,将它的图标引用目录指向了一个恶意代码文件。受害者看到这个快捷方式的瞬间,它就把恶意代码文件当作图标拉取了过来。更可怕的是,它不仅可以引用本地文件,还可以拉取远程服务器上的文件。
这种攻击方式最厉害之处在于,快捷方式文件的显示图标是系统自动执行的,就算受害者不点开这个快捷方式文件,只要看一眼,就已经中招!换句话说:
攻击者把一个恶意文件发送给你,不管你打不打开,只要接受就立刻中招!
攻击者把一个恶意文件挂在网上,不管你打不打开,只要下载到你电脑上就中招!
攻击者把文件放在U盘里,不管你打不打开,插上就中招!
这就是快捷方式漏洞,人送绰号“看一眼就中招”的由来。
回到美军破坏伊朗核设施事件上。当时伊朗的核设施采用了严格的物理隔离,工作人员也绝不会轻易打开任何可疑文件。
于是美国想了一个迂回招数,先感染一些比较好得手的外部机器(比如工作人员家里的电脑,或者办公区域的电脑),将病毒感染到工作人员的 U盘里,然后静静等待工作人员有一天把U盘插到核心核设施离心机的控制设备上。
工作人员把U盘插到核设施监控系统的主机上时, 并没有运行U盘里的任何可疑文件,但病毒已神不知鬼不觉地潜入内部主机,成功利用U盘完成突破物理隔绝的“摆渡”。之后继续搭配另外几个漏洞,迅速蔓延到核设施的整个内网。
于是就出现了下面这一幕:时任伊朗总统内贾德参观核设施,清晰地显示出了当时在“震网病毒”的作用下,两个离心机发生未知故障,所有人当时都被蒙在鼓里,没有人知道病毒究竟是怎么进来的,甚至他们根本不知道这是电脑病毒搞的鬼。
红圈标注的是发生故障的两个离心机
快捷方式漏洞被公开披露后,整个互联网陷入了疯狂,那情形大概和最近发生的全球勒索事件差不多。这是当时的新闻是这样的:
图片引用自百度新闻搜索结果
微软很快对 LNK 格式的快捷方式文件进行了限制,不允许引用外部服务器的文件,只允许引用本机资源,并且对引用图标文件的格式做了严格的限制,断绝了利用LNK快捷方式的图标文件来传播恶意代码的可能性。该漏洞便从此销声匿迹,成为黑客江湖的一个传说。
漏洞改头换面“重出江湖”然而,微软还是百密一疏。他们对LNK格式的快捷方式文件进行了限制,却忘记了 Windows 下还有另一种快捷方式文件格式:SCF。
什么是 SCF 文件?官方的解释是这样:
SCF(文件是“WINDOWS资源管理器命令”文件,它也是一种可执行文件,该类型文件由 Windows Explorer Command 解释,标准安装。
看不懂没关系,我们只要知道,它的工作原理类似于普通的 LNK 格式快捷方式,一般都在桌面放置一个图标,帮我们快速打开一个资源。常见的“我的电脑”、“回收站”就是 SCF 格式的快捷方式。
Windows 修复 LNK 快捷方式漏洞时,忘记了处理 SCF 文件,也就成了攻击者利用 Chrome 窃取 Windows 密码的关键。
整个攻击流程是这样的:
攻击者先创建一个恶意的SCF文件,放在自己的网站。
诱骗受害者进入该网站,然后神奇的一幕就出现了, Chrome 浏览器会自动下载这个SCF文件到受害者的电脑中,不需要用户确认下载。(可能是默认 Windows SCF 文件是安全的,这算是Chrome 浏览器的一个安全漏洞)。
当用户进入包含恶意快捷方式文件的文件夹,即使不点击,该文件也会自动检索图标,而图片路径早已被攻击者设置到了一台远程服务器上,因此受害者电脑会自动远程链接的攻击者的服务器。
根据 Windows 系统访问远程服务器的 LM/NTLM 身份认证机制,受害者的电脑连接攻击者的远程服务器时,会自动把电脑的系统用户名和密码哈希值传输过去,用来验证自己的身份。于是攻击者便得手了。
据了解,虽然这些密码被加密了,但依然可以通过暴力破解,获取原始登录密码。而且微软有许多在线服务只需要验证哈希散列加密密码,攻击者甚至可以使用加密的密码直接登录到受害者的 OneDrive 、 Outlook、Office365、网上办公、Skype、Xbox Live 等微软的其他服务,而不需要解密后的密码。
甚至,攻击者也可以冒充受害者对企业内部的其他成员产生威胁,获取访问企业IT资源权限等等。
值得一提的是,由于这种攻击手法需要将 SCF 文件文件下载到电脑,一般攻击者会把文件名设置“图片.jpg.scf”或者“文本.txt.scf,那样它 Winodws 资源管理器里会显示成 “图片.jpg”或者“文本.txt” ,这样看起来像是一张jpg格式的图片或是txt文本文件,很难被察觉。
scf 文件后缀将被隐藏,不易被发现
如何防止这种攻击?目前谷歌似乎也意识到了这个漏洞,正在制作相应的补丁,不过在新的补丁更新之前,所有使用Chome浏览器或者Chromium 内核浏览器(比如QQ浏览器、百度浏览器、360极速浏览器等等)的用户都不排除类似风险。
在此给出的建议是,关掉访问外网的SMB连接端口(TCP端口号139和445),使得本地计算机不能再查询远程SMB服务器。或者禁用谷歌Chrome浏览器的自动下载设置,在设置——显示高级设置——勾选。 这样每次浏览器下载文件都会询问,从而避免浏览器自动下载恶意SCF文件。
文 | 谢幺 (dexter0),网络安全作者,公众号:宅客频道
参考内容:
攻击手法发现者 Bosko Stankovic 的博文
The Hacker News