软件动态

找论坛
不太懂事
Lv3 太平洋舰队中士
太平洋舰队中士 贡献243,距离下一级还需107贡献
楼主
2017-05-08 20:01 0 25 只看楼主
电梯直达 

概况:


 “暗云”系列木马自2015年初被腾讯反病毒实验室首次捕获并查杀,至今已有2年多。在这两年多时间里,该木马不断更新迭代,持续对抗升级,从今年4月开始,该木马卷土重来,再次爆发,本次爆发的暗云木马相比之前的版本有比较明显的晋级特征,因此被命名为暗云Ⅲ。暗云Ⅲ与之前版本相比有以下特点和区别:  


第一、更加隐蔽,暗云Ⅲ依旧是无文件无注册表,与暗云Ⅱ相比,取消了多个内核钩子,取消了对象劫持,变得更加隐蔽,即使专业人员,也难以发现其踪迹。


第二、兼容性,由于该木马主要通过挂钩磁盘驱动器的StartIO来实现隐藏和保护病毒MBR,此类钩子位于内核很底层,不同类型、品牌的硬盘所需要的hook点不一样,此版本木马增加了更多判断代码,能够感染市面上的绝大多数系统和硬盘。


第三、针对性对抗安全软件,对安全厂商的“急救箱”类工具做专门对抗,通过设备名占坑的方式试图阻止某些工具的加载运行。
评论


图1. 三代暗云木马比较
评论
图2. 暗云Ⅲ 木马启动流程
一、由MBR到Windows内核


   暗云系列木马通过感染磁盘MBR来实现开机启动,三代暗云其启动过程,基本没变,都是由MBR开始通过int 15中断一步步的hook来跟随系统的引导流程进入系统内核执行,该套代码可兼容xp、vista、win7、win8等主流操作系统,包括64位和32位。其启动过程如图2所示。(具体细节参见:“暗云”BootKit木马详细技术分析:http://www.freebuf.com/vuls/57868.html
评论
图3. 暗云系列 BootKit 启动过程示意图


二、内核ShellCode 1 & ShellCode 2行为分析


ShellCode 1


   ShellCode 1是木马进入Windows内核后,通过创建一个线程开始执行的第一段代码。其功能是通过磁盘钩子、定时器守护等一系列操作保护恶意的磁盘MBR不被检测和修改。此外,木马会在内核中直接联网下载ShellCode并执行,我们将下载的shellcode称为ShellCode 2。shellcode2主要功能是向应用层插入apc。


详细分析:


1)寻找磁盘驱动器(atapi or iaStor or LSI_SAS)对应的驱动对象。
评论
图4.从文件系统开始查找磁盘驱动对象
评论
图5.常见的磁盘对象驱动与小端口驱动对应关系


2)根据磁盘类型和操作系统替换DriverStartIo、 AtapiHwStartIo、RaUnitStartIo等函数,实现阻止其他程序读取磁盘1-3F扇区(MBR)。当检测到读MBR时,返回一个构造好的正常的MBR,检测到写MBR时,则直接pass该操作。
评论
图6.MBR保护挂钩逻辑示意图
评论
图7.根据磁盘驱动对象和小端口驱动设置不同的钩子


3)新增一个计时器,在DPC Routine中反复检测磁盘钩子,如果钩子被删除则重新挂钩,挂钩超过5次则强制重启机器。检测自身代码是否被patch,一旦发现自己被patch则蓝屏。
评论
图8.自身代码完整性校验相关代码


4)对指定设备名进行占坑,对抗急救箱工具
评论
图9.占坑对抗急救箱代码


5)直接在内核以TDI的方式访问网络下载shellcode解密后直接在内核中运行。木马在TDI层用udp连接访问**.maimai666.com的8064端口获取shellcode。如果失败改用tcp连接**.maimai666.com的8864获取。且木马自带了dns服务器地址用来解析域名。
评论
图10. 连接网络下载shellcode2


ShellCode2


       shellcode2的功能是解压尾部数据,得到一个playload.dll,尝试以APC的方式向应用层指定进程插入该dll文件。Shellcode2会遍历进程,当发现以下某一进程时,进行插入,成功后不再尝试其它进程。
评论
图11. 进程列表一
评论
图12. 进程列表二
评论
图13. 向指定进程插APC相关代码


三、playload.dll行为分析


playload.dll


