天天看點

木馬技術補充:木馬加殼

 說了好幾次,要發個加殼的教程,一直都太懶,隻好把别人寫的簡單整理一下,大家莫怪哦。

  =====================================

其實在我們從網站上下載下傳的許多木馬,都是被開發者處理過并加過殼的。

加殼的全稱應該是“可執行程式資源壓縮”,是保護可執行程式最有效的手段之一。

所謂加殼,其實是指利用特殊的算法,對EXE、DLL檔案中的資源進行壓縮的方法,這個壓縮之後的檔案可以獨立運作,解壓過程完全隐蔽,都在内在中完成。

解壓原理:是加殼工具在檔案頭裡加一段指令,告訴CPU怎樣才能解壓自己。由于現在的CPU速度是很快的,是以在解壓過程中你一般發現不了運作速度有下降。

當你加殼後的程式執行時,就相當于給你的可執行程式加上個外衣。使用者執行的隻是這個可執行程式的外殼程式。當你執行這個程式序的時候,殼就會把原來的程式在記憶體中解開,解開後再把控制權交給真正的程式。

但加殼并不同于完全的解壓縮的壓縮,像RAR和ZIP這些壓縮工具解壓時需要對磁盤進行讀寫,而殼的解壓縮是直接在記憶體中進行的。

加殼的用途有二:

一、防止反跟蹤,即防止程式被人跟蹤高度,防止源代碼被窺視。

二。将惡意程式包裝起來,逃過殺軟監視。

==================

殼分為壓縮殼、密碼殼、加密殼三種。顧名思義,壓縮殼隻是為了減小程式體積對資源進行壓縮,常見的壓縮殼包括FSG、ASPack、UPX、北鬥等;加密殼也就是常說的保護殼、猛殼,它對程式輸入表等内容進行加密保護,具有良好的保護效果,常見的加密殼包括ASPROTECT、ACPROTECT、PELock、幻影等;密碼殼平時使用得不多,加密殼的程式隻有在正确輸入密碼後才能運作。

目前比較流行的加殼工具有:UPX、WWPACK等等。使用這些程式隻需進行簡單的設定就可以對軟體進行加殼。

那麼,是不是加了殼的木馬就一定能躲過任何防毒軟體的監控呢?

由于在程式執行之前,由于殼的保護,防毒軟體的檔案監控一般不能發現殼内的源代碼。但一旦程式執行以後,完成脫殼過程,那麼跟蹤記憶體的防毒軟體會很快發現記憶體中正在運作的木馬,最後将之殺掉。

===================

打開ASPack,在打開檔案界面中,把木馬添加進來。完成添加後,将自動跳轉到“壓縮”界面中,加殼開始。

完成加殼後,單擊“壓縮”界面中的“測試”按鈕,以測試是否可以運作。

如何識别加殼的木馬

運作一個小軟體PEiD,點檔案右側的打開(省略号圖示)。它幾乎可以檢測到所有的被打包、掩藏和編譯的PE檔案。它的偵測數量可達450種之多。甚至可以檢查出木馬檔案是用什麼程式編寫的。

另外language2000也是一款非常強大的木馬殼檢測工具。

如何脫殼

脫殼是程式員的最愛(剽竊源代碼)。由于有些木馬是要先脫殼以後再進行加殼的,是以脫殼對我們而言也有有意義的。

首先要知道,軟體是用什麼程式進行加殼的,這樣我們才友善脫殼。

一、UPX脫殼:

把加殼後的程式添加進來,單擊“解壓縮”繼續。

脫殼到一半時,會彈出“另存為”對話框,在檔案名中輸入檔案名,儲存即可。

為什麼我加的殼逃不過病毒的眼睛?

 如今黑客使用病毒加殼,主要是對使用的木馬等惡意程式進行保護,進而避免它們被防毒軟體所清除。比如大名鼎鼎的冰河木馬,原版本被作者用UPX加殼,可是這種加殼方式已經被防毒軟體列入封殺名單。

是以人們現在要使用冰河的時候,首先需要将原來的UPX殼脫掉,接着通過修改特征碼、修改程式入口位址、加花指令等不同的方法進行免殺操作,然後再加殼進行保護,這樣一個免殺的冰河木馬就誕生了。當然有的人可能不會去進行麻煩的免殺操作,是以隻要對脫殼的服務端程式進行多層加殼即可,不過一般都是先加加密殼,再加壓縮殼,順序不能颠倒。

====================

如何測試我的木馬是否免殺?

[url]www.virustotal.com[/url]

這個是世界反病毒網,裡邊有很多款世界著名殺軟,免費線上查毒。如果你想測試你做的客戶段的免殺程度的話,就來這裡測試好了

注意:上傳樣本的時候一定要選擇“不發送病毒樣本”,不然就會上報給殺軟公司,這樣你辛辛苦苦做的免殺就白做了。

本文轉自 霜寒未試 51CTO部落格,原文連結:http://blog.51cto.com/51bbs/148231,如需轉載請自行聯系原作者

繼續閱讀