在 Cent OS 6.4 x64 上整合 Volatility 2.2 至惡意程式行為分析知識庫來分析記億體映像檔

Volatility Framework

這個東西我想有在接觸惡意程式分析的應該都很瞭解才對 !

基本上在這邊有非常多的說明了 ... 安裝起來也算是非常的簡單哩

# wget https://volatility.googlecode.com/files/volatility-2.2.tar.gz
# tar -zxf volatility-2.2.tar.gz
# cd volatility-2.2
# python setup.py install


勵害的是除了 Windows 還有 MAC 跟 Linux 和 Android 的哩

一開始一定要先下個 -h 看看有啥選項了
# python vol.py -h


接著找了幾個網站有一些分析案例的說明

不過最多資料的一樣還是官網上的文件跟這個了 !

Volatility Memory Forensics | Basic Usage for Malware Analysis: http://www.evild3ad.com/956/volatility-memory-forensics-basic-usage-for-malware-analysis/

VolatilityDocumentationProject Volatility Documentation Project (Community Research)

但經過很認真的 Google 了一下,似乎很少中文的資料 ! 囧 (畢竟英文沒那麼好啊)

但還是大概瞭解了應用在分析惡意程式上有幾個比較重要的 !

connections、connscan、consoles、 dlllist、malfind、mutantscan、procmemdump、pslist、psscan、pstree、psxview

#  python ./volatility-2.2/vol.py connections -f /root/zeus.vmem
lists open connections (can be hidden by rootkits)

# python ./volatility-2.2/vol.py connscan -f /root/zeus.vmem
Scans memory for _TCPT_OBJECTS (TCP connections) – can reveal hidden connections from rootkits


上下兩個各兩個的指令差在於有的是可以被隱藏起來的,特別是下面的 pslist 跟 psscan

# python ./volatility-2.2/vol.py pslist -f /root/zeus.vmem
prints a list of running processes by walking the doubly-linked list _EPROCESS (can be hidden by rootkits)

# python ./volatility-2.2/vol.py psscan -f /root/zeus.vmem
scans memory for linked and unlinked processes (useful for detecting hidden processes)

所以為了方便使用,省掉一個個比對,還有一個更好用的

# python ./volatility-2.2/vol.py psxview -f /root/zeus.vmem
prints various process listings to aid in finding hidden processes (shows a delta vs. pslist and psscan) – if something shows up in psscan and not pslist that process was hidden by a rootkit


馬上就可以看出來說那個是有被刻意隱藏了 ! 但還是得要瞄一下,所以就寫個小 script


直接就簡單明瞭的印出來不是比較方便嗎 ? xDDDD


最後 ! 其它的我就暫時沒想到可以再怎樣整理在一起然後方便看出問題點了 ! 囧rz

嘆 ! 這就是年輕時不好好學寫程式的報應啊 !!!

話說回來,把這個加進來好像對於我的 IT2FLS 沒啥幫助的感覺 ! 囧