以前介紹過(guò)很多免殺的方法,使用這些方法對(duì)上興之類的木馬加密加殼后,可以順利突破國(guó)內(nèi)常見的殺毒軟件查殺。但是也有的同學(xué)發(fā)現(xiàn),有一些特殊的木馬并不是單文件的,在進(jìn)行加密加殼后,生成的木馬客戶端主程序文件是不會(huì)被殺了,但木馬運(yùn)行時(shí)會(huì)釋放出相應(yīng)的DLL文件或其它資源文件,會(huì)被殺毒軟件查殺,從而導(dǎo)致木馬無(wú)法正常工作。這篇文章就教大家應(yīng)對(duì)這種情況,讓所有木馬釋放的文件也徹底免殺!
免殺失敗之因
“BYshell 2008”是我比較喜歡用的一款木馬之一,它可以通過(guò)恢復(fù)SSTD表突破一些簡(jiǎn)單的主動(dòng)防御功能安全工具。在使用絕殺工具進(jìn)行免殺時(shí),發(fā)現(xiàn)順利的躲過(guò)了殺毒軟件的查殺。然而當(dāng)我在執(zhí)行木馬時(shí)。電腦上安裝的KV2009彈出了提示對(duì)話框,發(fā)現(xiàn)病毒文件“byshell32.sys”。關(guān)閉殺毒軟件后進(jìn)行檢測(cè),發(fā)現(xiàn)“byshell32.Sys”文件原來(lái)是Byshell木馬的服務(wù)安裝文件。
看來(lái)木馬服務(wù)端主程序文件免殺成功,但是木馬服務(wù)端程序運(yùn)行時(shí)釋放的“byshell32.sys”文件還是會(huì)被殺毒軟件查出來(lái)。直接對(duì)木馬服務(wù)端程序文件進(jìn)行加密加殼,免殺效果不夠徹底,只有再次進(jìn)行徹底的免殺。
木馬服務(wù)端資源分析
BysheIl木馬生成器目錄下有一個(gè)名為“Cache”的文件夾。在其中有一個(gè)名為“ByServer.dat”的文件,這個(gè)文件就是木馬服務(wù)端程序的基礎(chǔ)文件。木馬生成器在經(jīng)過(guò)用戶的配置之后,將相應(yīng)的配置信息加入到此文件中。最后才生成木馬服務(wù)
查殼脫殼
在分析基礎(chǔ)文件前,首先要進(jìn)行查殼脫殼操作,否則無(wú)法查看到基礎(chǔ)文件中的資源,也無(wú)法導(dǎo)出需要修改的資源??捎肞EiD進(jìn)行查殼,這里檢測(cè)的結(jié)果表明Byshell 2008的基礎(chǔ)文件沒有加殼,是用“MicrosoftVisual C++7.0”語(yǔ)言編寫的。在對(duì)其它木馬免殺時(shí),如果發(fā)現(xiàn)基礎(chǔ)文件加了殼。一定要先進(jìn)行脫殼步驟。具體的操作這里就不多說(shuō)了??蓞⒖家郧暗钠平馕恼隆g覽導(dǎo)出資源
運(yùn)行資源瀏覽修改軟件“Restorator2007”,將木馬服務(wù)端基礎(chǔ)文件“ByServer.dat”拖入到左側(cè)邊欄中,將自動(dòng)導(dǎo)八分析基礎(chǔ)文件中的所有資源。在左側(cè)資源項(xiàng)目中展開“DLL”,可以看到其下名為“BYSHELLDLL”的資源項(xiàng)目,點(diǎn)擊該項(xiàng)在右側(cè)的資源查看器中可以查看到資源文件內(nèi)容?!癇YSHELLDLL”資源內(nèi)容就是最終生成服務(wù)端程序釋放的“byshell32 sys”文件。右鍵點(diǎn)擊“BYSHELL DLL”,在彈出菜單中選擇“導(dǎo)出”→“導(dǎo)出為”→“導(dǎo)出為”命令,在彈出對(duì)話框中將資源保存為“test.dll”。
修改免殺導(dǎo)出資源
現(xiàn)在木馬服務(wù)端釋放的“byshell32.sys”文件對(duì)應(yīng)資源文件被導(dǎo)出了。用殺毒軟件對(duì)導(dǎo)出的“test.dll”文件進(jìn)行查殺掃描,殺毒軟件提示發(fā)現(xiàn)病毒,說(shuō)明“test.dll”文件是被查殺的,可以有針對(duì)性的對(duì)其進(jìn)行免殺操作。
資源查殼脫殼
其實(shí)對(duì)導(dǎo)出資源的免殺,與對(duì)普通木馬服務(wù)端程序進(jìn)行免殺差不多的,同樣的,在對(duì)導(dǎo)出資源進(jìn)行免殺前首先要查殼脫殼。這樣才能方便后面的免殺操作。這里對(duì)Byshell導(dǎo)出的“test.dll”文件進(jìn)行查殼,發(fā)現(xiàn)檢查信息為“Microsoft VisualC++v7.1 DLL”,說(shuō)明這是一個(gè)VC++的DLL調(diào)用資源,沒有進(jìn)行加殼可以直接進(jìn)行免殺。如果在免殺其它木馬時(shí)。發(fā)現(xiàn)導(dǎo)出資源加了殼。那么就必須先進(jìn)行脫殼操作。
資源免殺
既然導(dǎo)出資源沒有加殼,我們就選擇直接對(duì)其進(jìn)行加壓縮加密殼“Themida v1.8.55”。這個(gè)殼的免殺效果依然非常好,對(duì)付各2009版的殺毒軟件免殺成功率極高。
運(yùn)行“Themlda v1.8.5.5”加殼工具,在“InputFilename”中瀏覽指定導(dǎo)出的DLL文件,取消對(duì)“Same asinput”項(xiàng)的選擇。在“Output Filename”中瀏覽指定加殼后的文件名路徑。然后點(diǎn)擊左側(cè)工具欄中的“ProtectionOptions”中勾選所有加密保護(hù)項(xiàng)目。
最后點(diǎn)擊工具欄上的“Protect”按鈕。開始對(duì)DLL文件進(jìn)行加密加殼免殺。加殼成功后,用殺毒軟件檢測(cè)剛才加殼生成的DLL文件,提示未檢測(cè)到病毒,說(shuō)明資源文件免殺成功。
導(dǎo)入免殺資源
DLL資源文件免殺成功后,就要將其重新導(dǎo)入木馬服務(wù)端生成文件中。導(dǎo)人資源時(shí),不能使用“Restorator 2007”了,需要使用另外一個(gè)資源修改工具“ResScope v1.6”(下載地址:http://www.greendown.cn/soft/3613.html)。當(dāng)然。在前面導(dǎo)出資源時(shí)。其實(shí)也可以使用“ResScope v1.6”的,只不過(guò)“Restorator 2007”比較直觀一些而已。
運(yùn)行“ResScope v1.6”,將Byshell的服務(wù)端基礎(chǔ)文件“ByServer.dat”拖動(dòng)到左側(cè)邊欄中,展開“DLL”項(xiàng),選擇其中的“BYSHELL_DLL”。然后點(diǎn)擊菜單“文件”→“導(dǎo)入資源”,瀏覽選擇剛才加過(guò)殼的DLL文件,確定后即可導(dǎo)入資源文件。此時(shí)“BYSHELL_DLL”項(xiàng)目上會(huì)有一個(gè)紅色的標(biāo)記,表示資源項(xiàng)目未保存。點(diǎn)擊工具欄按鈕“另更當(dāng)前資源”。即可保存導(dǎo)入的免殺DLL了。
木馬徹底免殺
運(yùn)行Byshell木馬生成器,重新生成一個(gè)木馬服務(wù)端程序,此時(shí)的Byshell木馬服務(wù)端程序是在DLL資源加殼的情況下生成的,本身并不能免殺。因此,我們還需要對(duì)生成的木馬服務(wù)端程序繼續(xù)加殼進(jìn)行免殺。免殺成功后,此時(shí)木馬才是真正的徹底免殺了,木馬在運(yùn)行過(guò)程中釋放的“Byshell sys”文件,由于事先已經(jīng)加過(guò)了殼,因此殺毒軟件同樣視而不見!