独家连载 | 零日漏洞:震网病毒全揭秘(56)
作者: 日期:2015年11月26日 阅:2,771

640.webp

火焰攻击者不慎遗失的服务器,被卡巴斯基拿到了。其中,他们不仅看到了C3(Command_Control_Communicte)的全部流程,还借此发现了另一种新病毒——高斯……

第十五章 火焰(接上)

在处于地下状态多年后,具有国家背景的网络攻击一个接一个的遭到曝光。不过,曝光还没结束。很快,卡巴斯基的研究员发现,仍有来自同一批攻击者的更多恶意程序在外潜行。

原来,在成功访问几台火焰用过的指挥控制服务器后,他们再次取得重大进展。他们发现,在火焰曝光新闻发布10天前,攻击者发起了一场大规模的战场清理行动,抹去了他们之前在服务器上的所有行踪。这说明攻击者当时已经得到了“行动即将暴露”的预警消息。但是,他们在清理中犯了一个错误,把一台马来西亚的服务器漏掉了。因为,在清理行动几周前,攻击者不小心更改了服务器的配置,不经意间把自己锁在了外面。结果,等他们想清理数据时,发现自己已经进不去了,这才让卡巴斯基发了一笔横财。

除了大部分数据之外,完好无损保留下来的,还有攻击者用于向染毒计算机发送火焰模块、回传盗取数据的控制面板。这个控制面板被设计成一个名为“今日新闻”的商业信息发布平台,以蒙蔽进入服务器的外部访客,让其误以为是某家报纸或媒体公司的网站。攻击者把用于安装在目标计算机上恶意程序保存在名为“新闻”和“广告”的文件夹中,把从目标计算机上盗取的数据和文件保存在名为“记录”的文件夹中。

卡巴斯基研究员还在服务器上发现了用于记录“每台与其通信的染毒计算机IP地址”的日志文件。虽然服务器建立的时间并不长,但在从3月25日上线开始的10天之内,共有来自数十个国家的5377台染毒计算机跟它进行过通信联络。其中,3272台位于伊朗,1280台位于苏丹,只有不到100台来自其他国家。

拉伊乌团队意识到,火焰共有80台服务器,如果1台服务器在短短10天之内就与5000多台染毒计算机建立了通信联络,那从火焰上线的2007年或2008年起算,染毒计算机总数将高达数万台。这比之前测算的规模可大多了。他们还在马来西亚的服务器上发现了一个装满盗取数据的文件,其大小为5.7G。拉伊乌推算,如果这么多数据都是在10天之内盗取的,那么在过去5年多来,火焰盗取的数据总量将多达数T。

但在震网留下的另一个证据显示,与马来西亚这台服务器之间进行通信的,不是一种恶意程序,而是4种。这推翻了拉伊乌的假设。按照制作时间的先后顺序,它们依次被命名为SP、SPE、FL和IP。每种恶意程序与服务器之间的通信协议各不相同,都是攻击者分别定制的。

经分析,FL指的是火焰(Flame),但尚不清楚另外3种指的是什么。卡巴斯基的研究员之前见过的只有SPE,另外两种则从未露过面。当时,他们利用截取通往火焰服务器数据的槽洞发现,位于黎巴嫩、伊朗和法国的约90台计算机感染了SPE,并用其特有的通信协议与槽洞间进行了数千次通信。但是,当时他们没能得到SPE的样本,因此并不知道它的功能是什么。

这些发现之所以像震网、毒区和火焰曝光一样令人震惊,倒不是因为其攻击的手段和技巧,而是带给人们一种这样的印象:在美国和以色列开发的网络武器库中,震网、毒区和火焰只是冰山一角。

事实正是如此。在火焰曝光几周后,卡巴斯基偶然之间又发现了一种已潜藏数年的间谍工具,而且,疑似具有国家背景。

每当拉伊乌团队发现关于震网、火焰或毒区中的新文件或新信息,他们都会将相关的特征码加入公司的反病毒分析系统,并调整搜索公司恶意代码档案库的关键字,以查找新发现文件的不同版本。一次,他们从自动报告系统中发现了一个来自某中东地区用户计算机的恶意文件。这个文件在系统中被标示为“火焰病毒模块文件”,同时被注明“与火焰服务器进行通信”。但是,经过比对,卡巴斯基发现它既非火焰,也非另外3种神秘的恶意程序——SP、SPE和IP。

