摘要:近期,火绒威胁情报系统监测到一种Rootkit病毒正通过“天龙八部”游戏私服进行传播。该病毒通过劫持用户访问的网页来推广自己的私服网站,并且具有广告推广功能。此外,其还采用多种对抗手段来对抗杀毒软件查杀,对用户构成较大威胁。目前,火绒安全产品可对上述病毒进行拦截查杀,请用户及时更新病毒库以进行防御。查杀图查杀图用户登录“天龙八部”游戏私服后,Rootkit病毒会被释放,随后进行网页劫持、广告推广等
近期,火绒威胁情报系统监测到一种Rootkit病毒正通过“天龙八部”游戏私服进行传播。该病毒通过劫持用户访问的网页来推广自己的私服网站,并且具有广告推广功能。此外,其还采用多种对抗手段来对抗杀毒软件查杀,对用户构成较大威胁。目前,火绒安全产品可对上述病毒进行拦截查杀,请用户及时更新病毒库以进行防御。
查杀图
查杀图
用户登录“天龙八部”游戏私服后,Rootkit病毒会被释放,随后进行网页劫持、广告推广等恶意行为。用户再次访问“天龙八部”相关网页时,会跳转到指定的私服网站,该病毒的执行流程,如下图所示:
病毒执行流程图
病毒执行流程图
一、样本分析
病毒功能的分析
初始化阶段
Rootkit病毒被加载后,会先将自身复制到Driver目录下,并添加注册表启动项,相关代码,如下图所示:
复制自身到Driver并添加注册表启动项
复制自身到Driver并添加注册表启动项
之后,在驱动模块中会向C&C服务器请求配置信息,成功从C&C服务器获取配置信息后,该Rootkit病毒将这些配置信息整合并添加到各个恶意功能的链表结构中,有些配置会进行加密并保存到注册表中(网页劫持规则、要拦截的驱动列表)。在执行恶意功能时,Rootkit病毒会根据对应链表中的配置信息来确定执行的具体行为和方式。相关代码,如下图所示:
请求C&C服务器配置信息
请求C&C服务器配置信息
获取到的相关配置信息,如下图所示:
配置信息
配置信息
病毒自我保护策略
为了降低被检测和清除的可能性,该病毒将自身伪装成系统驱动pci.sys。这种伪装策略使得它在运行时能够混淆在正常系统进程中,让安全人员进行排查时容易疏忽,相关代码,如下图所示:
伪装成系统驱动
伪装成系统驱动
从火绒剑中可以看见有两个pci.sys驱动,如下图所示:
火绒剑
火绒剑
该Rootkit病毒还会通过Hook FSD (文件系统驱动) 设备对象的方式来保护自身不被读取和修改,来躲避杀毒软件的查杀,相关代码,如下图所示:
HOOK FSD保护自身不被读取和写入
HOOK FSD保护自身不被读取和写入
该病毒还会通过直接向文件系统驱动(FSD)发送 I/O 请求包(IRP)来打开其自身,然后持续保持相关句柄不释放。这种策略将导致恶意驱动无法被删除,从而达成了其自我保护的目标,相关代码,如下图所示:
保护自身不被删除
保护自身不被删除
为了防止注册表项被删除,该病毒会注册一个关机回调,如果不存在专杀工具的话,就会重新添加一个注册表项,相关代码,如下所示:
关机回调函数
关机回调函数
还会添加一个模块加载回调,该回调中会根据C&C服务器下发的配置信息,来拦截指定的驱动文件,大多数Rootkit病毒都使用该功能来拦截杀毒软件驱动,相关代码,如下图所示:
模块加载回调拦截指定驱动
模块加载回调拦截指定驱动
该病毒除了采用各种自保策略保护自身外,还会创建一个独立的监控线程来持续检测系统进程,检查是否有专门的杀毒工具在运行,如果发现专杀工具运行就会减少恶意行为,相关代码,如下图所示:
检测专杀工具
检测专杀工具
病毒推广策略
在受害者打开指定进程时,会弹出相关推广网页,该病毒在应用层模块和驱动层模块都实现了该功能。
驱动中会释放随机文件名的应用层模块到Sytem32目录中,通过注入Winlogon进程中执行WinExec来调用该模块,相关代码,如下图所示:
释放应用层模块
释放应用层模块
在应用层模块中会向C&C服务器请求配置文件,获取进程以及对应的推广链接,在监测到某进程存在后会打开指定推广链接。获取配置信息代码,如下图所示:
获取配置信息
获取配置信息
在调试过程中C&C服务器并未下发相关推广配置。当用户打开配置中指定的进程时,会弹出指定推广网页,相关推广代码,如下图所示:
弹出指定推广网页
弹出指定推广网页
该病毒会添加一个进程回调,在回调中实现类似应用层模块功能,在指定进程启动后会弹出指定的推广网页,相关代码,如下图所示:
网页推广
网页推广
网页劫持策略
该病毒使用WFP网络过滤驱动来劫持用户访问的天龙八部私服到黑客指定的私服,WFP网络过滤驱动相关代码,如下图所示:
添加WFP过滤层
添加WFP过滤层
在FWPM_LAYER_STREAM_V4过滤层中会监听http请求,会判断访问的网页是否需要劫持,如果需要进行劫持就会记录相关数据流信息以及劫持的网页,相关代码,如下图所示:
判断是否需要劫持
判断是否需要劫持
该病毒实现网页劫持主要通过以下三种方式:
1.修改http请求将目标网站改成劫持的网站;
2.修改http请求重定向到劫持的网站;
3.直接修改网页返回的内容显示劫持网站,
网页劫持相关代码,如下图所示:
网络劫持代码
网络劫持代码
二、附录
C&C:
HASH: