黑链挂马,大型挂马团伙擒狼

黑链挂马,大型挂马团伙擒狼(1)

第一章 概述


7月13日,360安全卫士检测到一起网站广告位挂马事件,大量网络广告出现集体挂马,广告内容以同城交友等诱惑信息为主,预警为“擒狼”木马攻击。我们通过对整个挂马攻击的分析溯源发现,这个木马主要功能是锁定浏览器的主页并带有远程控制后门,作者通过木马谋取暴利,是一起典型的黑产行为。

该木马通过漏洞执行,安装服务和驱动,通过驱动锁定浏览器主页,服务实现自启动并将自身注入系统进程.连接C&C下载配置和插件,其中一个插件劫持淘宝客的推广ID来实现流量变现,不排除还有其他插件实现静默安装等更多的黑产行为.

在分析过程中我们发现,利用漏洞传播仅仅是该木马的其中一种推广方式,但仅仅是这一种推广方式,在7月13日一天内,360安全卫士就拦截了3万多次攻击.因此,我们有理由相信此木马应该有一个庞大的安装基数和日活量,才能使木马作者维持稳定的盈利,支持其继续开发。

第三章 漏洞利用


此次挂马攻击主要是使用的Kaixin exploit kit(挂马攻击包),是近年来比较活跃的挂马组合攻击包,也是目前已公开发现的国内唯一一个专门提供挂马攻击的服务,该挂马攻击包会混合使用多个Java、Flash和IE漏洞进行挂马,此次攻击使用的较新的漏洞主要是针对Edge 浏览器的CVE-2016-7200/ CVE-2016-7201漏洞,针对Flash的CVE-2016-4117漏洞,针对IE浏览器的CVE-2016-0189漏洞。

黑客通过一些网站的广告位嵌入含漏洞的网页,诱导用户点击。

黑链挂马,大型挂马团伙擒狼(2)

如果不慎点击这些广告位就可能触发带漏洞攻击的页面,如CVE-2016-0189[1]漏洞:

黑链挂马,大型挂马团伙擒狼(3)

黑链挂马,大型挂马团伙擒狼(4)

如果此时受害者是一台没有打补丁的机器,就会触发相应漏洞,开始下载木马并执行:

黑链挂马,大型挂马团伙擒狼(5)

第四章 技术细节


Dropper

流程图

黑链挂马,大型挂马团伙擒狼(6)

Dropper程序运行后,在内存中解密恶意代码,动态获得系统API,最后流程转移到注入代码流程。

注入程序在首次启动时将rsrd节中加密的数据解密并存储到注册表中,随后尝试注入svchost程序,释放白名单文件Acset.dat,将acset.dat设置为重启后重命名为sens.dll,替换掉系统的System Event Notification Service服务,将自身写入sens.lang文件,随后联网发送统计信息.

在系统重启后,系统System Event Notification Service服务模块指向白名单插件sens.dll,白名单插件加载被释放的sens.lang启动注入程序,注入程序注入svchost并且hook ZwOpenFile,hook写入的代码中包含有创建线程,当svchost打开文件时候利用创建线程函数启动注入的代码。

此时被注入的svchost释放并安装驱动文件,驱动加载后删除驱动文件,随后将驱动模块指向微软官方的mlang.dll。

最后svchost将workdll注入services同时hook ZwMapViewOfSection,当services调用ZwMapViewOfSection函数时通过CreateThread函数使workdll开始工作。

细节:

首先提升权限,将当前进程权限提升为SeDebugPrivilege,随后作者为了避免程序被分析进行调试器检测。

黑链挂马,大型挂马团伙擒狼(7)

检测windbg和ollydbg以及pchunter。

黑链挂马,大型挂马团伙擒狼(8)

检查是否处于调试状态。

黑链挂马,大型挂马团伙擒狼(9)

判断参数是否正确,从文件rsrd节解密数据,用Zlib库解压数据后获得以下文件。

黑链挂马,大型挂马团伙擒狼(10)

创建注册表4d36e965-e325-11ce-bfc1-08002be10318目录,添加InstallName、LastDeleteData、LocalizedInfo、LowerLogoData项。

其中LastDeleteData包含锁主页驱动, workdll, 配置文件等.

为了保证开机自启动,通过延时删除替换系统dll,设置dll开机启动,尝试注入svchost程序。

