“镜像杀机”劫持首页木马分析

前言

最近几周,360核心安全团队发现了一种新型锁主页木马。该木马会恶意篡改和锁定用户浏览器主页牟利,使用户无法设置想要的浏览器主页。

经过分析,该种木马一般通过钓鱼下载站传播,藏身于系统装机软件或者常用软件的安装包中,通过拦截进程和网络来修改启动参数,以达到篡改主页的目的。目前360已针对此类样本全面查杀,为用户电脑保驾护航,同时也提醒广大用户安装软件时注意通过正规的下载渠道,避免中招。

 

感染过程

下图是一例传播此类木马的钓鱼网站,该类页面一般通过搜索引擎跳转而来。图中仿冒“2345加速浏览器”的下载页面,同时提供各种同类浏览器的下载按钮(实际上都是下载同一个安装包),并且为了增加传播的成功率,还专门弹出一个诱导性的提示来针对360安全卫士的查杀,试图骗取用户的信任使其主动退出360的防护。

任意点击一个下载按钮,最终下载的都是经过二次打包的某浏览器安装包,在用户运行后将释放锁主页的驱动木马。

该安装包释放的驱动木马名为fujianc.sys,主要功能即篡改和锁定浏览器主页。同时,为了躲避安全软件的查杀,该驱动使用了VMP壳进行保护。

一旦驱动成功加载,将会创建多个系统回调例程,用来拦截浏览器进程的启动,执行恶意代码。

该驱动主要通过修改浏览器的进程启动参数或者浏览器的访问URL,来篡改浏览器访问的主页,这样用户无论如何设置主页,都无法成功恢复自己想要的主页。

 

木马分析

木马的核心功能在于释放出来的驱动文件fujianc.sys,下面主要分析该文件的运行过程,整体的流程如图所示:

驱动木马会创建PsSetLoadImageNotifyRoutine回调,该回调函数是用来判断浏览器厂商,并且为不同浏览器添加不同的启动参数。接着Hook AFD.sys驱动的FastIoDeviceControl回调函数。该Hook函数是为了拦截包含特定参数的浏览器,修改其网络访问的内容,然后直接返回给浏览器,以达到锁定主页的目的。

1、   创建PsSetLoadImageNotifyRoutine回调函数

首先创建PsSetLoadImageNotifyRoutine回调函数,该回调函数就是主要的工作函数。该函数会判断不同厂商的浏览器,然后针对不同厂商浏览器有不同的拦截流程。

待劫持的浏览器列表

木马会遍历整个列表,然后匹配用户启动的浏览器,为浏览器添加特殊的命令行参数,这些特殊命令行会在AFD.sys驱动的被Hook函数中当做标志使用。用来给浏览器返回特定的包信息。

通过修改PEB中的ProcessParameters字段,添加浏览器参数

到此,PsSetLoadImageNotifyRoutine回调函数的主要工作就结束了。然后用户启动浏览器后,该驱动连接网络,下载加密数据,该数据就是AFD.sys的Hook函数要锁定的主页信息。(该加密数据以1024字节为间隔,保存数据,为了方便观察,去掉了1024字节的间隔)

2、   HOOK AFD.sys驱动FastIoDeviceControl回调函数

接着创建AFD.sys驱动的FastIoDeviceControl回调函数

Hook函数会拦截浏览器发送的post请求内容

然后通过解析post请求,判断是否是待劫持信息,最终设置全局标志位,方便为后续拦截http请求做准备。

通过上面设定的全局标志,判断是否需要拦截http请求。如果需要,那么就选择使用的拦截方式, 301跳转方式或者HTML文本方式。如果使用301跳转方式就会把解密的跳转URL格式化到http结构的Location字段。如果使用HTML方式,就会把解密的URL放入到src字段。

301方式跳转主页

HTML方式跳转主页

最终,通过该种方式,来达到锁定浏览器主页的目的,同时也使浏览器设置的默认主页失效。

 

信息挖掘

经过溯源发现,该类木马的传播主要通过以下几个域名,且大部分域名指向同一服务器ip:

进一步发现这些钓鱼下载站的资源都是经过二次打包的常用软件,且均会释放该类驱动木马。这些常用软件的种类比较全面,主要针对用户常用的下载需求。

比如二次打包的浏览器

PDF阅读工具

还有各类激活工具

此外我们还发现,该木马作者经常使用一些过期或者吊销的数字签名签发驱动木马程序。涉及的数字签名包括:

 

结语

360无需升级即可查杀该木马,建议用户保持安全防护软件开启;同时为了避免在钓鱼下载站踩雷,建议用户通过正规途径下载软件,切记不可轻信下载站的诱导提示关闭杀毒软件或添加信任运行报毒程序。

(完)