HTB - Introduction to Digital Forensics - Part 2
記憶體鑑識(Memory Forensics)
RAM 中常見、對事件調查很有價值的資料包括:
- 網路連線
- 檔案控制代碼(file handles)與開啟中的檔案
- 開啟中的 Registry 鍵值
- 系統中正在執行的行程
- 已載入的模組
- 已載入的裝置驅動程式
- 命令歷史與主控台工作階段
- Kernel 資料結構
- 使用者與認證資訊
- 惡意程式痕跡
- 系統組態
- 行程記憶體區段
當惡意程式運作時,往往會在系統的活動記憶體中留下痕跡。
透過分析記憶體,調查人員可以:
- 找出惡意行程
- 識別入侵指標(IoCs)
- 還原惡意程式的行為軌跡
在某些情況下,重要資料或加密金鑰也可能只存在於記憶體中,因此記憶體鑑識對調查來說可能非常關鍵。 fileciteturn7file2
記憶體鑑識的系統化流程
1. 行程識別與驗證(Process Identification and Verification)
第一步是先識別所有活動中的行程。
惡意軟體常會偽裝成合法行程,有時只改一點點名稱來混淆分析者。
因此需要:
- 列出所有執行中的行程
- 確認它們在作業系統中的來源
- 與已知合法行程比對
- 標記名稱異常或看起來可疑的行程
2. 深入檢查行程元件(Deep Dive into Process Components)
找出可疑行程後,下一步要檢查其相關 DLL 與 handles。
惡意程式常會利用 DLL 來隱藏活動。
應檢查:
- 可疑行程載入了哪些 DLL
- 是否存在未授權或惡意 DLL
- 是否有 DLL injection 或 DLL hijacking 的跡象
3. 網路活動分析(Network Activity Analysis)
許多惡意程式,尤其是分階段運作的 malware,都需要網路連線,例如:
- 向 C2 伺服器 beacon
- 外傳資料
因此要:
- 查看系統記憶體中的主動與被動網路連線
- 識別並記錄外部 IP 與相關網域
- 判斷該通訊的性質與目的
- 驗證該行程是否合法
- 評估它是否真的需要對外通訊
- 回溯其父行程
- 檢查其行為是否合理
4. 偵測程式碼注入(Code Injection Detection)
進階攻擊者常會使用:
- Process Hollowing
- 未映射(unmapped)的記憶體區段
來隱藏惡意程式碼。
因此需要:
- 使用記憶體分析工具找出異常
- 識別佔用不尋常記憶體空間或行為異常的行程
5. Rootkit 發現(Rootkit Discovery)
攻擊者常追求隱匿與持久化,而 Rootkit 就是達成這些目的的常見手段。
Rootkit 會深入嵌入作業系統,讓攻擊者能長期、且常是高權限地存取系統,同時避開偵測。
因此要:
- 掃描是否有 Rootkit 活動或 OS 深層修改跡象
- 找出以異常高權限運作、或具有隱匿行為的行程與驅動程式
6. 萃取可疑元素(Extraction of Suspicious Elements)
當找出可疑行程、驅動程式或執行檔後,就要把它們從記憶體中萃取出來做深入分析。
這包括:
- 從記憶體傾印出可疑元件
- 安全保存
- 交由其他專門鑑識工具進一步分析 fileciteturn7file2
Volatility Framework
進行記憶體鑑識時,最常用的工具之一就是 Volatility。
常見 Volatility 模組
Volatility 的模組或外掛,主要是用來萃取特定資訊或執行特定記憶體分析工作。
常見模組包含:
pslist:列出執行中的行程cmdline:顯示行程的命令列參數netscan:掃描網路連線與開啟中的連接埠malfind:掃描可能被注入到行程中的惡意程式碼handles:掃描開啟中的 handlessvcscan:列出 Windows 服務dlllist:列出行程載入的 DLLhivelist:列出記憶體中的 Registry hives
記憶體鑑識特別適合用來處理:
- 惡意程式分析
- 可疑行程調查
- 網路連線追查
- 注入行為偵測
- Rootkit 與隱匿技術分析
- 認證資訊或金鑰的還原
而 Volatility 則是這類工作的核心工具之一。
只要你掌握:
imageinfopslistnetscanmalfinddlllisthandles
這幾個基本模組,就已經能開始建立一條像樣的記憶體鑑識調查流程了。
Q1 Examine the file “/home/htb-student/MemoryDumps/Win7-2515534d.vmem” with Volatility. Enter the parent process name for @WanaDecryptor (Pid 1060) as your answer. Answer format: _.exe
首先檢查腳本所在位置
1 | |

Q2 Examine the file “/home/htb-student/MemoryDumps/Win7-2515534d.vmem” with Volatility. tasksche.exe (Pid 1792) has multiple file handles open. Enter the name of the suspicious-looking file that ends with .WNCRYT as your answer. Answer format: _.WNCRYT
1 | |

