第1章-静态分析
1.1 反病毒引擎掃描
VirusTotal:http://www.virustotal.com
VirSCAN:http://www.virscan.org
1.2 哈希值:惡意代碼的指紋
MD5計算軟件:md5deep、WinMD5
1.3?查找字符串
編碼:ASCLL(單字節)、Unicode(雙字節)
1.4 加殼與混淆惡意代碼
Tips:加殼程序至少包含LoadLibrary和GetProcAddress函數,他們用來加載和使用其他函數
1.4.1 文件加殼:加殼過程源程序被壓縮
1.4.2 使用PEiD檢測加殼:PEiD、脫殼程序
1.5 PE文件格式
PE文件格式(一種數據結構):是Windows可執行文件、對象代碼和DLL所使用的標準文件格式。
1.6?鏈接庫與函數
1.6.1 鏈接類型
靜態鏈接:復制代碼庫至意代碼程序,難以區分代碼庫與自身代碼。
運行時鏈接:當惡意代碼需要使用其函數才鏈接到庫。
動態鏈接:當啟動惡意代碼時就鏈接到庫
1.6.2 使用Dependency Walker工具探索動態鏈接函數
Dependency Walker工具:http://www.depencywalker.com
Tips:常見的DLL程序:
1.Kernel32.dll:包含核心系統功能,如訪問和操作內存、文件和硬件等
2.Advapi32.dll:這個DLL提供了對核心Windows組件的訪問,比如服務器管理器和注冊表
3.User32.dll:包含所有用戶界面組件、如按鈕和滾動條以及控制和響應用戶操作的組件
4.Gdi32.dll:包含了圖形顯示和操作的函數
5.Ntdll.dl:Windows內核的接口。可執行文件通常不導入這個函數,由Kernel32.dll間接導入
6.Wsock32.dll和Ws2_32.dll:聯網DLL
7.Wininet.dll:包含了更高網絡層次的網絡函數,實現了FTP\HTTP\NTP等協議
8.函數的命名約定:Ex后綴代表擴展/接受參數A(ASCLL)或W(寬字節)結尾函數
1.6.3 導入函數
MSDN庫:https://msdn.microsoft.com/library
1.6.4 導出函數
1.7 靜態分析技術實戰-案例
1.7.1 Potentialkeylogger.exe:一個未加殼的可執行文件
SetWindowsHookEx函數:間諜軟件常用函數
RegisterHotKey函數:注冊熱鍵
Advapi32.dll:注冊表使用
1.7.2 PackedProgram.exe:惡意程序加殼
1.8 PE文件頭與分節
.text:.text截包含了CPU執行指令,唯一可執行節和代碼節。
.rdata:.rdata節通常包含導入與導出函數信息,與Dependency Walker 和PEview工具所獲得的信息是相同的。
.data:.data節包含了程序的全局數據,可以從程序的任何地方訪問到。
.rsrc:.rsrc節包含由可執行文件所使用的資源,而這些資源不是可執行的。
1.8.1 使用PEview來分析PE文件
Tips:通過兩者的比較可以有效的判斷加殼情況
1.8.2 使用Resource Hacker 工具查看資源節
1.8.3 使用其他PE文件工具
1.PEBrowse Professional
2.PE Explorer
1.8.4 PE文件頭概述
1.導入函數:惡意代碼使用了那些庫中的函數
2.導出函數:惡意代碼期望被其他程序或庫調用的函數
3.時間戳:程序在什么時候被編譯的
4.分節:文件分節的名稱,以及他們在磁盤與內存中的大小
5.子系統:指程序是一個命令行還是圖形界面
6.資源:字符串、圖標、菜單項和文件中包含的其他信息
1.9 小結:簡單的掌握工具的使用方式和情景
1.10 實驗:另附文章
轉載于:https://www.cnblogs.com/pzlee/p/7588540.html
總結
- 上一篇: 后缀数组模板整理
- 下一篇: BZOJ 2208[Jsoi2010]连