首先遍历进程找到要注入的系统进程,申请空间注入代码。

黑链挂马,大型挂马团伙擒狼(11)

因为通过远程线程调用启动注入代码容易引起杀毒软件监控,所以恶意程序hook 了ZwOpenfile函数,当svchost打开文件时创建线程启动注入的程序。

黑链挂马,大型挂马团伙擒狼(12)

注册延时替换文件,将sens.dll文件在系统重启的时候替换为Acset.dat文件,设置注册表 "HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\SENS\Start" 使sens.dll开机启动。

黑链挂马,大型挂马团伙擒狼(13)

设置开机启动系统System Event Notification Service服务

黑链挂马,大型挂马团伙擒狼(14)

为了保证程序成功运行,如果系统进程无法注入,则程序自己创建dllhost进程注入。

黑链挂马,大型挂马团伙擒狼(15)

随后通过HTTP向http://tj.xinyu88.com/tongji.php?userid=CCC555&mac=${MAC}&osver=${OSVER}&a=${INSSTATE}发送统计信息。

黑链挂马,大型挂马团伙擒狼(16)

黑链挂马,大型挂马团伙擒狼(17)

在重启系统之后,sens.dll被替换为Acset.dat文件,典型的运行白名单加载恶意程序方式,Acset调用LoadLibrary加载sens.lang文件,即CCC555.exe本身,随后启动注入程序注入svchost并且hook ZwOpenFile来启动注入代码。

黑链挂马,大型挂马团伙擒狼(18)

被注入的svchost释放驱动文件,文件名称为dump_{随机服务}.sys,为了躲避查杀,dump_后面的部分使用系统现有服务名,利用msbpdrv_tsp~.inf文件安装驱动。

黑链挂马,大型挂马团伙擒狼(19)

作者为了避免sys文件被直接发现引起怀疑,加载驱动后将驱动文件替换为微软官方mlang.dll。

Workdll被注入services同时hook ZwMapViewOfSection,当services调用ZwMapViewOfSection函数则通过CreateThread函数使workdll开始工作。

黑链挂马,大型挂马团伙擒狼(20)

驱动模块

驱动文件带有已经被吊销的数字签名,

黑链挂马,大型挂马团伙擒狼(21)

获取配置文件,读取注册表指定位置“HKEY_CLASSES_ROOT\CLSID\{4d36e965-e325-11ce-bfc1-08002be10318}”中的LastDeleteData项获取配置信息

黑链挂马,大型挂马团伙擒狼(22)

黑链挂马,大型挂马团伙擒狼(23)

解密得到配置文件

锁主页配置:

黑链挂马,大型挂马团伙擒狼(24)

后门配置

黑链挂马,大型挂马团伙擒狼(25)

通过”InstallName”项,获取当前安装的服务和驱动文件的文件名

黑链挂马,大型挂马团伙擒狼(26)

黑链挂马,大型挂马团伙擒狼(27)

收集主机中的收藏夹

遍历收藏夹和”Desktop”上的“.lnk .url” 文件, 并提取 链接地址

黑链挂马,大型挂马团伙擒狼(28)

初始化配置信息

黑链挂马,大型挂马团伙擒狼(29)

黑链挂马,大型挂马团伙擒狼(30)

判断延时删除项,检测服务启动项的状态,对服务进行守护

黑链挂马,大型挂马团伙擒狼(31)

黑链挂马,大型挂马团伙擒狼(32)

黑链挂马,大型挂马团伙擒狼(33)

注册文件监听过滤器

黑链挂马,大型挂马团伙擒狼(34)

黑链挂马,大型挂马团伙擒狼(35)

文件增删改查时,都会记录到日志上

监控进程创建事件

系统所有的进程创建,均会通知驱动,驱动会根据PID 维护一个进程列表

黑链挂马,大型挂马团伙擒狼(36)

创建进程事件的回调

判断指定的进程,符合条件则注入DLL

黑链挂马,大型挂马团伙擒狼(37)

申请内存,注入”WorkDll”, 后续工作交由Ring3完成

黑链挂马,大型挂马团伙擒狼(38)

Workdll

Dropper启动后从注册表读取保存的workdll文件,把workdll注入到系统进程,workdll加载后将尝试从本地加载缓存的配置文件.没有则从C&C下载新的配置

黑链挂马,大型挂马团伙擒狼(39)

