在毒霸论坛看到的:http://bbs.duba.net/forum.php?mod=viewthread&tid=23439198
一、前言
激活工具打着”激活成功率最高“,”完美激活各个版本的系统“的旗号,使得该类激活工具病毒在短时间之内大范围传播。最近金山毒霸实验室发现,一款名叫“老裁缝激活工具”,借助着”小马激活”的名字活跃在“系统之家”、”软件下载器”、“网盘”。
PS:因C&C通信服务器中包含laocaifeng字符串,所以通篇文章中,病毒以“老裁缝”命名。
“老裁缝激活工具”从2015年就已经开始制作病毒,但是由于核心模块都是内存加载,文件不落地,从而很难被发现,”老裁缝激活工具” 会按照制作者的计划,通过云端规则下发任务的方式,对电商进行劫持,劫持的电商有京东,天猫、淘宝、唯品会、国美、蘑菇街。
另外“老裁缝激活工具”也会对自媒体视频进行播放量暗刷,视频网站包括优酷、PPTV、爱奇艺、搜狐几大站点。根据统计显示”老裁缝”进行暗刷的自媒体视频广告条目有208条,平均每一条视频总的访问量约在2.5W/访问量,最高的一条达57W/访问量。
二、样本分析
母体分析 图1:病毒行为流程图
当“老裁缝激活工具“的激活按钮被点击后,会联网请求去下载执行inst.exe (hxxp://xz.tujingdy.com:8001/Inst.exe),该文件是整个病毒的母体,然后请求访问hxxp://xz.tujingdy.com/rule.lce去下载rule.lce并解密文件。rule.lce是一个自定义文件格式的“模块包集合”,接下来inst.exe对rule.lce文件结构偏移进行读取,解析并解密出PE文件,解密完后的PE文件会进行CRC值校验,如果校验无误则释放成文件到%ProgramData%\LCFApp目录下,自定义格式如下: 图2:rule.lce文件结构
“模块包”包含8个文件(驱动,配置文件,升级模块等,版本覆盖x86和x64): 根据不同版本的系统,从rule.lce中读取x86或者x64位驱动。然后以Vq开头的随机命名的方式生成驱动文件和创建注册表信息,最后把核心模块备份一份到注册表中。 图3:老裁缝注册表配置信息
浏览器劫持配置信息如下,病毒会将主页劫持到hxxp://www.2345.com/?k91340730 图4:劫持的浏览器和导航地址
5.最后将用户的信息进行上报统计
http://www.tujingdy.com/client/detail?main_channel=%s&child_channel=%s&event=%s&version=%s&guid=%s¶ms=%s&sign=%s
驱动分析 病毒驱动加载时,将自已挂到Fltmgr驱动的设备链表里,然后将自己的驱动对象从系统链表里给擦除掉,使得系统中的其他进程(如pchunter)在遍历系统驱动设备对象时无法找到该驱动,并且通过病毒驱动的设备(LCFGuard)找到的驱动也是Fltmgr,我们通过图5可以看到病毒驱动信息。由于此功能,使得分析人员在系统中较难发现该病毒驱动。 图5:过滤驱动将病毒重定向到FltMgr.sys
然后,病毒驱动会创建4个系统回调:注册表回调、进程回调、镜像回调、关机回调。 图6:病毒驱动注册的系统回调
1.注册表回调:隐藏自身注册表键值避免被“肉眼”发现。
2.关机回调&进程创建回调:当这两个回调函数被系统调用后,会枚举当前进程是否为winlogon.exe,如果是winlogon.exe,则会去注册表查找病毒驱动注册表是否完整,如果注册表中的键值被删除或者破坏将会读取%ProgramData%\ LCFApp目录下的文件并对注册表键值进行修复。 图:7 进程回调函数
3.镜像回调:作者目前未实现镜像回调函数。 图8:LoadImage回调函数
老裁缝驱动会根据rule.lce文件中的文件结构信息获取到要将哪些模块注入到winlogon和explorer中,注入部分使用了开源的BlackBone项目代码。如图9所示,老裁缝驱动中的shellcode代码和BlackBone完全一致。 图9:BlackBone项目代码
图10:被注入后的explorer和winlogon
病毒驱动与R3环通信的控制码说明: 控制码 | | | 读取老裁缝注册表RRUL键值恢复文件,并重新APC注入winlogon和explorer | | |
图11:如果通过 ZwDeleteFile删除失败,则通过自己构造IRP的方式去删除文件。
完成以上工作后,老裁缝驱动会绑定TDI设备,通过http协议将再次进行上报统计。
www.tujingdy.com /client/detail?main_channel=50000&child_channel=00001&event=status&version=87&guid=8FD58835A3A8586B¶ms={"OMV":0x00000006,"OIV":0x00000001,"OBN":0x00001DB0,"OSP":0x00000000,"LBV":0x00000008,"LDO":0x00000000,"LPN":0x00000000,"LSN":0x00000000,"LLI":0x00000000,"LRC":0x00000000,"LIN":0x00000000,"LMS":0x00000000,"LFP":0x00000000,"LIRD":0xC0000002,"LRDT":0xC000004B,"LRD":0x00000000,"LIRT":0xC000004B,"LIR":0x00000000,"LRV":0x00000057,"LRU":0x00000055,"LIDT":0xC000004B,"LID":0x00000000,"LCS":0x00000000,"LNS":0xC0000002,"LNST":0xC0000002,"LDF":0xC0000002,"LDST":0x00000000,"LHP":0xC0000002,"LCD":0x00000000,"LIC":0x00000000}&sign=f2e73b563c5d8fce1cc1d171898e0a4d 图12:直接在驱动中进行上报统计
3、Loader分析
Loader.dll是通过驱动层被注入到explorer.exe中的,该模块主要负责向服务器发送mac、channel、tag等信息,服务器端根据这些信息相应的返回不同的渠道的xml配置,根据目前发现的来看一共有9个不同的渠道,每个渠道的任务大致相同。我们对几个不同版本、渠道号的老裁缝任务进行了分析,整理了出以下C&C通信服务器地址 图13:任务下发逻辑示意图
首先,会将mac=000C29C5B50E&sys=32&channel=0101&tag=20150714以rc4 算法加密(key =rtLgHdkP3ArnlIk4), 然后再经过2次base64编码转换将最终加密后的参数与C&C通信服务器地址进行字符串拼接,发往服务端,服务端收到请求后返回的配置文件。如图14: 图14:自定义的tlv下载协议
服务器返回的xml配置文件经过RC4算法加密,密钥为:t^%^mbVuKT]lWf$J。解密后的配置文件中包含模块文件(电商劫持模块、傀儡进程、广告刷量)下载连接,选择磁盘存储还是内存加载、文件MD5,是否注入等信息。如图15: 图15:解密后的xml配置文件
接下来病毒会根据xml中的res 字段去下载另外的任务模块。 图16:任务模块下载数据包
下载的数据保存到注册表HKCU\Software\Microsoft\Windows Media\componentx下: 图17:注册表中保存解密前的任务模块
经rc4解密得到fake_svchost.exe, md5为e3ad53da1032df55f26c51e7bfe0584b。 fake_svchost.exe也是一个loader,会根据硬编码链接下载任务模块。
下载连接:sap://dl.laocaifengxitong.cc:9090/brow/data7.1101 图18:fake_svchost.exe下载任务模块adshow.exe
数据保存到注册表HKCU\software\Microsoft\Windows\CurrentVersion\plugins下 图19:注册表中保存解密前的任务模块
解密后得到adshow.exe,该模块主要负责进行自媒体视频刷量,它集成了webkit浏览器引擎。通过创建傀儡进程的方式启动。
四、电商劫持
上文提到不同的渠道号会获取到不同的配置文件,经过分析我们发现,其中渠道号为:0103、0104、0105、0107的配置文件带有电商劫持功能。
只要将mac=000C29C5B50E&sys=32&channel=0101&tag=20150714 中的channel改为对应的值并构造出链接,即可获取到模块文件,如: hxxp://rl1.w7q.net/Api/Index/index/code/M0E4L2NIK2N2U2tJSGJKbENmZTdTM0huOFRIRU02aFZPdTNtd29YYlpVaVZDbTMrNzdiNmZ4YldiNVByaFFLSkpRPT0= 图20:解密后的配置文件
选择将模块注入浏览器列表有:
2345*.exe|firefox.exe|360chrome.exe|liebao.exe|baidu*.exe|baidurender.exe|chrome.exe|sogouex*.exe|maxthon.exe|115chrome.exe|qqbrowser.exe||UCBrowser.exe
当发现有如下调试工具和抓包工具进程时,则不进行电商劫持。 图21:检测的分析和调试工具进程名
当电商劫持模块被注入到浏览器后,病毒会通过本地自建Web服务器作为代{过}{滤}理,当用户访问电商网址,代{过}{滤}理模块会进行电商域名的匹配,然后通过配置信息,向页面中插入html代码。如图22: 图22:通过代{过}{滤}理劫持电商流程
我们根据任务配置信息,整理了出被劫持的电商链接。 病毒劫持不同的电商使用的方法也不同,有向html中插入script脚本的,也有替换pid值的。最典型的如淘宝,病毒会插入或者替换自己的PID。以蘑菇街劫持为例,当用户访问蘑菇街时,电商劫持模块将会在向html里插入一段javascript脚本。如图23所示: 图23:蘑菇街的劫持js代码
并将当前访问的URL和hxxp://www.hl21.net/?a=m&u=拼接并请求访问,这时www.hl21.net服务端会返回一个新的跳转连接: http://www.mogujie.com/cps/open/track?target=&uid=14djfje&channel=&feedback=" 其中包含uid,channel等信息,这样就完成了劫持。 图24:蘑菇街劫持数据包
五、广告刷量
除了上述所说的电商劫持外,病毒还会进行一些自媒体视频的刷量和网站访问刷量行为。自媒体视频覆盖YouKu、PPTV、爱奇艺、搜狐几大站点。根据统计显示自媒体视频广告条目有208条,平均每一条视频总的访问量约为2.5W,最高的一条达57W访问量。
经过分析,它会创建一个隐藏的IE Frame控件(或是集成的webkit浏览器引擎),因为视频中会存在视频声音,为不让用户发现有莫名的声音出现,病毒会“屏蔽”音媒体设备,防止在刷流量时发出声音。 图25:屏蔽音频相关函数
通过tlv://ePeTsVWo.laocaifengxitong.tv:8746/去请求服务端广告配置文件,返回数据通过RC4算法解密后得到xml。然后对该xml文件进行解析,并提取要刷量的视频链接地址。用隐藏的IE Frame控件(或是集成的webkit浏览器引擎)去浏览这些页面。 图26:刷量的视频链接
经过分析目前所有的视频资源网站(YouKu、PPTV、爱奇艺、搜狐)均会根据内容类型进行相应的合作并给予相当不菲的回报。以爱奇艺为例子,给的价格区间为0.5~2.5元,如果说该视频是“独家”播放,最高价格可达2.5元/有效播放量(为期6个月时间)。这也让黑产人员另辟蹊径找到了一条发财致富之路。 图27:爱奇艺合作分成模式
六、溯源
做了这么多事情的“老裁缝激活工具”,也有百密一疏的时候,经过我们的搜索发现,早在2015开始“老裁缝激活工具”就已经开始作案。开发人员竟然将框架代码上传至Github。 图28:Github上的病毒框架代码
作者QQ : 329****63,作者名叫:dongkun(董坤?) 图29:Github上病毒代码提交者的qq邮箱
图30:疑似作者的QQ信息
七、总结
“老裁缝激活工具”,从云端下载核心并内存加载达到文件不落地,并且进行了多层的文件加密,所有的任务也是通过云配下发,自定义的网络传输协议。这也是以后病毒木马的技术发展趋势。金山毒霸安全专家建议用户搜索Win7激活工具、Win8激活工具、Win10激活工具时,注意开启杀毒软件保护系统。若杀毒软件报毒,切莫继续使用该激活工具破解系统。
|