標籤:

三個有趣的脫殼例子

ChaMd5安全團隊所有文章均來源實戰,為保證廠商安全信息,文章內容以思路為主。

需要轉載,請先聯繫ChaMd5安全團隊授權。

未經授權請勿轉載。

最近看了youtube上的一些視頻教程,看到了幾個有趣的脫殼方式。這裡介紹下。具體的視頻教程在MalwareAnalysisForHedgehogs和hasherezade的youtube頻道下面。

案例一

工具:python、HxD

樣本:hybrid-analysis.com/sam

我們知道有一些殼會用一個key去和最初的源文件進行xor運算。那麼這種情況下只要找到那個key就可以和樣本xor,從而有機會直接在樣本的某個部位找到那個PE文件然後dump出來。將我們的樣本在HxD裡面打開。

這裡我們看到了一個反覆的字元串」W..1..4..3..5..8.....」。所以我們猜測這就是那個key。然後看我選中的那段內容,開頭是「.Z」,這讓我們想起來PE文件的「MZ」頭。我們猜測的key第二個位元組是「.」也就是「00」,而「00」和「Z」進行xor的話還是「Z」,所以猜測這裡就是PE文件的開頭了。

把這部分內容複製出來。然後採用一個python腳本來進行xor運算。

運行腳本後,我們得到了這個實際的樣本。

案例二

工具:PE-sieve

樣本:hybrid-analysis.com/sam

PE-sieve是hasherezade開發的一個能從內存裡面dump出滿足PE結構內容的工具。根據作者本人說這個工具能夠解決大多數常規的殼,更多的使用需要大家自行探索了,這裡拋磚引玉介紹一個簡單的案例。

將我們的樣本跑起來然後獲得樣本的PID之後用工具dump出來。

獲得了一個exe。但是如果用pe-studio打開分析下導入表這些內容會發現似乎仍然不是最終的payload,並且似乎還有一個殼在那裡。那麼就再跑一下這個樣本然後用OD附加上去。

在OD裡面看下內存發現了一個有意思的節。

這裡我們看到蠻有趣的一點就是一些節名稱和一個「F8」偏移,所以可以猜測這是一個PE結構了。手動加上「MZ」和「PE」頭,如圖所示。

這個時候PE-sieve就可以識別這個結構了。再次運行一下並使用這樣的命令「PE-sievePID /imp」可以自動修復導入表。

這裡我們看到內存220000處開始的PE結構已經出來了。導入表也已經修復了。

案例三

工具:OD、HxD

樣本:hybrid-analysis.com/sam

我們知道有一些腳本是在exe文件裡面的。這裡提供的樣本中就wrap了一個.bat腳本。

對於這個樣本來說,關鍵的點就是在「WriteFile」這裡下斷點了。因為最終樣本會將腳本寫到磁碟上去。

如圖,找到那個Buffer然後複製出來。

改一下擴展名就好了,這就是那個腳本。

weixin.qq.com/r/YTtDW3r (二維碼自動識別)

今天天氣真好,繼續發招聘:


華為

風控分析工程師

chamd5.org/jobdetail.as

安全滲透工程師

chamd5.org/jobdetail.as

高級安全工程師

chamd5.org/jobdetail.as

安全運營工程師

chamd5.org/jobdetail.as

安全運維工程師

chamd5.org/jobdetail.as


推薦閱讀:

Python3學習系列(一):Scrapy在Python3環境下的安裝
網友發布違法文檔被拘留
2018年4月10日推薦
法律法規、採購中的風險和安全教育(Day007)

TAG:網路安全 |