Atom
HTB - Introduction to Digital Forensics - Part 2

HTB - Introduction to Digital Forensics - Part 2

記憶體鑑識(Memory Forensics)

RAM 中常見、對事件調查很有價值的資料包括:

  • 網路連線
  • 檔案控制代碼(file handles)與開啟中的檔案
  • 開啟中的 Registry 鍵值
  • 系統中正在執行的行程
  • 已載入的模組
  • 已載入的裝置驅動程式
  • 命令歷史與主控台工作階段
  • Kernel 資料結構
  • 使用者與認證資訊
  • 惡意程式痕跡
  • 系統組態
  • 行程記憶體區段

當惡意程式運作時,往往會在系統的活動記憶體中留下痕跡。
透過分析記憶體,調查人員可以:

  • 找出惡意行程
  • 識別入侵指標(IoCs)
  • 還原惡意程式的行為軌跡

在某些情況下,重要資料或加密金鑰也可能只存在於記憶體中,因此記憶體鑑識對調查來說可能非常關鍵。 fileciteturn7file2


記憶體鑑識的系統化流程

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)

當找出可疑行程、驅動程式或執行檔後,就要把它們從記憶體中萃取出來做深入分析。

這包括:

  • 從記憶體傾印出可疑元件
  • 安全保存
  • 交由其他專門鑑識工具進一步分析 fileciteturn7file2

Volatility Framework

進行記憶體鑑識時,最常用的工具之一就是 Volatility

常見 Volatility 模組

Volatility 的模組或外掛,主要是用來萃取特定資訊或執行特定記憶體分析工作。
常見模組包含:

  • pslist:列出執行中的行程
  • cmdline:顯示行程的命令列參數
  • netscan:掃描網路連線與開啟中的連接埠
  • malfind:掃描可能被注入到行程中的惡意程式碼
  • handles:掃描開啟中的 handles
  • svcscan:列出 Windows 服務
  • dlllist:列出行程載入的 DLL
  • hivelist:列出記憶體中的 Registry hives

Volatility使用參考

記憶體鑑識特別適合用來處理:

  • 惡意程式分析
  • 可疑行程調查
  • 網路連線追查
  • 注入行為偵測
  • Rootkit 與隱匿技術分析
  • 認證資訊或金鑰的還原

而 Volatility 則是這類工作的核心工具之一。
只要你掌握:

  • imageinfo
  • pslist
  • netscan
  • malfind
  • dlllist
  • handles

這幾個基本模組,就已經能開始建立一條像樣的記憶體鑑識調查流程了。


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
volatility -f /home/htb-student/MemoryDumps/Win7-2515534d.vmem --profile=Win7SP1x64 pslist | grep 1060

範例

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
python2 /usr/local/bin/vol.py -f /home/htb-student/MemoryDumps/Win7-2515534d.vmem --profile=Win7SP1x64 handles -p 1792 | grep WNCRYT

範例

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
python2 /usr/local/bin/vol.py -f /home/htb-student/MemoryDumps/Win7-2515534d.vmem --profile=Win7SP1x64 ldrmodules | grep -i "zlib1.dll"

範例


Disk Forensics

Autopsy:常見的磁碟鑑識平台

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 插入與檔案複製是否在同一時段
  • 系統事件與檔案異動是否有關聯

本文作者:Atom
本文鏈接:https://d0ngd.github.io/2026/04/08/HTB - Introduction to Digital Forensics - Part 2/
版權聲明:本文採用 CC BY-NC-SA 3.0 CN 協議進行許可