配置缓存路径为c:\windows\temp,文件名为~G{计算机名CRC32取反}.tmp,内容经过加密分段存放.

黑链挂马,大型挂马团伙擒狼(40)

其中GlobalConfig配置内容为:

黑链挂马,大型挂马团伙擒狼(41)

加载完配置后进入加载插件流程

黑链挂马,大型挂马团伙擒狼(42)

和配置一样插件也有本地缓存,文件名为~TP112FA.tmp,内容为zlib压缩的dll文件

插件的Flag对应表:

从表中可以看出该模块具有后门的基本功能,包括删除文件,下载dll和exe,加载到进程等.

黑链挂马,大型挂马团伙擒狼(43)

对于当前插件Flag为0x91,即 类型为DLL,加载到浏览器,数据为zlib压缩

黑链挂马,大型挂马团伙擒狼(44)

加载插件模块

黑链挂马,大型挂马团伙擒狼(45)

然后进入命令循环,每隔60秒连接服务器

黑链挂马,大型挂马团伙擒狼(46)

连接C&C为 pzds1.thebestsites.in

黑链挂马,大型挂马团伙擒狼(47)

淘宝客劫持插件

通过workdll下载的插件CED566ED.rar是一个淘宝客PID劫持插件,功能为检测到淘宝购物链接时,向浏览器注入JS脚本,把原来的淘宝客PID替换成配置文件中的PID.来达到盈利的目的.

读取配置中的pid列表

黑链挂马,大型挂马团伙擒狼(48)

setJsForTaobao函数,设置js中的参数

黑链挂马,大型挂马团伙擒狼(49)

Js脚本,来自从服务器下载的配置

黑链挂马,大型挂马团伙擒狼(50)

针对淘宝设置js脚本

黑链挂马,大型挂马团伙擒狼(51)

针对京东设置js脚本

黑链挂马,大型挂马团伙擒狼(52)

从代码中可以看到插件还有替换HTML的功能,但是由于配置文件设置的是测试字符串,这项功能并没有触发.

黑链挂马,大型挂马团伙擒狼(53)

html-replacing配置

黑链挂马,大型挂马团伙擒狼(54)

第五章 对抗


在样本分析过程中遇到了大部分木马常见的对抗手段,包括反调试、反虚拟机、白利用,驱动隐藏、注册表存储文件等,可见作者在免杀上面花费了不少时间和精力.

拼接API函数名称并动态加载

黑链挂马,大型挂马团伙擒狼(55)

通过检测鼠标位置来对抗虚拟机行为分析

黑链挂马,大型挂马团伙擒狼(56)

白利用

利用合法带有数字签名的DLL文件加载木马DLL

黑链挂马,大型挂马团伙擒狼(57)

延时替换文件

利用MoveFileEx函数的MOVEFILE_DELAY_UNTIL_REBOOT模式实现系统重启时替换文件

黑链挂马,大型挂马团伙擒狼(58)

驱动文件隐藏

驱动加载成功后,删除驱动文件,修改注册表,使指向的驱动文件为操作系统的白文件,这样在用户层就找不到加载的驱动文件.

黑链挂马,大型挂马团伙擒狼(59)

常见调试工具进程检测

黑链挂马,大型挂马团伙擒狼(60)

驱动模块中检测是否被调试

黑链挂马,大型挂马团伙擒狼(61)

黑链挂马,大型挂马团伙擒狼(62)

驱动中检测安全类和其他锁主页的模块

黑链挂马,大型挂马团伙擒狼(63)

只有未检测到安全类和其他锁主页的模块时,才会触发锁主页和淘宝客劫持的行为。

第六章 溯源


和 “一生锁页”的关系

在分析过程中,我们发现样本和 “一生锁页”相似度极高,经详细对比,确认CCC555.exe就是“一生锁页”的免杀版.

黑链挂马,大型挂马团伙擒狼(64)

“一生锁页”官方网站普通版说明:

黑链挂马,大型挂马团伙擒狼(65)

可以看到,普通版也有自动更新和后台管理功能.

免杀版说明:

在官网注册推广账号后,可以看到还有免杀版.

“一生锁页”的官网上作者提到是软件免费,并留有捐赠通道,给人的感觉是单纯凭兴趣开发.

黑链挂马,大型挂马团伙擒狼(66)

