新闻快讯
< >

恶性病毒Kuzzle”攻破”安全厂商白名单,用户重装系统也难以清除

一、 概述

近日,火绒安全团队截获恶性病毒“Kuzzle”,该病毒感染电脑后会劫持浏览器首页牟利,同时接受病毒作者的远程指令进行其他破坏活动。“Kuzzle”拥有非常高的技术水平,采用多种手段躲避安全软件的查杀,甚至盗用知名安全厂商的产品数字签名,利用安全软件的“白名单”的信任机制来躲避查杀。更严重的是,用户即使重装系统也难以清除该病毒,使用户电脑长期处于被犯罪团伙的控制之下。

据火绒安全团队分析,“Kuzzle”通过下载站的高速下载器推广传播,下载器会默认下载携带病毒的“云记事本”程序。电脑感染病毒后,浏览器首页会被劫持,谷歌、火狐、360等多款主流浏览器都会被修改为hao123导航站。

火绒安全团队通过技术溯源发现,“Kuzzle”采用多种技术手段躲避安全软件的查杀,其中就包括盗用知名安全厂商北信源公司的数字签名。当安全软件检测到该数字签名时,会将其误认为是北信源产品,自动放过病毒,不进行查杀。由于现在行业内的安全软件大多过度倚重白名单技术,病毒通过“盗用文件签名”,即可将攻破这些安全软件的信任漏洞,轻松攻入电脑。

“Kuzzle”通过篡改电脑系统中的主引导记录(MBR)和卷引导记录(VBR),在不修复主引导区情况下,用户即使重装系统也无法根除。火绒工程师表示,近几年,通过MBR、VBR感染进行深度技术对抗的病毒和流氓软件逐渐增多,流氓软件已完全病毒化,越来越多的使用病毒技术,其手段强劲、性质恶劣,对用户的危害甚至超过传统病毒。

目前,“火绒安全软件”已升级病毒库,率先拦截、查杀“Kuzzle”病毒。对于已经感染该病毒的非火绒用户,可以下载使用“火绒专杀工具”彻底查杀该病毒。 

二、 “Kuzzle”通过下载器感染用户计算机MBR和VBR

Bootkit病毒“Kuzzle”伪装成正规软件“云记事本”,利用国内几大知名下载站的高速下载器进行推广传播。“Kuzzle”使用两个有效数字签名应用和驱动程序,利用“白名单信任漏洞”躲避安全软件防御,加载病毒代码。“Kuzzle”病毒作者利用两个有效签名制作了“Kuzzle”病毒的加载模块。被利用的两个有效数字签名分别是”Beijing VRV Software Corporation Limited.”和”南京鸿思信息技术有限公司”。

通过分析我们认为,这两个有效签名的程序并不是传统的“白文件利用”。而且我们怀疑北信源的有效数字签名被黑客窃取或通过其它方式泄露,具体论证详见下文分析。

在病毒分析过程中,我们发现该病毒有很强的隐蔽性,除签名程序的版权信息伪装和正常程序无异,病毒作者甚至还模拟了正常软件应有的功能、并将恶意代码暗藏其中,如果不是详细分析很难察觉签名模块中包含的病毒功能。

“云记事本”利用有效数字签名的程序,内存加载病毒下载器和病毒安装器的攻击流程是通用的,病毒作者可以通过调整云控代码,下发任意功能模块到用户电脑执行任意恶意行为。目前我们看到的是通过云控代码,感染用户计算机的MBR和VBR,主要行为是篡改浏览器主页、劫持导航网站到”https://www.hao123.com/?tn=9******1_hao_pg”。

“Kuzzle”的“Bootkit”模块感染模块兼容XP、Win7、Win10等主流操作系统,通过感染计算机MBR和VBR驻留在用户系统中,还通过Hook磁盘读写钩子对抗杀软查杀。另外,即使用户察觉浏览器异常,重装系统也无法彻底清除“Kuzzle”。

“Kuzzle”隐蔽性比之前的被曝光的“暗云”和“异鬼”等Bootkit更强,病毒用到的全部数据文件都加密存放在用户硬盘,只有在病毒运行时才会在内存解密后加载,整个攻击流程病毒文件全程不落地。火绒安全实验室发现近期感染MBR、VBR技术病毒和流氓软件呈逐渐增多的趋势,而且下载站已经成为流氓软件和病毒的重要传播渠道。

“Kuzzle“病毒完整的攻击流程如下图所示:

1.png

1. 通过下载器推广“Kuzzle”

火绒安全实验室发现,某款”高速下载器”推广程序中包含恶性Bootkit病毒“Kuzzle”。该病毒“伪装”成名为“云记事本”的正常应用。为了达到欺骗效果,安装后的”云记事本”还提供文本编辑功能,如果用户直接启动“云记事本”安装程序,则不会下载执行病毒代码。

2.png

下载器推广病毒“云记事本”

但是使用“高速下载器”在后台安装时,“下载器”会根据网络上配置的文件”kpazq5.ini”为”云记事本”安装程序添加安装参数”-silent”。 

4.png

病毒安装流程

安装程序在执行病毒下载流程时,会检测用户计算机是否包含“ksafesvc.exe”和“baidusdsvc.exe”两个进程,如果存在任意一个进程,安装程序就会设置标志位“g_bflags”(如下图所示)。该标志位决定安装包释放的“病毒下载器”文件“net.dat”,是由“云记事本”安装包加载,还是由另一个带有有效数字签名“pdfsvr.exe”程序加载,这样做的目的是为了利用这些安全软件的“白名单信任漏洞”。 

