欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

Hussarini——一个正将菲律宾作为攻击目标的后门

来源:本站整理 作者:佚名 时间:2018-07-16 TAG: 我要投稿

在两周前,FortiGuard实验室发现了一份恶意文件,文件名称为“Draft PH-US Dialogue on Cyber Security.doc”,带有很强的政治主题。这份文件旨在利用漏洞CVE-2017-11882,一旦成功,它会在受害者的%temp%目录中放入一个恶意软件。
我们对这个恶意软件的分析显示,它属于Hussarini,也叫Sarhust,一个后门家族,自2014年以来一直被积极用于针对东盟地区国家的高级持续性威胁(Advanced Persistent Threat,APT)攻击。
据报道,菲律宾是东盟中最容易受到APT攻击的国家。在2016年发生了数起大规模数据泄露事件后,菲律宾开始加大了对于网络攻击防御的投资。然而,尽管有了这些投资,菲律宾似乎仍然是最容易被这些APT攻击作为目标的国家之一。
 
利用漏洞的文档
我们的分析从利用CVE-2017-11882漏洞的名为“Draft PH-US Dialogue on Cyber Security.doc”的文档开始。在成功利用之后,恶意文档文件会在%Temp%目录中放入两个文件。
l  Outllib.dll
l  OutExtra.exe
OutExtra.exe实质上是经微软签名的合法应用程序,名为finder.exe。此文件是Microsoft Office套件的一部分,可用于在Outlook数据文件中查找关键字。但是,在此攻击中,这个文件被用于通过DLL劫持加载Hussarini后门。
DLL劫持(DLL hijacking)是一种被某些APT恶意软件使用的技术,原本用于加载良性DLL的合法应用程序(.exe)将会因被欺骗而加载一个包含恶意代码的DLL。通过使用这种技术,恶意软件可以逃避主机入侵防御系统(HIPS)的监视。大多数HIPS工具都会将已签名或受信任的文件列入白名单,因此通过对已签名文件进行DLL劫持所加载的任何恶意软件都会被监视行为排除在外。在此攻击的上下文中,OutExtra.exe原本是一个已签名的合法应用程序, 然而它因被欺骗而加载了一个伪装成合法的Outllib.dll文件的恶意软件文件。
 
诱饵文档
为了避免引起受害者的怀疑,这个漏洞从看似合法的hxxp://157.52.167.71:29317/office/word/2003/ph2/philip.varilla下载一个诱饵文件。然而,在我们的分析中,诱饵文档的下载链接已经关闭。
然而,在查看了URI之后,我们发现了一些线索,表明黑客可能希望用户相信文档的来源。首先是“ph2”,这对菲律宾来说可能意味着“ph”,而“2”则是诱饵文档的第二个目录。其次是“philip.varilla”,通过谷歌搜索这个关键词,我们发现它可能是一个人名,指向了菲律宾信息和通信技术部(DICT)的服务总监。DICT是负责菲律宾信息和通信技术(包括网络安全)规划、开发和推广的机构。
 
Hussarini
事实上,文件Outllib.dll实际上是Hussarini后门,一个能够导出包含恶意代码的函数的DLL。执行文件OutExtra.exe时,会调用其中一些函数,从而有效地执行其恶意代码。

图1.Hussarini的导出函数
虽然原始的Outllib.dll也具有上面的一些函数,但请注意,它具有比后门DLL更多的导出函数。

图2.原始Outllib.dll文件的导出函数
文件大小也有很大的差异。原始的Outllib.dll的文件大小范围为4-8 MB,具体取决于版本,但假文件的范围仅为40-50 KB。文件大小差异很大的原因之一是后门DLL的导出函数中只有一个包含恶意代码。所有其他的都只是RETN函数,它们什么都不会做。
因此,我们将重点分析包含名为RenInitInstance@12的后门代码的函数。这个函数首先会实例化一个类,用于初始化bot的设置。然后创建两个并发线程,并将创建的对象作为其参数。

图3. Hussarini的主函数
第一个线程充当了客户端线程,负责与命令和控制(C&C)服务器通信并监听命令。然后解析响应,并将其传递给充当worker的第二个线程。worker线程执行命令并将结果报告给客户端线程。
在与其命令和控制(C&C)通信之前,恶意软件会使用随机生成的值将一个ServerID保存在注册表中。这个ID用于标识僵尸网络中的bot。

图4. bot的ServerID
C&C通信
有趣的是,代码中有一个私有IP地址10.1.0.105,可能被用作测试C&C服务器。这个IP地址在运行时将替换为真正的C&C :publicdfaph.publicvm.com。
在与C&C进行通信时,Hussarini会使用由base64编码的自定义协议,该协议通过HTTP发送。由于代码的高层次性质和有限的分析时间,我们无法识别协议的所有字段,但了解一些重要的部分就足以理解通信的工作原理。

 图5. Hussarini协议
它发送的初始数据包含生成的ServerID、大小和消息的校验和。此数据使用base64编码,并作为参数发送给HTTP GET请求。 

图6.发送给命令和控制服务器的初始消息
来自C&C的响应附有标签。其中间的数据也是base64编码的。解码后,我们可以看到它遵循与初始消息相同的数据结构。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载