病毒替換Windows系統(tǒng)文件早已不是什么新鮮事了。但是替換應(yīng)用程序的組件卻一直很少見(jiàn),這多半是因?yàn)橛|發(fā)較難或者通用性不夠。過(guò)去我們見(jiàn)到過(guò)的大部分相關(guān)案例是病毒會(huì)替換QQ的組件來(lái)盜取用戶的QQ秘密。而最近,AVG截獲到一種會(huì)替換國(guó)內(nèi)流行軟件的組件來(lái)實(shí)施惡意行為。而這些流行軟件中包括了迅雷、傲游、阿里旺旺等幾乎裝機(jī)必備的軟件。
這款病毒首先會(huì)從網(wǎng)上下載一個(gè)配置文件,里面包含了一些重要信息,包括替換哪些軟件的組件,如何去替換。
下載完后,病毒會(huì)安裝兩個(gè)計(jì)時(shí)器,循環(huán)執(zhí)行惡意代碼。
在這段惡意代碼中,病毒首先解析剛才下載下來(lái)的配置文件,找到要修改的程序的路徑信息。
然后檢查要替換的組件的描述信息(判斷是否已經(jīng)被替換過(guò))和版本信息,來(lái)判斷是否需要替換。
如果確定要替換,就從網(wǎng)上下載一個(gè)相關(guān)的事先修改好的文件,然后終止該組件所屬程序的進(jìn)程,備份原有組件,然后執(zhí)行替換。
到目前為止,病毒已經(jīng)成功將正常組件提換成了惡意組件。接下來(lái)讓我們看看惡意組件做了什么事情。
Dll的main函數(shù)代碼如下:
這段代碼不難理解。病毒首先在注冊(cè)表的RUN鍵值里添加一項(xiàng),保證被替換的組件所屬的程序能自動(dòng)運(yùn)行。然后檢測(cè)當(dāng)前系統(tǒng)環(huán)境下是否存在互斥體“Pidalce”。如果不存在,表示病毒母體沒(méi)有運(yùn)行,則病毒會(huì)檢測(cè)程序所在路徑下是否存在母體文件,如果不存在,就從網(wǎng)上下載一個(gè)新的下來(lái),然后執(zhí)行該母體。
接下來(lái),修改后的組件會(huì)在IE收藏夾和桌面上添加一些惡意的鏈接和快捷方式。
最后,修改后的組件還會(huì)加載正常的組件。
那么修改后的組件是怎么處理dll的導(dǎo)出函數(shù)的呢?請(qǐng)看下面的代碼:
我們?cè)谏厦嫣岬綈阂饨M件會(huì)加載正常的組件,所以在惡意組件的導(dǎo)出函數(shù)中,惡意組件會(huì)獲得正常組件的同名導(dǎo)出函數(shù)的地址,然后執(zhí)行。這樣就能確保程序能正常運(yùn)行了。
從病毒下載下來(lái)的配置文件中我們看到,這個(gè)病毒會(huì)替換以下流行程序的組件:
Thunder(迅雷)
PPStream
PPLive
StormPlayer(暴風(fēng)影音)
AliWangwang(阿里旺旺)
TTPlayer(千千靜聽(tīng))
SogouExplorer(搜狗瀏覽器)
Maxthon(傲游)
這些都是國(guó)內(nèi)非常受歡迎的軟件。目前AVG已經(jīng)將這種病毒檢測(cè)為Clicker,已保證這些軟件的安全使用。想要得到更加全面的保護(hù),請(qǐng)點(diǎn)擊www.avg.com .