分析環境建置好了,Snapshot 也做好了。
今天來把工具準備好
前面幾天一直在談 「攻擊會留下痕跡」 ,
但進入事件調查之後,會碰到另一個問題:
「證據很多,而且散得到處都是」
如果每個都手動慢慢翻,事件還沒查完,人就先累垮了。
所以資安事件分析師需要建立一條有效率的分析流程:
「先把需要的東西蒐回來,再解析、整理時間,最後快速搜尋與比對。」
今天介紹的 4 個工具,幫我們完成這些事情。
我們分析流程如下圖所示:

這不是唯一的 DFIR 工作流程。
實際案件裡,四個步驟會來回交叉使用。
可能在時間軸裡看到一個可疑檔案,回頭再補蒐證;
也可能先在 SIEM 發現一個 IP,再回到單機 Artifact 驗證。
所以上述工具比較像是四種不同的視角。
資安事件現場如果只有一台主機,做完整磁碟映像當然沒問題。
但如果今天一次有:20 台、50 台,
甚至上百台主機需要初步檢查,
每台都先做完整磁碟映像,時間一定來不及。
這時候可以使用 KAPE。
KAPE (Kroll Artifact Parser and Extractor)
它的核心概念: 先針對調查需要,蒐集高價值的 Windows Artifacts
工具下載地址: https://www.kroll.com/en/services/cyber/reactive-services/kroll-artifact-parser-and-extractor-kape

上圖可以看到 KAPE 會優先抓特定的 Windows Artifacts
這些在資安事件調查很常見,如:
例如:
在 KAPE 有兩種模組:
也就是 KAPE 不只是 Copy Tool。
也可以把蒐集與部分解析工作串起來。

實務上,我們通常會很需要趕快可以跟主管交代發生什麼事情
所以盡可能先分析部分內容,是很重要的事情。
KAPE 把東西蒐回來之後,要開始進行分析
很多 Windows Artifact 都不是拿記事本打開就看得懂的格式。
這時會用到 Eric Zimmerman 開發的一系列工具,一般常統稱為 EZ Tools。
它們的特色是:一種 Artifact搭配一支專門解析它的工具。
底下表格為部分範例
| 原始證物 | 解析工具 | 處理問題 |
|---|---|---|
$MFT |
MFTECmd | 檔案何時建立、修改、刪除或改名 |
| Prefetch | PECmd | 程式有沒有執行過?最近何時執行? |
| ShellBags | SBECmd | 使用者曾瀏覽過哪些資料夾 |
| Amcache | AmcacheParser | 系統上曾出現哪些執行檔? |
| Windows Event Log | EvtxECmd | 把 .evtx 轉成方便搜尋與分析的資料 |
單看 Artifact,每個都是孤立事件,未必有意義,也難以證明惡意與否
例如:
4688:powershell.exe 被建立
這件事本身不一定有問題。
但如果可以把其他資料一起放進來:
09:03 [Security Log]
外部 IP 成功透過 RDP 登入
09:05 [Sysmon]
powershell.exe 執行異常 Command Line
09:06 [Prefetch]
rclone.exe 首次出現執行痕跡
09:07 [Network]
主機開始對外傳送大量資料
上述單獨看,每一筆都只是一個 Event。
排在一起之後,就開始像一個故事:
登入
↓
執行 PowerShell
↓
工具落地
↓
資料外傳
這是時間軸分析帶來的價值
Timesketch(開源)就是專門做這件事的協作平台。
我們可以把多來源的時間軸資料匯進去,
它讓我們可以
前面的 KAPE、EZ Tools、Timeline,很多時候是從單一或少量 Endpoint 出發。
但一般我們找到其中一個惡意行為或線索,會想知道
這個行為還出現在哪些主機?
例如現在已經確定 FILE-SRV01 出現:
WINWORD.EXE
↓
powershell.exe
通常會想知道整個公司還沒有有其他主機也有相同的行為
而這就可以透過 Kibana 這類集中式搜尋平台來幫忙。

如果日誌已經送進 Elastic Stack,就可用 Kibana 去:
資安工具很多,以藍隊常見工具如:
不需要每個都會用,重點在於思維
需要理解發生資安事件時,當下要找什麼
例如:
工具是輔助我們找尋當下需要知道的問題答案
工具會變,可是要調查的問題總是固定的
重要的是理解調查的整個流程和思路
蒐集
↓
解析
↓
建立時間關係
↓
大範圍搜尋與驗證
第一幕到這裡結束。
現在,我們知道:
Day 07: 第二幕正式開始。
我們回到整個故事最早的那一筆告警:
[ALERT] 來源不明 IP 對 FILE-SRV01 的 RDP 連線成功
我們要開始理解 Windows 裡有哪些 Log 可以證明: