病毒分析 | 一款名为“老裁缝“的激活工具捆绑薅羊毛

一、前言

激活工具打着”激活成功率最高“,”完美激活各个版本的系统“的旗号,使得该类激活工具病毒在短时间之内大范围传播。最近金山毒霸实验室发现,一款名叫“老裁缝激活工具”,借助着”小马激活”的名字活跃在“系统之家”、”软件下载器”、“网盘”。 

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):

文件名 功能说明 版本
LCFGuard.sys 注入系统进程、文件过滤、注册表过滤 x86
LCFGuard64.sys 注入系统进程、文件过滤、注册表过滤 x64
LCFInst.dll 被注入winlogon的dll模块用于自更新、修复自己被删除的文件(驱动以及配置文件) x86
LCFInst64.dll 被注入winlogon的dll模块用于自更新、修复自己被删除的文件(驱动以及配置文件) x64
loader_32.dll 被注入到explorer用于劫持浏览器 x86
loader_64.dll 被注入到explorer用于劫持浏览器 x64
rule.mpc 主页、浏览器进程配置文件
rule 文件配置信息

根据不同版本的系统,从rule.lce中读取x86或者x64位驱动。然后以Vq开头的随机命名的方式生成驱动文件和创建注册表信息,最后把核心模块备份一份到注册表中。

键值 说明
LCF 老裁缝驱动文件
RRUL Rule.lce
RUI 所有文件名配置信息
RMP 浏览器劫持配置信息

一款名为“老裁缝“的激活工具捆绑薅羊毛

图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&params=%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环通信的控制码说明:

控制码 功能说明
0×222000 读取老裁缝注册表RRUL键值恢复文件,并重新APC注入winlogon和explorer
0x2220C0 通过构造IRP的方式去删除文件

一款名为“老裁缝“的激活工具捆绑薅羊毛

图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:直接在驱动中进行上报统计

三、Loader分析

Loader.dll是通过驱动层被注入到explorer.exe中的,该模块主要负责向服务器发送mac、channel、tag等信息,服务器端根据这些信息相应的返回不同的渠道的xml配置,根据目前发现的来看一共有9个不同的渠道,每个渠道的任务大致相同。我们对几个不同版本、渠道号的老裁缝任务进行了分析,整理了出以下C&C通信服务器地址

C&C 服务器地址 说明
laocaifengxitong.cc:8746 下载模块功能配置文件
hxxp://rl1.w7q.net/Api/Index/index/code/ 下载模块功能配置文件
hxxp://capi.w7q.net/index.php/get_task/0107/ 任务配置文件任务号从0101~0109

一款名为“老裁缝“的激活工具捆绑薅羊毛

图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:通过代理劫持电商流程

我们根据任务配置信息,整理了出被劫持的电商链接。

jd.com
temai.taobao.com
1212.mogujie.com
shop.mogujie.com
www.mogujie.com
www.vip.com
s.click.tmall.com
1111.tmall.com
www.gome.com.cn

病毒劫持不同的电商使用的方法也不同,有向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:刷量的视频链接

一款名为“老裁缝“的激活工具捆绑薅羊毛

图27:爱奇艺合作分成模式

六、溯源

做了这么多事情的“老裁缝激活工具”,也有百密一疏的时候,经过我们的搜索发现,早在2015开始“老裁缝激活工具”就已经开始作案。开发人员竟然将框架代码上传至Github。

一款名为“老裁缝“的激活工具捆绑薅羊毛

图28:Github上的病毒框架代码

作者QQ : 32963,作者名叫:dongkun(董坤?)

一款名为“老裁缝“的激活工具捆绑薅羊毛

图29:Github上病毒代码提交者的qq邮箱

一款名为“老裁缝“的激活工具捆绑薅羊毛

图30:疑似作者的QQ信息

七、总结

“老裁缝激活工具”,从云端下载核心并内存加载达到文件不落地,并且进行了多层的文件加密,所有的任务也是通过云配下发,自定义的网络传输协议。这也是以后病毒木马的技术发展趋势。

 本文作者:渔村安全,转载请注明来自 FreeBuf.COM

中国拟成立网络安全审委会

猜您喜欢

IT安全规则,要的是落实而不是死守
Cybercrime Costs to Reach $8 Trillion by 2022 http://www.chinacybersafety.com/201705312758.html
保密第一课
网络安全法在线讲解-《网络安全法》的突出亮点 https://v.qq.com/x/page/u0514qmyllg.html
ROCKMYSTYLE OURITALIANKITCHEN
安全控管总体规划
1分钟的信息安全意识动画教程,包括信息安全注意事项及十字安全歌谣,白板动漫,让信息安全知识变得更有趣味。