CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 百科
  3. 正文

wscntfy.exe

2017年5月23日 787点热度 0人点赞 0条评论

wscntfy.exe

  • 首页
  • 分类阅读
  • 文库
  • 专栏
  • 公开课
  • 商城
  • 漏洞盒子
注册 | 登录
投稿

“暗云”BootKit木马详细技术分析

腾讯电脑管家2015-01-30共498222人围观 ,发现 44 个不明物体漏洞系统安全

“暗云”木马简介:

“暗云”是一个迄今为止最复杂的木马之一,感染了数以百万的计算机,暗云木马使用了很多复杂的、新颖的技术来实现长期地潜伏在用户的计算机系统中。其使用了BootKit技术,直接感染磁盘的引导区,感染后即使重装格式化硬盘也无法清除。

该木马使用了很多创新的技术,有以下特点:

第一、隐蔽性非常高,通过Hook磁盘驱动实现对已感染的MBR进行保护,防止被安全软件检测和清除,并且使用对象劫持技术躲避安全人员的手工检测。隐蔽性极高,截至目前为止,几乎所有的安全软件都无法检测和查杀该木马。

第二、云思想在暗云木马中的使用:木马以轻量级的身躯隐藏于磁盘最前端的30个扇区中,这些常驻与系统中代码并没有传统木马的功能,这些代码的功能仅仅是到执行的服务器(云端)下载其他功能代码到内存中直接执行,这些功能模块每次开机都由隐藏的模块从云端下载。因此木马体积小巧,且云端控制性强。

第三,Ring 3与Ring 0的通信方式:微软正统的通信方式是Ring 0代码创建驱动设备,Ring 3代码通过打开Ring 0创建的设备开实现相互之间的通信。常见的木马使用的通信方式则是在Ring0对指定的API函数进行Hook,而暗云木马是通过注册回调的方式来实现。

第四,操作系统全量兼容:一份BootKit同时兼容x86、x64两种版本的操作系统,且能够兼容xp、win7等当前主流的操作系统版本,因此影响范围十分广泛。在推广获利方面,该木马也是涵盖当前主流的推广获利渠道——推广小网站、推广手机应用、推广游戏、大网站加推广ID。

第五,有效对抗杀软:有于木马的主体在内核中运行,且启动时间比所有的安全软件都早,因此大部分的安全软件无法拦截和检测该木马的恶意行为。木马能够在内核中直接结束部分安全软件进程,同时可以向任意安全软件进程插入APC执行。插入的APC代码会关闭安全软件的文件监控设备句柄,会导致安全软件文件监控失效,大大减少了被检测的机率。

图1. 暗云木马启动流程图(图中按红紫绿黑分四个模块)

图2 . 暗云木马模块功能分工示意图

一、常驻计算机模块(MBR)行为

概述:

电脑开机后,受感染的磁盘MBR第一时间获得CPU的控制权,其功能是将磁盘3-63扇区的木马主体加载到内存中解密执行,木马主体获得执行后通过挂钩int 15中断来获取第二次执行的机会,随后读取第二扇区中的备份MBR正常地引导系统启动。

系统引导启动时会通过int 15中断查询内存信息,此时挂钩15号中断的木马便得以第二次获得CPU控制权,获得控制权后木马挂钩BILoadImageEx函数,调用原始15号中断并将控制权交回给系统继续引导。

当系统引导代码调用BILoadImageEx加载ntoskrnl.exe时,木马便第三次获得控制权,获得控制权后木马再一次执行挂钩操作,此次挂钩的位置是ntoskrnl.exe的入口点,随后将控制权交给系统继续引导。

当引导完毕进入windows内核时,挂钩ntoskrnl入口点的木马代码第四次获得CPU控制权,此时木马已真正进入windows内核中,获得控制权后,分配一块内存空间,将木马内核的主功能代码拷贝到分配的空间中,并通过创建PsSetCreateThreadNotifyRoutine回调的方式使主功能代码得以执行。至此完成木马由MBR到windows内核的加载过程。

木马主功能代码的主要实现以下三个功能:1、劫持磁盘驱动实现隐藏和保护被感染的MBR;2、向ring3的一个svchost进程插入APC;3、通过设置注册表回调来接收ring3返回。

插入到svchost代码只实现一个简单的功能:判断操作系统类型,从云端下载相应的Addata.dat模块到本地,解密执行,云端模块的URL硬编码在Shellcode中。

图3. BootKit 启动过程示意图

代码细节:

感染后的MBR(黑)与原始MBR(红)对比图

二、云端模块一(Addata.dat)行为

概述:

此模块为木马云端配置的第一个模块,其格式固定,以简单的循环移位的方式进行加密,解密后的模块数据结构如下:

云端模块1解密后的数据结构

该模块的前4字节为标志“CODE”,仅作为数据合法性校验,校验成功后直接执行其后的Shellcode,而Shellcode的功能则是负责将Addata.dll在内存中加载,最终从其入口点处开始执行之。

Addata.dll的主要功能是下载者,其具体的行为仍然依赖于云端配置,其运行后首先会从云端下载配置文件,配置文件所在的URL为:http://ad.sqc3.com/update/config.db,该URL硬编码在文件中。下载后解析配置文件,由配置文件来决定代码中的功能是否执行,以及具体的参数信息,能够实现的功能以及实际配置文件信息如下表所示:

代码细节:

1、Addata.dll中硬编码的配置文件URL信息

2、设置浏览器主页的相关代码

3、对下载的文件可进行不同的处理(LoadLibrary、CreateProcess、加载到内核执行),这里还有一个很有意思的代码:DeleFileA(“我真的凌乱了…….”),作者都凌乱了,真的很复杂!

4、Shellcode是通过NtSetInformationKey代入内核的(内核注册了cmpCallBack)

三、云端模块二(jmdm.db)行为

概述:

此模块为木马云端配置的第二个模块,由云端模块一下载后传递到内核执行,已相对较为复杂的加密算法进行加密,其中文件的前0×32字节为解密key,解密后的模块数据结构如下:

云端模块2解密后的数据结构

由于此木马同时兼容32位操作系统和64位操作系统,因此这个此模块包含两个版本,内核模块会根据操作系统的类型执行相应的Shellcode,因为两套代码功能完全一致,以下仅分析x86部分。

该模块首先被NtSetInformationKey传入内核,由内核模块从内核Shellcode开始执行,内核Shellcode的功能有如下两个:

1)结束指定杀软进程,包括kxetray.exe、kxescore.exe、QQPcTray.exe,由于管家的进程有object钩子防护,因此不会被干掉。

2)遍历进程,如果进程名为以下之一,则将尾部的应用层Shellcode 以apc的方式插入到该进程中,插入一个进程后便退出遍历,不再插其他进程。具体进程列表如下:360tray.exe、360safe.exe、360sd.exe、360rp.exe、zhudongfangyu.exe、QQPcRtp.exe、KSafeSvc.exe、KSafeTray.exe、BaiduSdTray.exe、BaiduAnTray.exe、BadduAnSvc.exe、BaiduHips.exe、BaiduProtect.exe、wscntfy.exe、spoolsv.exe、alg.exe,以上进程名均硬编码于Shellcode中。

应用层Shellcode被插入指定进程后开始执行,其功能是在内存中动态加载jmdm.dll文件并跳到其入口点执行。

jmdm.dll的主要功能依然是下载者,其代码与Addata.dll有60%以上的相似性,可以确定为同一份源码修改而来,其具体的行为仍然依赖于云端配置,其运行后首先会从云端下载配置文件,配置文件所在的URL为:http://jm.sqc3.com/cn/jmdmpz.db,该URL硬编码在文件中。下载后解析配置文件,由配置文件来决定代码中的功能是否执行,以及具体的参数信息,能够实现的功能以及实际配置文件信息如下表所示:

以上行为执行完毕后,木马会等待下载的inst.exe、update.exe运行完毕后重新创建一个新的宿主进程,随后调用ExitProcess退出原始宿主进程。

代码细节:

1、调用ZwTerminateProcess结束安全软件进程kxetray.exe、kxescore.exe、QQPcTray.exe,由于管家的进程有object钩子防护,因此不会被干掉。

2、遍历进程,看进程是否在硬编码的进程列表中,如果是,则插入apc,找到一个进程之后跳出循环,即只向一个进程插入apc

3、插apc的具体代码

4、关闭名为\\Device\\qutmipc等的设备句柄,名称字符串硬编码于文件中

5、配置文件http://jm.sqc3.com/cn/jmdmpz.db 的URL硬编码在文件中

6、下载指定URL的文件到本地,加载或者运行

四、木马的盈利推广部分(inst.exe、update.exe)行为

概述:

木马的最终目的只有一个——盈利,而inst.exe和update.exe,这连个落地的PE文件,则是真正能够使作者获得丰厚收益的模块,也是木马开始执行真正恶意的行为。

Inst.exe运行后首先在桌面上释放一个名为“美女视频聊天”的快捷方式,该快捷方式指向一个http://haomm.com,并带了一个推广id,实现推广网站盈利。Inst.exe还会释放XnfBase.dll、thpro32.dll两个dll到%appdata%目录下,并通过注册服务的方式加载这两个dll。

XnfBase.dll实现的功能是LSP劫持,当用户使用浏览器浏览www.hao123.com、www.baidu.com等网站的时候在其网址尾部添加推广ID,从而实现获利。thpro32.dll实现的功能是:不断地删除系统中指定提供者的LSP,防止其他木马或安全软件通过LSP再次修改推广ID。