但是当注册账号,登录管理平台后的页面里又说有其他方式盈利,显然前后矛盾.

根据前面的分析,我们推测其所说的其他方式应该是淘宝客劫持.

黑链挂马,大型挂马团伙擒狼(67)

而来自网友的反馈,确实有人在不知情的情况下中过此木马.

多个线索都证明”一生锁页”带有后门.具有静默安装和电商推广、淘宝PID劫持等行为.

利益链

结合多个数据,我们整理出一个“一生锁页”的利益链:

1.作者制作锁主页普通版木马通过官方主页推广,用户和推广者并不知道有后门,表面上通过锁主页的提成盈利,其实更大部分来自于后门插件的淘宝客窃取.

2.作者制作锁主页免杀版木马,针对有固定用户量的推广者,推广者可能使用下载站捆绑或网站挂马等方式实现推广,这些推广者应该知道软件带有后门,锁主页和后门插件窃取淘宝客的收益由推广者和作者共同分成.

普通版和免杀版对比

Workdll导出函数

Workdll字符串对比

Workdll解密函数

Workdll写注册表函数

驱动文件版本号比较:

驱动字符串比较

普通版和免杀版主要区别

在分析普通版样本过程中,我们发现C&C域名可以直接访问,可以直接看到淘宝客劫持的收益

经过查看js脚本中的连接,直接访问配置,返回下面的数据

其中 邮箱字段就是 一生锁页官网上的QQ邮箱

尝试使用其中的密码登录免杀版的C&C服务器的VNC成功,

获取SVN的账号和密码,下载了2个库

在网站源码中,找到Mysql密码,得到免杀版的账号,日活等信息

php代码中有证据表明有淘宝PID劫持和推广链接ID劫持,免杀等行为.

网站源码中还有制造静默安装包的模块,这个功能是在http://120.24.47.99/服务器完成的

在这个服务器中就有渠道号CCC555的安装程序, 其中包含“后门”字样

配置文件:

和分析的样本中的相同

服务器数据统计

普通版淘宝客盈利统计 newbe.in

数据从2016年5月8日开始

可以看到两个明显的峰值,分别是2016年11月11和2016年12月12,和电商的销售旺季重合.这两天提成分别是88594和101675.

截止到2017年7月26日, 448天内累计点击量1173万,成交量42万,提成 219万元.

免杀版用户数统计

我们对免杀版所有用户数量进行了统计,结果如下:

其中我们分析的样本CCC555.exe,即userid为16的用户数据刚好从7月13日暴增,和我们检测到的数据刚好吻合.

第七章 自检


用户可以通过手动检测查看是否中招:

注册表:

1

HKEY_CLASSES_ROOT\ CLSID\{4d36e965-e325-11ce-bfc1-08002be10318}

其中 InstallName不固定

HKEY_LOCAL_MACHINE\Software\Microsoft\COM3下新增了COMVersion项

COMVersion的值为机器ID和时间戳

temp目录:

c:\windows\temp目录中:

网络:

每隔1分钟向 120.25.239.40或52.78.96.21的11900端口发送数据包

第八章 总结


经过前面的分析,我们可以看出作者在这个项目上投入了大量的时间和精力,独立实现了应用层、驱动以及管理平台,代码量比较大,应该是全职开发.并且有自己的推广渠道,是一起打着免费锁主页的旗号通过后门来变现的黑产行为.

作者以为没有弹窗,不会影响终端用户的体验就不会被发现,就可以和推广者”达到彼此共赢”,闷声发大财了.天网恢恢疏而不漏,只要有恶意行为,总有被发现的一天。目前,360网盾可以有效拦截此类网站挂马

360安全卫士拦截木马注入系统进程:

360追日团队(Helios Team)


360 追日团队(Helios Team)是360公司高级威胁研究团队,从事APT攻击发现与追踪、互联网安全事件应急响应、黑客产业链挖掘和研究等工作。团队成立于2014年12月,通过整合360公司海量安全大数据,实现了威胁情报快速关联溯源,独家首次发现并追踪了三十余个APT组织及黑客团伙,大大拓宽了国内关于黑客产业的研究视野,填补了国内APT研究的空白,并为大量企业和政府机构提供安全威胁评估及解决方案输出。

已公开APT相关研究成果

黑链挂马,大型挂马团伙擒狼(68)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页