三個有趣的脫殼例子
【
ChaMd5安全團隊所有文章均來源實戰,為保證廠商安全信息,文章內容以思路為主。
需要轉載,請先聯繫ChaMd5安全團隊授權。
未經授權請勿轉載。
】
最近看了youtube上的一些視頻教程,看到了幾個有趣的脫殼方式。這裡介紹下。具體的視頻教程在MalwareAnalysisForHedgehogs和hasherezade的youtube頻道下面。
案例一
工具:python、HxD
樣本:https://www.hybrid-analysis.com/sample/a6cbeeecfb50bf94499547fbf0adc6451326be45a16462f9056eaba2342fcf2c?environmentId=100
我們知道有一些殼會用一個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
樣本:https://www.hybrid-analysis.com/sample/008c4bd6ee834d113cfc693af0ea90396eaa47e860bcdd567ffd964b57434e1d?environmentId=100
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
樣本:https://www.hybrid-analysis.com/sample/482a8b7ead1e07ac728e1e2b9bcf90a26af9b98b15969a3786834d6e81d393cd?environmentId=100
我們知道有一些腳本是在exe文件裡面的。這裡提供的樣本中就wrap了一個.bat腳本。
對於這個樣本來說,關鍵的點就是在「WriteFile」這裡下斷點了。因為最終樣本會將腳本寫到磁碟上去。
如圖,找到那個Buffer然後複製出來。
改一下擴展名就好了,這就是那個腳本。
http://weixin.qq.com/r/YTtDW3rE4yecrT44925z (二維碼自動識別)
今天天氣真好,繼續發招聘:
華為
風控分析工程師
http://www.chamd5.org/jobdetail.aspx?id=124
安全滲透工程師
http://www.chamd5.org/jobdetail.aspx?id=125
高級安全工程師
http://www.chamd5.org/jobdetail.aspx?id=126
安全運營工程師
http://www.chamd5.org/jobdetail.aspx?id=127
安全運維工程師
http://www.chamd5.org/jobdetail.aspx?id=128
推薦閱讀:
※Python3學習系列(一):Scrapy在Python3環境下的安裝
※網友發布違法文檔被拘留
※2018年4月10日推薦
※法律法規、採購中的風險和安全教育(Day007)
TAG:網路安全 |