《惡意代碼分析實戰》之基礎步驟

靜態分析:

1,virus total反病毒引擎搜索
2,MD5計算哈希值
3,用PEid檢測是否加殼,並進行脫殼操做
4,stringe.exe查看惡意代碼的字符串,從中能夠看到是否含有特殊的網址,IP地址,特殊的導入函數,好比讀寫文件,賦值文件,自啓動,記錄鍵盤的函數。。。
5,用Dependency Walker 查看導入函數,能夠猜出這個惡意代碼大體的功能。若是導入函數表過於簡介,說明多是加殼事後的文件
6,用PEview 查看文件頭和分節,能夠查看到文件的時間戳,可是時間戳能夠做假。
7,用Resource Hacker查看資源節。瀏覽器

動態分析(需在虛擬機中運行)
1,沙箱中運行(可是有的惡意代碼會設置sleep函數,進行休眠一天後再執行,有的惡意代碼會檢測是否在一個虛擬環境中)
2.dll文件不能直接啓動,須要查看dll文件是否有可疑的導入函數,如'"Install"運行命令行:
C:\>rundll32.exe xxxx.dll, Install
3. 用Process Monitor監視打開惡意代碼後的進程,先設置過濾功能,在其中監視相關的進程名和特殊的操做好比:writefile, SetWindowsHookEx
4.運行進程瀏覽器 Process Explorer 新進程顯示爲綠色。雙擊可疑進程後 用verify 檢查是否有微軟的簽名認證(可是若是使用 process replacement 進程替換技術,此法就會失效)。用該雙擊後窗口中的strings 能夠檢查Image(磁盤的鏡像) 和Memory(內存) 檢查磁盤和內存中的鏡像是否有較大的不一樣,若是很大不一樣極可能用了 進程替代技術。
5 運行惡意代碼前 打開Regshot 進行1st shot並保存其快照,運行惡意代碼後等待一段時間,再2nd shot 進行第二次快照,並用compare 進行對比,看惡意代碼是否對系統進行了改變,有的會在註冊表項HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run的位置建立一個值,這是常見的持久化機制。
6 運行惡意代碼前 使用ApateDNS監聽特定的端口,並給出虛假的DNS響應。
7.Wireshark 嗅探數據,嗅探密碼函數

相關文章
相關標籤/搜索