顺藤摸瓜 通过一封Hacking Team邮件发现零日漏洞
作者: 日期:2016年01月16日 阅:1,640

零日漏洞是软件厂商和杀毒软件公司先前从未发现过的漏洞,黑客罪犯和情报机构经常使用它们来打开后门,而且由于零日漏洞本身的特性,这些后门有可能数年保持不被发现。直到最近,发现零日漏洞还属于只能靠运气的事情。

640.webp (3)

然而来自卡巴斯基实验室的研究人员首次在有目标地寻找后成功发现了零日漏洞。研究人员使用的只是不起眼的一些线索。

研究人员发现的是微软公司 Silverlight 中的一个远程代码执行漏洞,Netflix 等很多流媒体服务提供商使用它作为浏览器插件。Sliverlight 还被 SCADA 和其它关键工业基础设施的控制系统所使用。

微软在周二发布的补丁中将该漏洞评为“高危”。如果用户访问挂载漏洞利用插件的恶意网站,攻击者可以利用该漏洞感染系统。这种攻击影响除 Chrome 之外的全部主流浏览器,原因并不复杂:谷歌在2014年移除了对 Silverlight 插件的支持。

卡巴斯基在去年11月发现,该零日漏洞感染了某客户的设备。之后,卡巴斯基设下诱饵,并花了数个月时间等待黑客咬钩。这次事件给想要发现零日漏洞的研究人员作了一个很好的例子。

第一条线索来自 Hacking Team 的电子邮件

发现起源于一次机密的谈话。

2015年七月,代号为 Phineas Fisher 的黑客攻击了意大利公司 Hacking Team ,并窃取了400GB 的公司数据,并将拿到的内部邮件公布在了网上。这次入侵将该公司的业务记录公之于众,同时暴露了一些想要向 Hacking Team 销售零日漏洞的黑客。Hacking Team 一直饱受争议,因为它向全球的执法和情报机构销售漏洞利用软件,客户中包括苏丹、巴林和沙特阿拉伯等专制政权。

克斯汀·雷奥(Costin Raiu)是卡巴斯基全球研究分析团队的负责人,他在泄露的电子邮件中注意到了一条2013年的信息。当时,某自称维塔利·托罗坡夫(Vitaly Toropov)的俄罗斯零日漏洞卖家联系了 Hacking Team。一系列电子邮件显示,Hacking Team 为某 Flash 漏洞支付了4万5千美金。

就像所有成功的商人一样,在做完这笔生意之后,陀罗坡夫想卖给 Hacking Team 更多货。他还给出了折扣措施:第二次购买降价5千美元,第三次购买降价1万美元。他在推销中写道:“我推荐一个崭新的 iOS 7 和 OS X 双系统都可以使用的 Safari 漏洞。你也可以买我在两年半之前写的 Silverlight 漏洞利用,这个漏洞在未来的几年里很有可能生存下来。”

尽管 iOS 漏洞令人感兴趣,雷奥对陀罗坡夫介绍的自2011年起从未被发现的 Silverlight 漏洞更好奇。这显然不是某个新手在随便自夸。

陀罗坡夫是多产的漏洞猎人和漏洞利用编写者,他在2013年之前是漏洞赏金项目的积极参与者。他在网络上发布的表格和在 Packet Storm 网站上贴出的历史成果显示,在2011年到2013年之间,陀罗坡夫向各大漏洞赏金项目提交了超过40个漏洞。2013年10月,他在向微软提交两个 Silverlight 漏洞之后停止了参加漏洞赏金项目。同一个月,他开始秘密地向 Hacking Team 销售恶意软件,显然他保留了一个没有提交给微软的漏洞,想将它卖给黑客。

由于漏洞已经被卖给了客户,而且在过去的两年半时间里一直在感染设备,雷奥认为可以尝试寻找这个漏洞。只有一个问题。陀罗坡夫没有透露该漏洞的细节,因此很难找到他的本尊。

通常,零日漏洞是在意外中被发现的:某人发现自己被入侵了,经过取证检测发现其系统上存在一个零日恶意软件。在发现这些漏洞之后,反病毒厂商就会提取其指纹,帮助寻找其它系统上的该恶意软件。之后,他们编写扫描器使用的签名,搜索客户的系统。但在这此事件中,雷奥并不知道如何寻找零日漏洞,因为他既没有拿到可供分析的代码,也不知道 Silverlight 的哪一部分存在漏洞。

在看过陀罗坡夫给出的历史漏洞发现记录之后,雷奥有了想法。他开始研究陀罗坡夫为已发表成果写的漏洞利用概念验证,希望能够发现其特别的编程技巧或风格,再将其作为搜索这一漏洞的标本。研究人员在参与漏洞赏金项目时会提交概念验证的漏洞利用,以证明他们发现的漏洞是真实并有可能被利用的。通常,概念验证代码会在目标机器上启动计算器应用,以证明利用是可行的。

雷奥选择研究已发表文件的直觉是对的。他特别研究了陀罗坡夫为其中一个微软 Silverlight 漏洞写的概念验证代码,这里提到的漏洞已经在2013年被修复。在漏洞利用的代码中包含 Debug 代码,其中有几行引起了雷奥的注意。