7.png

calsp_820.exe资源文件

这些资源文件和病毒释放器释放的文件对应关系如下表,后文会对文件有详细分析。

9.png

还原文件前4个字节

病毒释放器中不同资源文件的详细分析:

1. IMAGEFILE\144\2052资源对应文件setup.dat,该文件还原之后是Notepad2CN的cab自解压包。 12.png 带参数启动pdfsvr.exe文件

4. IMAGEFILE\155\2052资源对应文件“net.dat“,是一个加密的二进制文件。还原后就是安装包中最关键的病毒下载器程序。“net.dat “被安装程序”calsp_820.exe”或者”pdfsvr.exe”在内存解密后执行病毒代码,完成后续的“Kuzzle”下载和安装流程。解密后的net.dat文件全程不落地,只在内存中出现,通过调试手段保存后的文件,信息如下图:

13.jpg相同的ShellCode代码

内存中的ShellCode负责加载和解密“net.dat“文件的代码如下: 

ooo.jpg

BulkEncX驱动签名信息

病毒代码如下图所示:

16 upd.dat代码将vayout.fxb数据解密后发送给BulkEncX驱动.png

upd.dat代码将vayout.fxb数据解密后发送给BulkEncX驱动

在BulkEncX.sys驱动中表面上包含了大量的常用哈希算法,但是算法实现的代码中却包含有病毒加载代码。如下图所示: 

18 BulkEncX.sys驱动隐藏在sha1中的病毒代码.png

BulkEncX.sys驱动隐藏在SHA1中的病毒代码

如上图所示,在病毒模块解密加载函数上下全都是计算SHA1的算法代码,再加上BulkEncx.sys驱动带有北信源签名,所以其病毒逻辑更难以被安全研究人员发现。解密加载病毒模块函数逻辑,如下图所示: 

20 解密后的virus_shell_code代码.png

解密后的virus_shell_code代码

通过上述病毒逻辑,最终用于加载感染VBR的病毒驱动。该病毒驱动中会通过hook NtShutdown函数(32位)和设置关机回调(64位)在关机时调用感染VBR代码。除了关机时会对VBR进行感染外,病毒还有一个内核线程,在该线程启动15分钟之后也会对VBR进行感染。VBR感染代码如下图所示: 

21 Hook NtShutdown函数代码.png

Hook NtShutdown函数代码 

23 备份原始VBR并拷贝病毒VBR数据.png

备份原始VBR并拷贝病毒VBR数据 

25 VBR感染代码.png

VBR感染代码

VBR被感染后,进行重启MBR也会被感染。值得我们关注的是,在带有北信源签名的驱动文件BulkEncX.sys中都存在被加密virus_shell_code部分,且其解密逻辑附近代码与带有“南京鸿思信息技术有限公司”签名的pdfsvr.exe文件相同。如下图所示: 

27 BulkEncX.sys和pdfsvr.exe中解密密钥和算法对比.png

28病毒释放器(“云记事本”安装包)和net.dat病毒下载器解密代码对比.png

病毒释放器(“云记事本”安装包)和net.dat病毒下载器解密代码对比

上述多个关键病毒文件中的解密密钥和解密算法完全相同,据此我们可以推测, BulkEncX.sys驱动所使用的北信源签名可能为病毒作者盗用。

三、中毒后现象

病毒为了保护自己的MBR和VBR代码不被安全软件检测到,还会修改Disk.sys的IRP读写操作,当任意程序试图读取MBR或者VBR时,都会返回没有被病毒修改的原始MBR和VBR。 

30内核通知.png

内核通知

如果是Win7以上系统,最终要劫持到的网址保存在系统盘符下“\ProgramData\SoftSecurity\snock.cfg”文件中,其中deliver 为加密后的网址,解密方法为每个字节加0xfc,保留一字节大小,snock.cfg文件内容如下图所示: 

32判断浏览器.png

判断浏览器

如果浏览器满足病毒配置中对应规则,病毒则会添加浏览器收藏夹和劫持浏览器首页。然后解密ProgramData\SoftSecurity\rpl.cfg文件,里面存放了病毒劫持浏览器的列表、规则还有所有会被替换的网址,如下图所示(因为配置文件过长,所以中间有省略)。Injector.dll支持三种首页劫持逻辑,详见下文分析。

 

34浏览器劫持列表.png

浏览器劫持列表

配置中包含的正则匹配网址方法: 

36劫持网址列表.png

劫持网址列表

1. 首页劫持逻辑

该病毒会通过以下两种方式劫持浏览器首页:

1、如果浏览器为傲游浏览器、qq浏览器和猎豹浏览器,病毒会判断当前浏览器的父进程是否是explorer.exe,如果是则会重新启动一个参数为要劫持网址的浏览器,并结束当前浏览器 。2、其他浏览器,病毒会直接修改浏览器的启动参数为要劫持到的网址。被劫持到的网址为上文中介绍的从配置文件snock.cfg,中解密出来的网址 zk.8*****.com,最终导航站会跳转到www.hao123.com/?tn=9******1_hao_pg。

2. 添加浏览器收藏夹

该病毒还会根据配置文件中的数据添加浏览器收藏夹,如下图所示: 

38Hook WSPStartup函数.png

Hook WSPStartup函数

在WSPStartup的Hook函数中修改WSPPROC_TABLE表中对应的函数,用来劫持浏览器的网络访问动作,如下图所示: 

40.png

41.png

文中涉及样本SHA256:

1.jpg

PDF版报告下载链接:http://down4.huorong.cn/doc/kuzzle.pdf