瑞星劫持浏览器主页分析_集群智慧网络安全云
全国客户服务热线:4006-054-001 疑难解答:159-9855-7370(7X24受理投诉、建议、合作、售前咨询),173-0411-9111(售前),155-4267-2990(售前),座机/传真:0411-83767788(售后),微信咨询:543646
企业服务导航

瑞星劫持浏览器主页分析

发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370


瑞星劫持浏览器主页分析

一 现象 最近打开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

瑞星劫持浏览器主页分析