Q3 Examine the file “/home/htb-student/MemoryDumps/Win7-2515534d.vmem” with Volatility. Enter the Pid of the process that loaded zlib1.dll as your answer.
1 | |

Disk Forensics
Autopsy:常見的磁碟鑑識平台
Autopsy 是一套建立在開源 Sleuth Kit 工具集之上的、相對容易上手的鑑識平台。
它具備很多商業鑑識工具才有的常見功能,例如:
- Timeline 分析
- Keyword 搜尋
- Web artifact 擷取
- Email artifact 擷取
- 依照已知惡意檔案 hash 篩選結果
換句話說,Autopsy 雖然相對親民,但功能其實已經很夠拿來做很多實務上的磁碟鑑識工作。
匯入映像後可以做什麼
教材提到,當你把一份 forensic image 匯入 Autopsy 並完成處理後,左側面板就會整理出各種鑑識 artifact,方便分析者從不同角度切入。
從這裡你可以進行以下工作:
- 檢查 Data Sources
- 分析 Web Artifacts
- 檢查曾接上的裝置
- 復原已刪除檔案
- 執行關鍵字搜尋
- 使用 Keyword Lists 做定向搜尋
- 進行 Timeline Analysis
1. 瀏覽 Data Sources
載入映像後,第一個很重要的入口就是 Data Sources。
你可以在這裡展開磁碟內容,查看:
- 檔案
- 目錄
- 特殊系統資料夾
- 已刪除檔案區域
- 未配置空間(unallocated space)
2. 檢查 Web Artifacts
磁碟鑑識中,瀏覽器活動常常是還原事件的重要切入點。
Autopsy 可以整理與呈現各種 Web Artifacts,例如:
- 瀏覽歷史
- Cookies
- Cache
- Downloads
- 書籤
- 擴充套件資訊
這能幫助分析者了解:
- 使用者曾經造訪哪些網站
- 是否下載過可疑檔案
- 是否曾連到惡意網站
- 哪些活動發生在事件前後
3. 檢查曾接上的裝置(Attached Devices)
Autopsy 也能協助檢視系統曾連接過哪些裝置,例如 USB 裝置。
這對調查資料外流、惡意載入或可疑裝置使用情況特別重要。
USB Device Attached 欄位中可看到像是:
- Date/Time
- Device Make
- Device Model
- Device ID
- Data Source
這類資訊能幫助分析者回答像是:
- 什麼時候插過 USB?
- 插的是哪一個設備?
- 是不是在事件發生時間點附近插入的?
這對內部威脅或資料竊取調查非常有幫助。
4. 復原已刪除檔案(Recover Deleted Files)
被刪除的檔案不一定真的完全消失。
只要對應資料還沒被覆寫,鑑識工具通常仍有機會把它們找回來。
Autopsy 提供已刪除檔案的檢視與復原能力,這在以下情境特別重要:
- 攻擊者刪除工具或 payload
- 惡意程式嘗試清除痕跡
- 使用者刻意刪除文件
- 想確認某些檔案曾經存在過
5. 關鍵字搜尋(Keyword Searches)
磁碟鑑識不可能永遠只靠人工慢慢翻資料夾,所以關鍵字搜尋是非常重要的功能。
例如在事件應變時,你可能會搜尋:
- 某個可疑 EXE 名稱
- PowerShell 指令片段
- 特定 IP 或網域
- 勒索字串
- 公司機敏資料關鍵字
搜尋結果通常會集中列出,方便交叉檢查與匯整。
6. 使用 Keyword Lists 做定向搜尋
除了單次搜尋關鍵字外,Autopsy 還支援 Keyword Lists,也就是預先準備好一批搜尋規則,進行更有目標性的搜尋。
這種清單可以針對像是以下類型資料進行搜尋:
- Phone Numbers
- IP Addresses
- Email Addresses
- URLs
- Credit Card Numbers
這種方式特別適合用在:
- 資料外洩調查
- 個資或機敏資料搜尋
- 特定 IoC 大量掃描
- 有明確調查目標時的快速篩查
也就是說,Keyword Lists 比單純一個一個關鍵字搜尋更適合做「整批規則式」檢查。
第 5 頁的畫面就是這個功能的示意。
7. Timeline Analysis(時間線分析)
時間線分析是磁碟鑑識中最有價值的功能之一。
因為很多時候,單看某個檔案或某筆紀錄並不能說明全貌,但如果把事件按照時間排開,就比較容易看出攻擊流程。
可以利用 Timeline Analysis 來:
- 對事件進行時間排序
- 還原使用者行為
- 觀察檔案建立、修改、存取的先後順序
- 找出事件的前因後果
例如可以拿來比對:
- 某個可疑檔案何時出現
- 某個瀏覽器活動何時發生
- USB 插入與檔案複製是否在同一時段
- 系統事件與檔案異動是否有關聯