一 现象
最近打开IE浏览器,发现地址栏是锁定的默认主页,但是显示的网页内容确是瑞星安全导航。
通过分析,发现瑞星是通过在驱动层注册进程回调,在应用层启动服务监控创建的进程,当发现浏览器启动,且打开的网址是劫持网址,会对浏览器默认主页进行劫持。
二 分析
(1) 进程监控分析
重点分析了一下瑞星服务进程ravmond的进程回调处理函数ExeMonCallBack,其关键部分如下
首先通过驱动层上报的进程启动信息去获取一些关键信息,通过ProcessID获取父进程的全路径,通过Process的全路径去获取当前启动的进程是否是需要劫持的浏览器进程。
如图,我们看到ravmond基本劫持了常用的所有浏览器,且设置了一个开关,在开关开启的时候对type为10,10000,20000000的浏览器不做劫持,对应的浏览器分别为IE,QQ浏览器,juzi浏览器。通过调试发现目前开关并没有打开。
之后通过一个Event事件来防止重入。Event事件的名字格式为{RsDrvmcl_sessionid_browsertype} 例如主动打开IE浏览器,Event的名称为{RsDrvmcl_1_00000010},在执行劫持操作时创建event,在获取到浏览器类型成功后去打开event,如果打开成功,说明当前正在对该浏览器主页做劫持,本次打开不做处理。
如果当前启动的进程是目标浏览器进程,ravmond会对当前进程的命令行以及父进程做是否需要劫持判断,对命令行的判断主要分为三步:
1,当前浏览器打开的URL是否为Rising导航,如果是不做劫持。
2,当前浏览器打开的URL是否为特定的hao123带渠道导航,如果是不做劫持。
3,当前浏览器打开的URL是否在预置的导航网址列表中,如果是开始劫持。
通过dump内存看到,瑞星预置的劫持导航将近100条,里面不仅包含用户常用的主流导航(hao123 baidu 搜狗导航 360导航 2345导航 QQ导航),还包含大量的小导航,以及跳转站例如123.dh136.com,123.hao245.com等等。除了对导航网址进行判断以外,还对常见的桌面快捷方式打开参数等进行了劫持,如下图所示。
主页劫持只针对由explorer kdesk qmlaunch mxstart进程启动的浏览器生效。
在上述条件都满足的情况下,创建一个线程启动假的浏览器
线程函数里面主要做了两部分的工作,一部分是通过浏览器类型去获取对应的假浏览器路径,一部分是创建进程。
通过分析,可以发现各浏览器对应的假浏览器进程如下
360chrome.exe => wsafechb.exe
360se.exe => wsafetqa.exe
qqbrowser.exe => wsafesdb.exe
SogouExplorer.exe => wsafeeid.exe
liebao.exe => wsafeche.exe
Maxthon.exe => wsafesda.exe
UCBrowser.exe => wsafechc.exe
chrome.exe => wsafea.exe
iexplore.exe => wsafeei.exe
…
Vista以后操作系统增加了session隔离机制,一个用户对应一个独立的session,服务程序运行在session0当中,用户程序运行在session1 session2…里面,由于当前是在服务进程中,要从服务中启动一个具有桌面UI交互的应用,需要使用CreateProcessAsUser,并手动设置环境块。
(2) 浏览器劫持分析
浏览器劫持主要是通过使用假浏览器进程创建一个webbrowser替换掉原有的webbrowser来实现的,我以IE浏览器为例来分析。
在满足劫持条件后,瑞星服务程序会启动一个假的浏览器进程,IE对应的是wsafeei.exe。
wsafeei.exe首先先创建一个名字为AXWIN Frame Window的窗口。
然后以新建窗口为父窗口,创建一个webbrowser,并创建线程将新创建的窗口替换到IE中。
线程中循环等待IE界面出现,并获取IE的”Frame Tab” “TabWindowClass” “Shell DocObject View”三个窗口的句柄,如果9秒内IE没有启动,则放弃劫持。
将wsafeei创建的窗口的父窗口设置为TabWindowClass,获取TabWindowClass的位置以及大小,对应设置 wsafeei创建的窗口为对应的位置和大小,将IE的ShellDocObjectVIew窗口隐藏掉,显示wsafeei创建的窗口,对应的webbrowser打开瑞星导航。为了不影响IE的正常使用,其注册了消息过滤函数,处理IE相关的消息。
到此为止,就成功的劫持掉了IE的默认主页。
三 结论
通过在服务进程中监控进程启动,替换浏览器的窗口来劫持主页,可以避免与主页保护软件的正面对抗,达到劫持效果,思路令人佩服。如果用在正规的主页保护技术上那就更好了。
*本文作者:GATA,转载请注明来自Freebuf.COM
-
周鸿伟这个公司还没死?看来我得加把劲啊
-
瑞星? 好老的词了。 别分析了,生活已经不易,赚口饭钱都要被你们扒!
-
你猜我是谁@ GATA 安装完成之后,在设置页面也有可以设置的地方,作为作者,这样直接把他描述成一个像恶意软件一样的软件,不严谨
不容错过
- 黑客是如何“一键”盗取汽车的?(附演示视频)饭团君2016-05-09
- Windows 10新变化:系统自动更新将“强制化”,用户不再可选dawner2015-07-20
- Bash漏洞再次演进:缓冲区溢出导致远程任意命令执行xia0k2014-09-29
- 漏洞盒子:苏宁项目榜单公布,iPhone6花落谁家FB客服2014-10-10
0daybank
已有 57 条评论
我想知道,这种行为是不是可以判定为恶意软件,大规模传播恶意软件,都不用负法律责任的么?@工信部@腾讯@百度@360
@ 哦哈哈 按照常规 应该被杀了
瑞星? 好老的词了。 别分析了,生活已经不易,赚口饭钱都要被你们扒!
@ softbug 知道人家是好老的词还不给人家赚口饭钱,生活已经不易,各位黑帽白帽绿帽赏条活路!
@ softbug 所以?让瑞星多劫持下?
@ sery 所以你别装就是了 你装个360不被劫持?金山驱动精灵不劫持?鲁大师不劫持?
这个公司还没死?看来我得加把劲啊
@ 周鸿伟 活的好好的
@ 周鸿伟 360还收安全的应届么
@ 周鸿伟 看到你如此上进,我是不是该回金山写毒霸?
假的IE这个很强势呀
瑞星? 好老的词了。 别分析了,生活已经不易,赚口饭钱都要被你们扒!
人家是在设置选项里面可以设置的,这文章只字不提
@ 你猜我是谁 测试过 安装之后没有做任何设置 就会直接抢
@ GATA 安装第一步的时候,就有设置勾选,你仔细看看
@ GATA 安装完成之后,在设置页面也有可以设置的地方,作为作者,这样直接把他描述成一个像恶意软件一样的软件,不严谨
瑞星? 好老的词了。 别分析了,生活已经不易,赚口饭钱都要被你们扒!
瑞星:劫持个主页还碰到你这样的,算我倒霉
@ zhangquandan 谁让他劫持我
瑞星? 好老的词了。 别分析了,生活已经不易,赚口饭钱都要被你们扒!!
瑞星? 好老的词了。 别分析了,生活已经不易,赚口饭钱都要被你们扒!
瑞星? 好老的詞了。 別分析了,生活已經不易,賺口飯錢都要被你們扒!
瑞星? 好老的詞了。 別分析了,生活已經不易,賺口飯錢都要被你們扒!
瑞星? 好老的詞了。 別分析了,生活已經不易,賺口飯錢都要被你們扒!
瑞星? 好老的詞了。 別分析了,生活已經不易,賺口飯錢都要被你們扒!
这种劫持没啥技术含量呢,一下子就被拔出来了
@ 浪子_三少 目前看 只有电脑管家可以对抗
@ GATA 是因为现在没几个人装瑞星
瑞星? 好老的詞了。 別分析了,生活已經不易,賺口飯錢都要被你們扒!
这个流氓还在呀?
可我并没有下载360啊。。。删了,再从桌面拉上来一个快捷键到任务栏上
有办法解决么?
@ FreeBuf 现在试了几款杀软 安装电脑管家可以搞定
百度软件中心下载的adobe pdf 中了瑞星杀毒,卸载了还继续弹窗!~
@ 浅龟泽 没卸载干净 有残留 用其他杀软清理一下
居然还活着
流氓超级进化[二哈]这货还没死?

@ 京都樱菊 一直都活的很好
劫持新高度吗
所以到底谁是流氓
@ 湖北凌辉峰科技 你猜
我一直以为他们是一家杀毒软件公司呢
瑞星居然还活着!
还好我不用windows
瑞星不是那个做电子宠物的么?
兄弟,我这里招人,有兴趣吗?
@ zhouws 有什么福利 美女多吗
@ GATA 东莞中潜水
@ zhouws 我要去可以么
图片评论
你从哪里来我的朋友
浏览器本身就后门多的是没公布直接攻击用户,一个劫持有什么奇怪,这年头为了生活只能这样啊,只要用就是不安全,想安全就不用很简单,
评论占了页面的一半
百度表示我们很合理
作者在用我的电脑管家?管家团队这个月多发鸡腿。
@ 马化腾 能不能让他们给我充点钻
请原谅,在杀毒能力方面,360就是个渣,根本不配与瑞星相提并论,360只不过是安全行业做的比较全面罢了,那个所谓的360杀毒,用的全是别人的引擎,有的病毒根本就无法应对,还不如手动查杀来的快,360杀毒就是一个大写的垃圾