他们将该文件的特征码加入了公司反病毒引擎,陆续发现了来自25个国家约2500个染毒计算机。其中,来自黎巴嫩的最多,超过1600个,以色列482个,巴勒斯坦地区261个,美国40个,来自伊朗的只有1个。

接下来是逆向工程和代码分析。他们发现,它在库文件、算法和基础代码方面与火焰有许多相同点,难怪自动报告系统把它标示为“火焰”呢。代码中还留下了一些项目数据(project data)及存储路径。这些路径表明,在攻击者用于开发的计算机上,这些文件存储在一个名为“火焰喷射器”(Flamer)的文件夹中。

卡巴斯基的研究员根据它某一主模块的名称,将它命名为“高斯”。他们猜测,这个名字似乎是在向著名数学家弗里德里希·高斯(Johann Carl Friedrich Gauss)致敬。还有其他模块是以数学家拉格朗日(Joseph-Louis Lagrange)和密码学家哥德尔(Kurt Gödel)命名的。很快,研究员的猜测得到了证实。因为,攻击的载荷部分中使用的加密机制非常繁复而难懂,必定出自高人之手。

640.webp (6)

著名数学家弗里德里希·高斯

和火焰一样,这个神秘的新恶意程序也是用来侦察的,但它功能清晰、相对独立,体量也远远小于火焰。它的主要功能包括盗取系统密码,记录配置数据,收集社交网络、电子邮件以及即时通信账户的用户名密码。此外,它还有一个模块使用了震网中出现过的.LNK漏洞利用程序,功能是感染U盘。

此外,研究员在高斯的代码中还发现了一种专门盗取银行账户账号密码的木马程序。这种木马,在具有国家背景的网络武器中还是首次露面。不过,这可不是普通的银行卡盗号木马,它的目标很明确,就是贝鲁特银行、EBLF、BlomBank、FransaBank和Credit Libanais这几家黎巴嫩大银行的客户。而且,它对账户中的金钱毫无兴趣,而是另有所图。原来,攻击者怀疑,这些银行为伊朗核计划相关业务和伊朗人撑腰的黎巴嫩真主党(Hezbollah)洗钱,所以用网络侦察工具对这些银行的目标账户余额和交易明细进行监控,以明确这些账户之间的关系,并追踪资金流向。

高斯的代码中,有两个问题难住了卡巴斯基的研究员。第一个问题是,高斯会在染毒计算机上安装一种名为“帕利达窄体”(Palida Narrow)的定制版字体。和毒区中的“德克斯特标准体”一样,帕利达窄体也是攻击者凭空编造的。不同的是,后者的文件中并没有任何漏洞利用程序和恶意代码。实际上,研究员根本看不出来它有什么功能,所以搞不清楚攻击者为什么要安装这样一个东西。

第二个问题更加难解。研究者在部分染毒计算机上发现了高斯的载荷,但不知攻击者对它使用了何种加密算法,怎么也无法穿透它坚硬的外壳。

与采取“感染即释放载荷、满足配置条件执行载荷”机制的震网不同,高斯只会把载荷释放到满足特定配置条件的计算机上。看来,这一次攻击者吸取了震网曝光的教训。攻击者通过控制释放载荷目标的数量,就可以最大限度的减少被人发现的机会。

高斯传播弹头的方式是,通过U盘秘密“转移”。而且,它很有节制,只会感染第一个插在染毒计算机上的U盘。当这个被感染的U盘被插入另一台计算机时,高斯会检查这台计算机的配置信息,如果满足条件,才会释放载荷。同时,它会把感染过的每台计算机的配置信息记录下来,并存储在U盘的一个隐藏文件中。如果U盘正好被插入一台感染了高斯的联网计算机,就会立即将这个隐藏文件发送到攻击者的指挥控制服务器。借助这种手段,攻击者可以掌握高斯的最新战果。(待续)

译者:李云凡

 

关键词:

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


相关文章