南海网络谍影 | F-Secure报告之木马NanHaiShu分析

声明:本文为F-Secure报告翻译,文中及的观点立场不代表本网站观点立场。

1. 前言

本报告描述了我们发现并命名的木马-NanHaiShu(NanHaiRAT)。基于我们的技术分析表明,该木马的主要攻击对象为政府和私营机构,其中包括几个值得注意的目标: 菲律宾司法部、亚太经合组织APEC峰会组织者和一家跨国律师事务所。

我们认为,以上组织机构和南海争议问题相关,所以被攻击者列入了渗透攻击目标。而最近的核心冲突问题便是2016年7月12日的南海仲裁案。

根据对NanHaiShu木马的技术分析,结合几个被入侵的特定目标,我们确定了木马的攻击源。

两年前我们捕获了NanHaiShu木马的第一个样本,截至2016年3月,该木马的攻击活动仍然处于活跃状态。攻击者通过在邮件附件中捆绑NanHaiShu木马进行鱼叉式邮件攻击,若木马被成功植入,将会向远程C&C服务器建立信息回传通道。

2. 相关信息

(1)木马传播方式

攻击者通过精心构造邮件内容,向特定目标发送鱼叉式邮件。例如,攻击律师事务所的邮件包含薪资和财政事宜,为了诱骗邮件接收者,攻击者还以社工方式“精心”编写了相关邮件内容。

图 针对律师事务所雇员的鱼叉式邮件

(2)攻击目标描述

被木马NanHaiShu渗透攻击的目标,都有一个共同特性:与南海领土争端问题有关。这些被攻击的目标中包含:菲律宾司法部、亚太经合组织APEC峰会组织者、介入南海争议的国际律师事务所(美国福利·霍格律师事务所)。

菲律宾司法部:菲律宾司法部介入了菲方对中国的仲裁案件; APEC会议组织者:2015年11月,在菲律宾举行亚太经合组织领导人非正式会议(AELM)之前,新闻报道表明菲律宾在与会期间将不会提及南海问题。而就在会议准备前期,我们捕获了与AELM会议相关的木马样本。 一家跨国律师事务所:自2013年起,在南海仲裁案中涉及联合国海洋法公约争端等方面,这家律师事务所就一直代表菲方进行相关运作。

3. 攻击时间线

在我们的调查中,多个NanHaiShu木马样本被发现,其中一些特定样本被用来窃取南海仲裁案相关的情报信息。

这些样本最早于2015年1月13日被发现,其中样本文件“司法部2015年1月13日员工奖金.xls”在海牙常设仲裁法院公开发布中菲仲裁案新闻稿的一个月后被发现。

在新闻稿中,菲律宾通过其代理律师事务所单方面宣布:菲方将于2015 年3月15日前提交完成仲裁案的相关补充材料,而留给中国的截止日期为2015年 6月16日。就在这两个时间点之间,我们发现了NanHaiShu木马的两起攻击事件:

(1)在菲方截止日期过后,菲方代理律师事务所收到一封以公司为名义的包含恶意附件的电子邮件;

(2)在2015年5月22日,一封针对菲方律师的鱼叉式钓鱼邮件被发现,邮件中包含恶意文件“Salary and Bonus Data.xls”。

另外,我们还发现了一个名为“AELM Entertainment budget and Attendance allowance.xls”的威胁样本文件,该样本最早于AELM会议之前的2015年10月被发现,而中菲双方在AELM会议前的磋商焦点就是南海争议的搁置问题。

2015的10月26日,媒体报道美国军舰近距离驶入中国岛礁活动,就在同一时期,NanHaiShu木马的C&C服务器作出了明显改变(后文将说明)。以下为木马NanHaiShu的攻击时间线:

图 NanHaiShu木马攻击时间线

4. 攻击属性与连接

木马使用的VBA Base64解密函数在大量中国软件开发网站中出现

图 Base64解密函数的搜索结果

其解密程序似乎是Java Script Base64公开解码程序的分支版本。后者代码最早于2005年公布于中国程序员网站CSDN

图 NanHaiShu木马使用的Base64解密程序(上)与公开版本的Base64解密程序对比(下)

最初阶段,Nanhaishu木马样本C&C服务器IP解析指向美国IP地址(大多是一些云服务提供商)。然而,在2015年10月26日,也就是美国军舰驶入南海活动当天,木马C&C服务器解析全部转向位于中国的IP 地址103.238.224.218。

我们的技术分析明显表明,Nanhaishu木马的代码和架构方式与中国开发人员有关。此外,我们还认为,攻击者目的直接与国家战略利益相关。

5. 技术分析

(1)感染过程

Nanhaishu木马被捆绑到鱼叉式邮件附件中通过电子邮件发送,使用社会工程邮件文本内容,吸引用户打开恶意附件。

附件通常是包含了恶意宏程序的XLS或DOC文档。虽然在微软office程序安全设置中,宏自动运行功能是被禁用的,但即使如此,宏运行功能仍然可能被用户执行。Office程序在执行宏代码之前会显示一个选择宏功能运行的通知消息:

如果用户不小心选择启用宏代码enable content功能,那么攻击者的恶意VBA宏代码将会执行

大多数样本的VBA宏代码中内置了两套Base64编码文件。在最近的一个样本中,VBA宏在运行之前,将进行解码并向 “%APPDATA%directorymicrosoftnetworknetwork .js”写入JScript数据。

宏代码对XLS诱饵文件进行解码,加载木马执行,利用network.js修改% RegRun %注册表键值实现自启动机制,达到永久驻留目的。木马将搜索以下系统信息并回传到C&C服务器:

(1)存储驱动器序列号 (2)IP地址 (3)计算机名称 (4)用户名 (5)操作系统 (6)代理服务器

木马信息收集程序模块:

木马与C&C服务器与之间建立连接的时间间隔约为10.584秒。

(2)混淆

攻击者嵌入在诱饵文件XLS和Jscript中的VBA宏使用了Base64编码。最近的一个样本中, JScript代码中的URL字符串被两层加花指令混淆;必须使用Base64解码方式,结合Unicode字符转码程序才能解密。以下为加花指令函数:

(3)网络流量

攻击者CC服务器使用DNS动态域名进行回连,而且木马回连请求中包含JScript代码。在最近的样本中,木马和C&C服务器之间的通信请求在加密前的结构如下:

md5(VolumeSerial Number)|IP Address|Computer Name|User Name|Operating System|ProxyServer|Malware Version|

以下则为受感染主机发送的POST数据:

action=aaa&data=N2RkZjMyZTE3YTZhYzVjZTA0YThlY2JmNzgyY2E1MDl8MTkyLjE2OC4xLjF8Sm9obkRvZS1QQ3xKb2huRG9lLVBDXEpvaG5Eb2UoYWRtaW5pc3RyYXRvcil8TWljcm9zb2Z0IFdpbmRvd3MgWFAgUHJvZmVzc2lvbmFsfHxqc25lWzEuNF0saW1wdCxwcnw=

木马使用HTTP POST方式回传相关加密信息,使用HTTP GET方式下载JScript 和VBScript执行代码,以下为相关操作函数:

6. 其他

恶意宏代码的Jscript脚本中包含一个名为“gVersion”的常数变量,该变量似乎用于攻击者在源代码中识别木马名字或版本,“gVersion”还包含以下不同字符串内容:

1.hta[1.1]doj.m 2.jsne[1.3.3]PP 3.jsne[1.4],impt,pr

图 gVersion变量示例

样本“DOJ Staff bonus January 13, 2015.xls”和后期样本释放的HTA文件中包含相同的JScript程序,而且都被封装在一个HTML文件中。

HTA文件通过注入打开IE浏览器的mshta.exe进程实现加载。HTA文件具有创建、编辑及删除系统文件和注册表项权限。

其中,第一个SCRIPT tag运用resizeTo命令隐藏IE窗口,第二SCRIPT tag包含Nanhaishu木马中常见的Jscript代码程序。

HTA文件和Jscript文件的唯一区别是C&C服务器不是加密的,而且包含有SafeIE函数,SafeIE函数通过更改“Internet Settings” 和 “Internet Explorer注册表项键值,避免IE对不安全ActiveX程序的提示,让受害者不易察觉。

7. 调查结论

Nanhaishu属于窃取信息资料的远程访问木马(RAT),它能够接收和执行JScript和VBScript代码指令,也可以上传下载任何文件脚本,进一步渗透,将会造成目标系统敏感信息泄露。以下为Nanhaishu木马的C&C服务器IP解析情况:

8. 样本信息

*本文译者:clouds,参考来源:F-Secure,未经许可禁止转载

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2016-08-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏蓝天

养成良好的编程习惯

4.从源头避免版本不一致问题(当同一个文件在不同目录下出现拷贝时,容易出现其中某个未同步更新的问题)

1183
来自专栏极乐技术社区

小程序音频API踩坑手册

7483
来自专栏雪胖纸的玩蛇日常

Vue+Django2.0 REST framework打造前后端分离的生鲜电商项目(三)设计数据库以及导入原始数据

4755
来自专栏喵了个咪的博客空间

[喵咪软件推荐(2)]全球服务器测速工具speedtest-cli

[喵咪软件推荐(2)]全球服务器测速工具speedtest-cli w-blog博客 ? 前言 在上一篇章中给大家介绍了全球国家信息国旗区号等一些全球国家新的库...

9337
来自专栏北京马哥教育

给Python新人练手准备的十个简单趣味脚本

? 01. 目录文件分类 前言 有时候,想要对一个目录里的文件进行搜索或者分类操作往往是一件痛苦的事情,下面这个程序的目的是将目录下的文件树以某种分类规则进行...

47210
来自专栏NetCore

无尽的忙碌换来幸福的日子

人总是忙碌的,从小要读书,长大了工作,结婚了,有孩子了,一辈子也可能等到孩子成家了才能稍微休息一下下吧,不过有时候想想,忙碌点好,一辈子也就那么长,等闭了后还能...

21410
来自专栏字根中文校对软件

Java 错别字检查接口 API

Java 错别字检查接口 API 为了方便广大程序员朋友快速把错别字检查功能集成到自己的系统中,我们开发了一个支持HTTP协议的 Java 错别字检查接口 AP...

4045
来自专栏Android小菜鸡

Android Touch事件传递机制

  Touch事件的传递机制与生活贴近,从父布局开始一步一步的向下分发事件。分发事件时调用boolean dispatchTouchEvent(MotionEv...

2263
来自专栏极客慕白的成长之路

CTF线下防御战 — 让你的靶机变成“铜墙铁壁”

随着CTF的普及,比赛的形式也有了越来越多的花样,对于线下赛来说,开始出现了安全加固或者防御战之类的环节,亦或者因为拿下靶机后不希望其他攻击者进入而进行“争夺”...

3044
来自专栏龙行天下CSIEM

科学瞎想系列之八十二 永磁电机(5)

【图片部分来自网络如有侵权敬请邮箱联系。欢迎原文转发到朋友圈,未经许可的媒体平台谢绝转载,如需转载或合作请邮件联系。联系邮箱laolicsiem@126.com...

1240

扫码关注云+社区

领取腾讯云代金券