1. 程式人生 > >《惡意代碼分析實戰》之基礎步驟

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

讀寫 註冊表 二次 hook peid 響應 install 持久化 文件

靜態分析:

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 嗅探數據,嗅探密碼

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