(黃獻德) Hsien-De Huang | E-Mail:TonTon (at) TWMAN.ORG | TonTon (痛痛)
Malware Analysis Network in Taiwan (MiT) | 惡意程式分析網在台灣 (抬丸郎)
Deep Learning (深度學習), Malware Analysis (惡意程式分析), Ontology (知識本體)
Android Reverse Engineering (Android 逆向工程), Type-2 Fuzzy Logic (第二型模糊邏輯)

ONE PIECE (海賊王)

ONE PIECE (海賊王)

2013年8月23日

Detect & Compare if system files have modified by md5deep & ssdeep

嗯 ! 這是之前嘗試過的方法,不過後來評估過後都不怎麼合適 ...

Build python-ssdeep with ssdeep2.9 on Python 2.7.2 of Cent OS

Integrate Pyinotify with NFS of WINDOWS to Monitor Behavioral

因為第一個只是要用來判別是否新收到的樣本是否之前有分析過
第二個則是要監控系統檔案是否有變化,但這最後得靠 Samba 跟 AIDE 
一來一往的會把流程複雜化 ... 所以最快的方法就是直接判斷那些檔案被修改過這樣 !
主要也是因為最近一直在想到底那邊可以再改善這樣 !


所以,要做的就是在執行惡意程式樣本前先對系統檔案做一次檢查,把其hash值做一次比對基礎,然後執行完了之後再做比對,這樣某些層面就可以知道那些檔案 " 可能 " 被修改過 ... 未來再去處理到底那個檔案被修改後是非常嚴重這樣 ! @_@

當然要怎操作請務必記得自己去研究一下上面兩個官網寫的文件內容 ...

md5deep 我的做法是用 -l -r C:\HashTest\* 來產出所有資料的 md5 值 然後存在某txt檔裡
C:\>HashCheck\md5deep.exe -l -r C:\HashTest\* > C:\md5deep.txt

dafa9e0ed4d49818eaf103da0c208760  C:\HashTest\03.txt
3164d335f7ed8aa0df3f33d7b9fef014  C:\HashTest\03_application.txt
ad712c56308a5818ca418acc76f4ec23  C:\HashTest\03_security.txt
5341860e38265c66e2e9eb7857b0f322  C:\HashTest\DumpEventLog.bat
82c11e6ff007811ccf5752cbb76c1575  C:\HashTest\HashCheck.bat
abad1c3de5764133fcf6011e1a1ba2d1  C:\HashTest\HashCompare.bat

ssdeep 則也是一樣把所有檔案都先做出 hash 值,然後產出下面那些值
C:\>HashCheck\ssdeep.exe -b C:\HashTest\* > C:\ssdeep.txt

ssdeep,1.1--blocksize:hash:hash,filename
24576:3XrrxPKfO5MLF/yndH7QaWf0inpAJPyHowF2i4Q7unHSL/hBpgdCRmgrrbCU5bNG:V,"03.txt"
24576:VGIh6JVO//peRXhweRON5AVY0v1bpR2wUfVkVnx/ir5WWhqZFP7dxonODRmsQaiB:VGIh6JVO//peRXhweRON5AVY0v1bpR2t,"03_application.txt"
24576:xAlUoBMHDuFQ6W8amFUtoZAS8TiRar7R61bELvEOr37VZLbxkI77f5NdARZfLcVH:zU6yLI,"03_security.txt"
6:htqYDfWtNrdoQGdRV5qYDfWtNrdoQGDiDpMqYDfWtNrdoQGmK:aYWzrOQGdTMYWzrOQG2DpYWzrOQG3,"DumpEventLog.bat"
3:o4DZAVLkFZRTAIOcpW/Co+f5SLwst7AIAurVHOvV5H:ouZwYxTE6o+KhhmuhOv/,"HashCheck.bat"
3:o4DZAVLzRy/CF+kFn0RBMDU87O+f5SLwWNHjmLLb5ukDKGlVHR:ouZwvRy6xFn0nMtK3FaLLb5ukt9R,"HashCompare.bat"

接著則是修改了幾個檔案內容做為測試


md5deep 主要可以用來比對出 MD5 跟剛剛不一樣的
C:\>HashCheck\md5deep.exe -X C:\md5deep.txt C:\HashTest\* > C:\diffmd5.txt

而 ssdeep 則是可以進一步比對出檔案的相似度為多少
C:\>HashCheck\ssdeep.exe -bm C:\ssdeep.txt C:\HashTest2\* > C:\diff-ssdeeep.txt


基本上大概就是這樣,只是參數要怎樣帶才會得到你自己想要的就要再自己多去試一下
但這樣的動做就可以省掉使用 AIDE 跟 Capture-BAT 還有網芳來監控到底那些東西有變化了 !