前四天我們一直在談
但我們不可能用公司的正式環境來練習分析。
所以今天我們建置自己的分析環境
目標是切成 3 個角色

這裡有 3 個原則
網路需要隔離
如上圖,網路要選 Host-only ,因為實驗流量不要跑到正式環境。
並建議 (非必選)
環境安裝好,先設 Snapshot
Windows 安裝完成、工具裝好、設定確認正常後,就先拍一份乾淨快照。
這個動作非常重要,因為這樣環境弄髒,可以還原再進行其他實驗
分析資料不要和受害者綁在一起
如果所有Log、工具和筆記報告都放在同一台受害者 VM 裡,一旦那台 VM 壞掉,調查資料也可能一起不見。
所以讓產生事件的受害主機和保存事件的地方分開會比較好。
⚠️ 提醒:本系列聚焦在分析「行為」與「日誌」,不需要也不建議去執行真實的勒索軟體。用「模擬行為」或無害的測試腳本產生痕跡,重點是學會看懂痕跡。
Windows 本身有不少事件日誌。
例如:
問題在於 Windows 的紀錄在預設環境下,
我們進行事件調查時想看的細節,可能不是很清楚
而 Sysmon 是 Microsoft Sysinternals 提供的工具,
可以把更多 Endpoint Telemetry 記進 Windows Event Log
畢竟 windows 內建的 event log 本就不是為了資安設計,主要是為了記錄系統的狀況
而 Sysmon 則是為了資安監控設計的工具,可以給更多行為軌跡。
底下以 Process Creation 舉例,可以看到 Sysmon 能提供更多資料供資安事件調查

底下列出一些常見的 Sysmon Event ID

舉例如果看到下圖

單看其中一筆,可能還不好判斷。
但三筆事件串在一起,就會開始覺得可能有點奇怪。
這也是 Sysmon 價值之一:讓我們比較有能力把行為串起來。
但 Sysmon 安裝好還需要微調,可以自己選擇 哪些事件要記、哪些不要記。
因為如果都不挑選,全部紀錄則會遇到 log 太多的問題
所以實務上會搭配一份經過調整的 Sysmon Configuration。
這類 Configuration 的目的是 「把對 Detection 和 Investigation 有價值的東西留下來。」
Sysmon Configuration 可以參考這裡
真實世界裡面一定是要調查一堆電腦,假設現在知道某個行為存在,但不知道是哪一個電腦
如假設想找 powershell.exe 使用 -EncodedCommand
如果只有一台機器,則直接打開 event log 找即可
可是如果公司有 2,000 台機器,總不能一台一台打開來做搜尋
所以會需要: Centralized Logging,也就是建置 SIEM
一般常見的平台

這樣就可以把散落在幾十台機器的事件紀錄,使用一句 Query 來調查
「把所有出現過可疑 PowerShell 的主機列出來」
但一開始建置這種完整的 SIEM 比較麻煩一點
在 LAB 裡面,可以選擇兩條路走
.evtx , sysmon log , powershell log 等,單機工具分析藍隊需要了解的有 2 個
所以當我們寫好偵測規則,需要透過建置的測試環境來檢查
如果沒有建置好測試環境,就很難驗證
而當做過 Log Hunting 之後,就會知道:
奇怪,不等於惡意。
例如:
這些工具都可以被攻擊者利用,但它們也是 Windows 正常工具。
所以分析師需要培養的是: Context
測試環境可以讓我們開始建立這種專業思維
而最重要的就是,實驗可以反覆重作

如果規則抓不到,就重跑
如果出現誤報,就繼續調整
重現行為 → 看 Log → 寫 Detection → 驗證 → 調整