“漏洞利用开发者经常会重用代码,简化工作。Silverlight 零日漏洞是否有可能和陀罗坡夫在2013年发表的概念验证攻击相似呢。”

iOS 零日漏洞要价百万美金

程序员通常在程序的最终版本中移除 Debug 代码,但有时候他们会将其留在源码中,这样它就和所有代码一起被编译成二进制文件了,即使它们在程序中不起到任何作用。雷奥希望他的猜测正确。

雷奥使用了名为 YARA 的工具,查找客户的计算机上是否存在这些字符串。在 VirusTotal 工作的西班牙安全研究人员维克托·奥瓦雷兹(Voctor Manuel Alvarez)在2007年设计了 YARA ,它是一种免费的病毒扫描器,谷歌现在已经收购了该工具。研究人员可以使用它创建所谓的 YARA 规则,搜索恶意文件并发现它们内含的规律,并将它们分类进特定的恶意软件家族。YARA 规则也可以被用于扫描网络和系统上的代码格式。因此,雷奥决定使用这个工具。

出于类似的目的,雷奥之前使用过 YARA 规则,但以失败告终。卡巴斯基的某客户同时遭到了两种漏洞利用的攻击,黑客使用了被感染的 PDF 文档进行渗透。其中一个漏洞可以让攻击者从 Adobe Reader 使用的沙箱中逃逸。雷奥和同事到最后都没有找到那个漏洞,但还是弄清楚了其攻击方式,并通知了 Adobe 公司发布补丁。

尽管之前使用 YARA 失败了,雷奥还是决定在陀罗坡夫的恶意软件上再试一次。7月,在读过陀罗坡夫和 Hacking Team 之间沟通的电子邮件之后,雷奥根据 Debug 代码创建了一个 YARA 规则,并将其分发给了公司的自动化漏洞利用防御工具和卡巴斯基安全网络,这样消费者就可以共享在计算机上找到的恶意代码样本。

640.webp (4)

几个月过去了,没有找到任何感染的迹象。雷奥几乎忘记了这个小实验。

11月25日,中东某客户的设备上突然传出了遭到感染的消息。该公司同意将设备上发现的恶意代码通过卡巴斯基安全网络上传,以供分析。值得注意的是,几个小时后,某人向 Virus Total 网站上传了该漏洞利用的样本,但源头来自另外一个地理区域。Virus Total 收到的文件是从老挝的 IP 地址上传的。这份文件的编译日期是7月21日,这正是陀罗坡夫和 Hacking Team 协商卖出 Silverlight 漏洞的几周后。

在雷奥得到恶意代码之后,确定它是否就是一直在等候的 Silverlight 零日漏洞就很快了。

“这几行 Debug 代码是我们找到的唯一线索。”尽管希望渺茫,雷奥还是做到了。

之后,卡巴斯基没有发现客户设备上的其它样本,这意味着不论是谁在使用漏洞,都是将其用于特定目标的。世界上两个地区的用户在同一天先后遭到攻击,正表明攻击者当天是同时对这两个目标发起攻击的。雷奥估计,该漏洞在零日漏洞市场上的价格大概在2万到4万美金之间。

媒体联系到托洛坡夫求证零日漏洞一事,同时给他展示了卡巴斯基为此漏洞制作的技术描述文档,但托洛坡夫表示对此这一二进制阅读器漏洞并不熟悉。

他在给媒体的回复中写道:“我并不了解这一类二进制阅读器漏洞。”他询问这一漏洞利用是否重用了他之前编写的代码,媒体在确认微软官方已经修复此漏洞后将代码发给了他。

“我很想承认,但这事的确不是我做的。不论如何,在这些 shell 代码中发现我之前的概念验证工作很有意思。谢谢分享。”

托洛坡夫在这里提到的概念验证工作,即是他在2013年提交给微软并得到修复的 Silverlight 漏洞。

托洛坡夫没有解释这种巧合出现的原因,但他对媒体表示这一结果并不令人吃惊。与此同时,他否认在2013年曾与 Hacking Team 做过交易。

雷奥表示,看到其他人会复用托洛坡夫公开的概念验证攻击代码,这有些不合情理,但并非完全不可能。雷奥至少发现过一次某人使用托洛坡夫2013年的 Silverlight 漏洞代码,作为漏洞利用的基础构成。

托洛坡夫是否真的开发了该漏洞利用暂且不论,雷奥认为自己的猎捕零日漏洞行动获得了巨大成功,因为攻击者能够利用的零日漏洞又少了一个。

这实际上是第一次有目的性的猎捕行动取得的成功,虽然可能靠了些直觉和运气。如果代码的编译者移除了这些 debug 代码,我显然不会有这种运气。

既然这种猎捕方式已经获得成功,研究人员有可能对托洛坡夫发表的另外一个概念验证攻击如法炮制,发现更多零日漏洞。此外,该方法还可以被用于其它研究人员公开发布的代码,破解更多零日漏洞 。

 

关键词:

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


相关文章