卡巴斯基:专业攻击日本的APT组织“蓝白蚁(blue termite)...
http://image.3001.net/images/20150821/14401596951716.png!smallFreeBuf报道过,今年6月初日本养老金系统被入侵,大约125万份个人信息遭泄,而卡巴斯基报告指出进行攻击的是专门针对日本的APT攻击组织“蓝白蚁(blue termite)”。
背景介绍
2014年10月,卡巴斯基实验室开始了针对“蓝白蚁”APT的研究,尽管这并不是日本第一次遭遇APT的攻击,但是这次旷日持久的攻击还是有两点与众不同的地方。
与其他APT不同,“蓝白蚁”的攻击目标集中于日本。目前他们最为“成功”的攻击活动便是入侵日本养老金系统,造成了125万个人信息泄漏。但除此之外,“蓝白蚁”的攻击目标还包括政府及政府机构、地方政府、公共利益团体、大学、银行、金融服务业、能源、通信、重工业、化学、汽车、电气、新闻媒体、信息服务业、医疗、房地产、食品、半导体、机器人技术、建筑、保险、运输业等等。更为不幸的是,攻击仍在持续中,并且受影响的行业范围一直在扩大中。
http://image.3001.net/images/20150821/14401582684208.png!small
图为“蓝白蚁”攻击的日本数百家机构类型分布状况
http://image.3001.net/images/20150821/14401583665235.png!small
从图上你可以发现攻击在7月中旬有一个明显的增长(橙色部分)。这是由于“蓝白蚁”采用了新的攻击方式,而本文重点介绍了这种新攻击以及他们的实施细节。
最新感染方式
通常,APT的主要感染方式是通过钓鱼邮件进行的。卡巴斯基实验室发现这个新方式是利用来自Hacking Team泄露事件中曝光的flash漏洞(CVE-2015-5119)exp,让受害者因“被迫下载”而受到感染。
几个日本网站已经因为这种攻击方式而被黑,如图:
http://image.3001.net/images/20150821/14401584317913.png!small
攻击者插入一段恶意代码到网站上,指向“faq.html”。“faq.html”的源代码为:
http://image.3001.net/images/20150821/14401584443193.png!small
“faq.html”会加载“movie.swf”,这个文件中包含exp。通过这种方式,当用户设备访问时便会被恶意感染。
“movie.swl”的header显示为“ZWS”,也就是说,这是一个用LZMA(Lempel-Ziv-Markov chain-Algorithm)压缩的flash文件。
http://image.3001.net/images/20150821/14401584625774.png!small
文件中包含一个数据段,标记为蓝色:
http://image.3001.net/images/20150821/14401584798.png!small
数据包括了12字节的header。经过编码的数据以0x5dca (“\x78\x9c\xec\xb7….”)起始,然后使用zlib压缩。解压缩之后,我们发现一个带“MZ header”的可执行文件。
http://image.3001.net/images/20150821/14401584957735.png!small
除了上面展示的数据之外,swf文件中还有ActionScript (AS)的shellcode。
http://image.3001.net/images/20150821/14401585101798.png!small
这个shellcode的功能非常简单:它将提取的可执行文件保存到当前临时目录,命名为“rdws.exe”,然后用WinExec()执行它。
http://image.3001.net/images/20150821/14401585364957.png!small
提取的可执行文件为攻击者使用的一个新的感染向量——“emdivi t17”(后文简称“t17”)。我们发现几种执行rdws.exe的恶意软件,而t17便是其中之一。
卡巴斯基实验室发现了一些“水管攻击”,其中包括一个属于日本政府重要议员的网站。研究者给网站管理者以及受影响站点的ISP发送了一个通知邮件,却没有收到任何回复。但是,就在大约一小时后这段恶意代码就被删除了。下面的代码过滤了大部分IP地址,除了一个是特属于日本政府机构。
http://image.3001.net/images/20150821/14401585755950.png!small
有趣的是,该脚本竟然带有变量名为“TEST”的IP信息。研究者怀疑这便是攻击者的测试IP,位于上海。
根据目标而自定义的恶意软件
卡巴斯基实验室检测发现,“emdivi t20”(后文简称“t20”)恶意软件具有根据目标而产生针对性攻击的能力。尽管t17和t20来自同一个emdivi家族,但是后者更为复杂一些。t20通常用于已经感染t17后,而此时t17充当了后门的角色。那现在我们来看看t20是如何利用这些后门的。t17有9种命令,另一个方面,一些t20样本中则有多达40种命令。
下面列出了t17所支持的命令:
http://image.3001.net/images/20150821/14401586237124.png!small
以下为t20支持的命令:
http://image.3001.net/images/20150821/14401587559327.png!small
两者储存的都是后门指令的md5校验值。
在分析t20的样本时,我们发现它在两个方面具有高度针对性。
首先,一个t20样本中包含硬编码内部代理信息,信息经过加密,位置在0x44e79c:
http://image.3001.net/images/20150821/14401587791003.png!small
解密后的代码为"proxy.??????????.co.jp:8080":
http://image.3001.net/images/20150821/14401587915223.png!small
这种方法虽然并不新颖,但也没有被广泛应用。这是由于它可能会暴露目标,或者这并不是一个可以通用的方法,并且只有在一个特殊组织中才能运用。然而,相似的案列在其他APT攻击中也有遇到。
另一个方面则十分有趣。emdivi储存了自身的重要数据,其中包括C2、API名称、用来干扰分析的字符串、互斥对象价值、md5校验和以及内部代理信息。这些信息以加密形式储存,并在必要时进行解密。因此,详细分析一个emdivi的实例,我们需要探明加密的十六进制编码,并对其进行破解。在解密的过程中,每个样本都需要一个特殊的解密密钥。
emdivi t20可以用Salt1和Salt2生成一个解密密钥。Salt1来自一个含有四个数字(疑似C2的ID)的“魔字符串”。
下面是一个“魔字符串”的例子:
http://image.3001.net/images/20150821/14401588122576.png!small
emdivi的部分命名(”t17“和”t20“)便是来自于这个硬编码的“魔字符串”。
Salt2是通过大量被硬编码的数据生成的:
http://image.3001.net/images/20150821/14401588238725.png!small
在大多数情况下,emdivi会用Salt1和Salt2生成一个解密密钥。
然而,在2015年7月初,卡巴斯基实验室发现一个样本通过Salt1、Salt2和Salt3创建了一个解密密钥,Salt3是被感染电脑的安全标识符。
下面是解密密钥生成流程:
http://image.3001.net/images/20150821/14401588603237.png!small
换句话说,这个样本只能在它的攻击目标电脑中运行。如果不清楚受害者的SID,那么解密密钥则无法成功生成出来,而解密也就变得十分困难。这也意味着想要详细分析恶意软件是无法实现的。
而幸运的是,我们还能分析这些样本,并从几个没有SID的样本中成功地暴力破解这些解密密钥。
小结
今年6月初,就有新闻指出日本养老金系统因一名员工操作不当,导致系统遭网络攻击,大约125万份个人信息被泄露。各种日本组织开始部署更为严格的保护措施。然而,攻击者“蓝白蚁“组织似乎也一直密切关注着事态的动向,开始使用新的攻击方式并成功地扩大了他们的行动规模。撰写此文时,另一个emdivi t20的样本被发现,它除了SID的把戏之外还运用了AES加密,让针对敏感数据的解密更加困难。为了打击这些网络间谍活动,卡巴实验室将继续这方面的探索。 支持,看起来不错呢! 还是不错的哦,顶了 还是不错的哦,顶了 学习学习技术,加油! 支持,看起来不错呢! 感谢楼主的分享~ 学习学习技术,加油! 感谢楼主的分享~ 支持中国红客联盟(ihonker.org)