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