该dll被以APC的形式插入到应用层进程中,根据配置信息执行相应的功能,能够实现的功能及具体配置情况如下表所示。下载的文件所在的URL
评论
1)根据配置(配置信息直接内置在文件中,比暗云Ⅱ减少了一次联网下载配置的行为)来决定执行哪些操作,可以实现的功能包括删除指定服务,指定注册表,下载指定文件加载、运行、注入等
评论
图14.删除服务相关代码
评论
图15.下载文件并加载、执行、注入的相关代码


cl.db  


   该模块的结构是ShellCode+DLL,ShellCode的功能是在内存中展开执行解密后的DLL,DLL是个简单下载器,首先会从 hxxp://www.**sewle.com:8877/ds/kn.html下载配置文件,然后根据配置信息下载exe执行或者下载dll,最后创建傀儡进程svchost执行。对比暗云Ⅱ和暗云Ⅲ的配置文件中的Version字段,我们发现当前的版本已经达到624,说明该木马不仅持续活跃,而且更新频繁。
评论
图16. 配置文件格式,IsExe字段标记是否为exe
评论
图17.创建傀儡进程svchost.exe,并将内置有脚本解释器的恶意dll注入执行


四、木马功能模块


lcdn.db


   该木马是暗云木马的主要功能模块,直接在内存中加载执行,该模块集成了lua脚本解释器,其主要功能不断从http://www.**sewle.com:8877/ld/ndn.db处下载lua脚本,并解释执行,该脚本非常频繁地变换中,通过跟踪几个脚本,发现当前下发的脚本主要功能是刷流量和攻击网站。控制者可随时更新服务器上的脚本,做各种恶意行为,对用户电脑造成严重的安全隐患。
评论


图18
评论
图19.脚本内容


安全建议和木马查杀:


暗云Ⅲ木马主要通过外挂、游戏辅助、私服登录器等传播,此类软件通常诱导用户关闭安全软件后使用,使得木马得以乘机植入。建议大家持续保持安全软件开启状态,不要运行来源不明和被安全软件报毒的程序。目前腾讯电脑管家已经能够准确检测和查杀暗云系列木马。同时也已经提供了该木马单独的专杀工具供用户下载使用。
参考链接:


http://www.freebuf.com/vuls/57868.html


http://www.freebuf.com/articles/system/109096.html
摩在金翅
Lv2
太平洋舰队下士 贡献128,距离下一级还需72贡献
2017-05-09 17:07
只看该作者
沙发
暗云Ⅲ无文件无注册表,取消了多个内核钩子和对象劫持,使其变得更加难以发现。
幻境迷晟
Lv5
太平洋舰队上尉 贡献890,距离下一级还需210贡献
2017-05-09 17:08
只看该作者
板凳
这样的暗云木马,制作者居心叵测呀。
陶冶男孩
Lv1
太平洋舰队新兵 贡献13,距离下一级还需67贡献
2017-05-09 17:09
只看该作者
地板
通过设备名占坑的方式试图阻止某些工具的加载运行。
蒹葭苍沧
Lv5
太平洋舰队上尉 贡献852,距离下一级还需248贡献
2017-05-09 17:12
只看该作者
地下室
厉害了word哥,分析木马数据做的那么详细
老么咔哧眼
Lv6
太平洋舰队少校 贡献1286,距离下一级还需214贡献
2017-05-09 17:13
只看该作者
6楼
暗云系列BootKit启动过程示意图,看的是一清二楚。
媄眉上闩绌苔
Lv1
太平洋舰队新兵 贡献7,距离下一级还需73贡献
2017-05-09 17:16
只看该作者
7楼
不是专业人士,很难看懂其中的缘由。
神鹰天下
Lv1
太平洋舰队新兵 贡献8,距离下一级还需72贡献
2017-05-09 17:17
只看该作者
8楼
我可不想成为它的猎物,病毒专杀工具必须用起来!
大战故地
Lv6
太平洋舰队少校 贡献1154,距离下一级还需346贡献
2017-05-09 17:18
只看该作者
9楼
小心驶得万年船,要拒绝点击任何来历不明的风险链接。
冰林风影
Lv1
太平洋舰队新兵 贡献6,距离下一级还需74贡献
2017-05-09 17:20
只看该作者
10楼
不得不说电脑管家的守护就是那么的让人放心。

您需要登录后才可以发帖 登录 | 立即注册

其他登录方式:

常用表情
太平洋电脑网论坛帖子仅代表作者本人意见,不代表网站立场。请勿轻信特价、汇款、中奖等信息,
请勿轻易透露个人资料,因此产生的一切后果,PConline不承担任何责任
回复 发新帖 找论坛 反馈 回顶部