Update.exe运行后会创建两个svchost.exe傀儡进程,并将解密出的功能模块分别注入到两个进程中,一个负责向安卓手机安装推广app、另一个实现向含有“私服”等关键词的QQ群上传共享文件,用来推广私服游戏获利。

木马通过各种推广来实现盈利

代码细节:

1、当用户用浏览器访问www.baidu.com等网站时,为其添加推广id,实现推广获利

2、在桌面上创建的美女视频聊天快捷方式,推广haomm.com这个网站

3、不断检测是否有LSP模块,有则删除,保护自己的推广ID不被修改

4、向指定名称的QQ群上传私服游戏,进行私服游戏的推广

[文/腾讯电脑管家(企业账号),转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)]

腾讯电脑管家

腾讯电脑管家60 篇文章等级: 6级
|
|
  • 上一篇:漏洞追踪:如何检查并修复GHOST(幽灵)漏洞
  • 下一篇:漏洞追踪:Flash严重漏洞(CVE-2015-0311)详细技术分析

这些评论亮了

  • Rasiel(4级)回复
    我大天朝人才济济
    )37(亮了
  • Push丶EAX(4级)回复
    卧槽,这么屌的RAT,你TM用来加载广告,卖给我也行啊~
    )33(亮了
  • echodebug(1级)回复
    360可完美防御
    )18(亮了
  • Sandman☭(2级)回复
    又见INT 15H,估计是泄漏的Carberp的源码改的吧。但是挂BILoadImageEx这个又不像是Carberp,没见样本不下结论。
    加载DLL还是古老的ShellCode做内存重定位的方式,根本不对稳定性做任何考虑。
    )17(亮了
发表评论

已有 44 条评论

  • Rasiel (4级) 2015-01-30回复1楼

    我大天朝人才济济

    亮了(37)
  • 大总统 (1级) 2015-01-30回复2楼

    我屮艸芔茻,这个好牛逼,管家这么吊,360你咋没发现呢,是睡着了吗?

    亮了(0)
    • 张不San (1级) 2015-01-30回复

      @ 大总统  mbr病毒出来这么久,管家现在才大惊小怪,是刚睡醒吗?

      亮了(2)
      • mubiaofr (1级) 2015-02-13回复

        @ 张不San  亲爱的

        亮了(0)
  • /kuk宇 (1级) 2015-01-30回复3楼

    :oops:

    亮了(0)
  • mubiaofr (1级) 2015-01-30回复4楼

    我kao,分析得这么细;作者尿了。

    亮了(3)
  • Sandman☭ (2级) 2015-01-30回复5楼

    又见INT 15H,估计是泄漏的Carberp的源码改的吧。但是挂BILoadImageEx这个又不像是Carberp,没见样本不下结论。
    加载DLL还是古老的ShellCode做内存重定位的方式,根本不对稳定性做任何考虑。

    亮了(17)
  • echodebug (1级) 2015-01-30回复6楼

    360可完美防御

    亮了(18)
    • IceRainow (1级) 2015-01-30回复

      @ echodebug  b21

      亮了(0)
  • XTbus 2015-01-30回复7楼

    很明显是个下载者

    亮了(1)
  • Ftc 2015-01-30回复8楼

    首先你得加载起这个驱动!

    亮了(0)
  • david3234 (1级)13岁骚年一枚 2015-01-30回复9楼

    Bootkit 这类驱动木马貌似跳到ring0实现自己不被杀掉,貌似是这样,嗯没错差不多就是这样

    亮了(0)
  • Push丶EAX (4级) 2015-01-30回复10楼

    卧槽,这么屌的RAT,你TM用来加载广告,卖给我也行啊~

    亮了(33)
  • zer0 (1级) 2015-01-30回复11楼

    系统在有安全软件存在的情况下,驱动是如何加载上的呢?

    亮了(1)
    • 六丁目 (1级)移动安全工作者... 2015-01-30回复

      @ zer0  你说的是第一次加载吧,我也搞不明白

      亮了(0)
  • 虾米 2015-01-30回复12楼

    不怕不怕,我用的卡巴斯基。。。

    亮了(4)
  • stonedeyy (1级) 2015-01-30回复13楼

    大牛,可否分享样本,跪求

    亮了(1)
    • looker_finder 2015-01-30回复

      @ stonedeyy  你没看到分析里的链接吗。。。。。可以直接下到inst.exe

      亮了(0)
  • 奥巴马 2015-01-30回复14楼

    腾讯电脑管家 也来了

    亮了(0)
  • 112 2015-01-30回复15楼

    看最后行为,我觉得自己已经中马了。

    亮了(3)
  • 小菜鱼 2015-01-30回复16楼

    我大数字安全卫士表示去年就能查杀,你个企鹅渣渣

    亮了(3)
    • 儿童 2015-01-30回复

      @ 小菜鱼 你就睁眼说瞎话吧,数字当真还没有预感、

      亮了(0)
  • 虾米 2015-01-30回复17楼

    这个事你自己产自销的吧?

    亮了(1)
  • enunnet@163.com 2015-01-30回复18楼

    在对抗内存取证方面有什么优势没?

    亮了(0)
  • 长江 (1级) 2015-01-30回复19楼

    竟然有木马能想到利用MBR !!

    亮了(2)
  • ssdf 2015-01-30回复20楼

    确实搞这么复杂最后拿来推广获利,我真的有点醉了的感觉

    亮了(5)
  • shfu 2015-01-30回复21楼

    Ring0了连QQ杀毒的进程都干不掉???这作者真逗 :mrgreen:

    亮了(1)
  • 夜尽天明 (5级)千秋邈矣独留我,百战归来再读书 2015-01-30回复22楼

    暗云=乌云?

    亮了(1)
  • xjump 2015-01-30回复23楼

    转发微博

    亮了(0)
  • 纱布1 2015-01-30回复24楼

    有个师兄博士论文研究的是病毒,奇怪的是,他居然是做硬件的

    FreeBuf黑客与极客:【“暗云”BootKit木马详细技术分析】

    亮了(0)
  • 站着输出不腰疼 2015-01-30回复25楼

    好厉害

    亮了(0)
  • VCl7 2015-01-30回复26楼

    有一次帮隔壁物流公司的电脑,杀类似的木马还赚了一顿晚饭

    。是不是可以写进bios或者显卡固件,不过差异太大不好搞哦。或者把主机的用户信息上传至云端,做大数据分析,然后劫持主机推送广告。唉?咋感觉像某数字安全卫士和南极肥鸟已经玩过的。

    亮了(0)
  • 乡儒以墨 2015-01-30回复27楼

    在MBR里面放代码在今天还能不被察觉吗?另外,tb怎么把我拉黑了似的。

    亮了(0)
  • 手机用户2380820603 2015-01-30回复28楼

    病毒对mbr肯定有保护的,不处理一下搞不定的

    亮了(1)
  • Anny-颜 2015-01-30回复29楼

    有管家,不怕迄今为止最复杂的木马之一“暗云”木马,管哥再次提醒大家注意安全!

    亮了(0)
  • 带脚镣跳舞 2015-01-30回复30楼

    →_→

    亮了(0)
  • 2333 2015-01-31回复31楼

    那时候确实没心情写,写着写着就在代码里抒发一下感情

    ….

    亮了(4)
  • yellow (1级) 2015-01-31回复32楼

    看到最后百度页面 、 我觉得我系统已经中毒了 …

    亮了(0)
  • 支付产业热点 2015-01-31回复33楼

    不错的内容,感谢分享 !

    亮了(0)
  • scuhurricane (1级) 2015-02-01回复34楼

    @ Push丶EAX 卖给你才多少钱?做广告赚钱才是王道。

    亮了(0)
  • 云和谐 2015-02-04回复35楼

    @ Sandman☭ 牟利模式决定研发时间……

    亮了(0)
  • 师傅留一手 2015-03-31回复36楼

    表吓我

    亮了(0)
  • 做广告? 2016-08-27回复37楼

    我想知道能不能通过推id找到作者呢?

    亮了(2)
  • 7a7 2017-02-01回复38楼

    .dat和.db模块是怎么开发出来的,和.dll模块的开发是否一样,还有这两个模块是PE结构吗,它们是怎么执行的

    亮了(0)

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

腾讯电脑管家

腾讯电脑管家

腾讯电脑管家官方账号

60 篇文章0 条评论

相关阅读

  • 后台开视频点广告:“点击欺诈木马”正在世界范围内泛滥
  • 2017第一季度安卓短信扣费木马研究:七成扣费木马擅长以”用户的名义”骗取话费
  • 木马盗用“风行播放器”签名流氓推广
  • 网络小黑揭秘系列之黑色SEO初探
  • “暗云”BootKit木马详细技术分析

特别推荐

关注我们 分享每日精选文章

不容错过

  • 扩充僵尸网络至企业内网核心区Sh4dow@foxmail.com2017-01-17
  • 【WitAwards 2016“年度安全产品”参评巡礼】验证安全2.0时代:极验验证码评测FreeBuf研究院2016-10-12
  • 你早已被窃听:小心身边不起眼的东西FB情报组2014-05-16
  • 使用Burpsuite代理和pypcap抓包进行抢红包的尝试whoisyourdaddy2017-02-13

FREEBUF

  • 免责声明
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2013 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0daybank

标签: 暂无
最后更新:2017年5月23日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me