■王 明
盜號(hào)木馬分析與追蹤的詳細(xì)介紹
■王 明
在當(dāng)今互聯(lián)網(wǎng)遍布全球的時(shí)代,網(wǎng)絡(luò)已經(jīng)成為社會(huì)生活不可缺少的重要工具,人們?nèi)粘9ぷ鳌W(xué)習(xí)、交流以及各種經(jīng)濟(jì)交往,都借助網(wǎng)絡(luò)得以快速便捷的實(shí)現(xiàn)。然而,網(wǎng)絡(luò)犯罪也應(yīng)運(yùn)而生,并呈現(xiàn)急速猛增態(tài)勢(shì)。
盜號(hào)木馬是一段專(zhuān)門(mén)盜取受害人網(wǎng)絡(luò)賬號(hào)和密碼的惡意程序。盜號(hào)木馬通常經(jīng)過(guò)加密和加殼處理,具有一般程序所不具有的隱蔽性和頑固性。盜號(hào)木馬被植入受害人電腦后,一般通過(guò)記錄受害人的網(wǎng)絡(luò)賬號(hào)和密碼,并將其發(fā)送到指定的郵箱,其常見(jiàn)步驟如下。
1.掛馬與感染。盜號(hào)者一般把盜號(hào)木馬放在網(wǎng)頁(yè)上,或者利用網(wǎng)頁(yè)的JS腳本、ActiveX插件等功能,把盜號(hào)木馬下載到用戶電腦上。有時(shí)還把盜號(hào)木馬綁定到圖片、動(dòng)畫(huà)、視頻里,誘騙用戶點(diǎn)擊。有時(shí)把盜號(hào)木馬綁定到一些程序中,使用戶在不知不覺(jué)中上當(dāng)。中招的用戶,一般是瀏覽過(guò)一些八卦網(wǎng)站,被誘惑點(diǎn)擊過(guò)某些圖片、動(dòng)畫(huà)、視頻,或者運(yùn)行過(guò)某些來(lái)歷不明的程序。
2.潛伏與激活。盜號(hào)木馬技術(shù)在不斷翻新和發(fā)展,新型盜號(hào)木馬會(huì)把自身功能模塊(或者自身程序代碼)寫(xiě)入WINDOWS的系統(tǒng)文件中,如資源管理器EXPLORER. EXE,聲卡、顯卡的驅(qū)動(dòng)程序等,就此潛伏下來(lái)。即便是安全模式,只要開(kāi)機(jī),盜號(hào)木馬都會(huì)被XP系統(tǒng)加載。以前盜號(hào)木馬通常需要通過(guò)修改注冊(cè)表來(lái)啟動(dòng),現(xiàn)在則是自主加載,較之過(guò)去先進(jìn)得多。盜號(hào)木馬被加載后就被激活,現(xiàn)在的新型盜號(hào)木馬激活后沒(méi)有獨(dú)立的內(nèi)存進(jìn)程,而是把自身注入到正常的系統(tǒng)進(jìn)程SVCHOST.EXE中,因而即使檢查內(nèi)存進(jìn)程也看不到它。如,XP系統(tǒng)起碼有5個(gè)SVCHOST.EXE進(jìn)程,用于支持用戶上網(wǎng)功能,盜號(hào)木馬隨意找準(zhǔn)其中一個(gè)進(jìn)程,都可以躲藏進(jìn)去。
3.監(jiān)視與竊取。盜號(hào)木馬會(huì)自動(dòng)監(jiān)視用戶的活動(dòng),監(jiān)視用戶電腦內(nèi)存特定進(jìn)程,如qq程序、游戲程序的進(jìn)程,并記錄用戶在該進(jìn)程輸入的賬號(hào)、密碼等信息。有些盜號(hào)木馬會(huì)偷偷地主動(dòng)連接網(wǎng)絡(luò)并向外發(fā)送記錄到的信息,因此被殺毒軟件和防火墻發(fā)現(xiàn)。另一些設(shè)計(jì)巧妙的網(wǎng)游盜號(hào)木馬,則會(huì)以靜默方式等待,一直等到盜號(hào)者發(fā)出指令,才把記錄的信息發(fā)送出去。
木馬分析和追蹤的核心是如何找到犯罪嫌疑人的收信地址。通常通過(guò)盜號(hào)木馬代碼分析、木馬內(nèi)存分析、關(guān)鍵字搜索、網(wǎng)絡(luò)監(jiān)聽(tīng)試驗(yàn)等方法,對(duì)盜號(hào)木馬的收信地址進(jìn)行追蹤。
1.代碼分析法是對(duì)木馬取樣和脫殼解密,反匯編出木馬的原始代碼,找到木馬收信地址的解密函數(shù),最終找到木馬的收信地址,進(jìn)而鎖定木馬控制者。代碼分析容易掌握盜號(hào)木馬的整體結(jié)構(gòu)。隨著加密技術(shù)、加殼技術(shù)、免殺技術(shù)的發(fā)展,致使反匯編后的代碼內(nèi)很多加密數(shù)據(jù)無(wú)法直接獲取,必須找到重要數(shù)據(jù)的密文代碼和相應(yīng)的解密函數(shù)。這不僅增加了木馬分析的難度,也降低了木馬分析的效率,實(shí)戰(zhàn)中很難在較短時(shí)間內(nèi)達(dá)到專(zhuān)業(yè)的脫殼解密的代碼分析水平,很難迅速找到關(guān)鍵證據(jù)。
2.內(nèi)存分析法是基于原始程序代碼在磁盤(pán)文件中,一般以加密后的形式存在,只在執(zhí)行時(shí)在內(nèi)存中還原。這樣可以有效地防止破解者對(duì)程序文件進(jìn)行非法修改,同時(shí)也可以防止程序被靜態(tài)反編譯。內(nèi)存分析首先克服了對(duì)“活馬”的要求,也繞過(guò)了木馬的脫殼解密過(guò)程,而是當(dāng)木馬在內(nèi)存中執(zhí)行時(shí)提取相關(guān)執(zhí)行代碼和明文數(shù)據(jù),就能準(zhǔn)確找到木馬的收信地址,既能對(duì)木馬控制者進(jìn)行追蹤定位,同時(shí)方便前期的遠(yuǎn)程偵查取證和后期對(duì)犯罪嫌疑人電腦的勘驗(yàn)取證。犯罪嫌疑人往往是直接訪問(wèn)收信地址來(lái)獲取木馬回傳的網(wǎng)路賬戶密碼信件,其電腦內(nèi)往往有大量的訪問(wèn)收信地址的記錄,即使被刪除也能通過(guò)encase等取證軟件恢復(fù)。
3.關(guān)鍵字搜索法可以較直接地獲得盜號(hào)木馬的收信地址,無(wú)需上述繁雜的分析過(guò)程。由于盜號(hào)木馬在硬盤(pán)中一般是以加密后的形式出現(xiàn),所以無(wú)法直接通過(guò)encase搜索出結(jié)果。木馬內(nèi)存運(yùn)行的時(shí)候會(huì)自脫殼自解密,當(dāng)內(nèi)存和硬盤(pán)的虛擬緩存做頁(yè)面交換的時(shí)候,就會(huì)在硬盤(pán)虛擬緩存中留下痕跡。當(dāng)然不同盜號(hào)木馬的關(guān)鍵字是不同的,這個(gè)需要建立在對(duì)相同類(lèi)型的木馬的代碼分析歸納的基礎(chǔ)上。此外,虛擬緩存空間有限,頁(yè)面交換也很頻繁。如果不及時(shí)對(duì)受害人電腦進(jìn)行搜索,就會(huì)大大降低搜索命中的概率。
4.監(jiān)聽(tīng)實(shí)驗(yàn)法是在實(shí)驗(yàn)平臺(tái)上,搭建網(wǎng)游登錄環(huán)境,在登錄網(wǎng)游的同時(shí)對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行監(jiān)聽(tīng),分析嗅探到的網(wǎng)絡(luò)數(shù)據(jù)包,找到隱藏在其中的發(fā)送用戶名和密碼的網(wǎng)絡(luò)數(shù)據(jù),進(jìn)而找到接收方的IP地址。這種方法能夠較直接地找到木馬的回傳地址,可以直接跟蹤木馬的控制者。但需要搭建網(wǎng)絡(luò)賬號(hào)登陸環(huán)境,分析大量的網(wǎng)絡(luò)數(shù)據(jù)包。還要求木馬必須為“活馬”(沒(méi)有被相關(guān)服務(wù)器端封殺),所得到的也只是收信方的IP地址,不是具體的箱子地址,無(wú)法直接進(jìn)行遠(yuǎn)程偵查取證。
在實(shí)際辦案中,可以根據(jù)案件實(shí)際情況采用以上一種或幾種方法,在木馬案件中有效而又快速地發(fā)現(xiàn)犯罪嫌疑人的收信地址,整個(gè)案件才能有突破口,問(wèn)題也就迎刃而解了。