iT邦幫忙

2026 iThome 鐵人賽

DAY 5
0
Security

從告警到結案報告:30 天勒索軟體事件應變實戰系列 第 5

Day 05|【動手】建立自己的分析 Lab:VM、Sysmon 與日誌蒐集

  • 分享至 

  • xImage
  •  

案情推進

前四天我們一直在談

  • 「攻擊者做了什麼」
  • 「該用什麼流程應變」

但我們不可能用公司的正式環境來練習分析。

所以今天我們建置自己的分析環境

本篇探討

  • 一個安全的分析 Lab 至少要有那些角色
  • 為什麼預設的 Windows 日誌「不夠看」,要裝 Sysmon?
  • 怎麼把散落各處的日誌集中起來分析?

一、Lab 的骨架

目標是切成 3 個角色

  • 受害者
  • 攻擊者
  • 分析師

這裡有 3 個原則

  1. 網路需要隔離

    如上圖,網路要選 Host-only ,因為實驗流量不要跑到正式環境。

    並建議 (非必選)

    • 關閉 Shared Folder
    • 關閉 Clipboard Sharing
    • 關閉 Drag-and-Drop
    • 避免掛載 Host 上的重要資料
    • 確認 VM 沒有額外 NAT/Bridge 網卡
    • 必要時使用專門的隔離設備
  2. 環境安裝好,先設 Snapshot

    Windows 安裝完成、工具裝好、設定確認正常後,就先拍一份乾淨快照。

    這個動作非常重要,因為這樣環境弄髒,可以還原再進行其他實驗

  3. 分析資料不要和受害者綁在一起

    如果所有Log、工具和筆記報告都放在同一台受害者 VM 裡,一旦那台 VM 壞掉,調查資料也可能一起不見。

    所以讓產生事件的受害主機和保存事件的地方分開會比較好。

⚠️ 提醒:本系列聚焦在分析「行為」與「日誌」,不需要也不建議去執行真實的勒索軟體。用「模擬行為」或無害的測試腳本產生痕跡,重點是學會看懂痕跡。


二、裝 Sysmon 讓證據更清楚

Windows 本身有不少事件日誌。
例如:

  • Security Log
  • System Log
  • PowerShell Log
  • Task Scheduler Log
  • Defender Log

問題在於 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

一般常見的平台

  • 付費商用: Splunk
  • 免費: ELK

這樣就可以把散落在幾十台機器的事件紀錄,使用一句 Query 來調查
「把所有出現過可疑 PowerShell 的主機列出來」

但一開始建置這種完整的 SIEM 比較麻煩一點

在 LAB 裡面,可以選擇兩條路走

  • 簡單版:用單機工具分析
    • 匯出: .evtx , sysmon log , powershell log 等,單機工具分析
  • 完整版:如同前面敘述建置 SIEM
    • 吃電腦資源,建置起來也比較麻煩,但可以練習更多東西

藍隊視角

藍隊需要了解的有 2 個

  1. 惡意是長怎樣
  2. 正常是長怎樣

所以當我們寫好偵測規則,需要透過建置的測試環境來檢查

  • 正常管理工具會不會觸發? (誤報)
  • 攻擊行為真的會被抓到嗎? (漏報)
  • 換一種參數寫法還抓得到嗎? (準確度和穩定度)

如果沒有建置好測試環境,就很難驗證


而當做過 Log Hunting 之後,就會知道:

奇怪,不等於惡意。

例如:

  • powershell.exe
  • rundll32.exe
  • regsvr32.exe
  • wmic.exe

這些工具都可以被攻擊者利用,但它們也是 Windows 正常工具。

所以分析師需要培養的是: Context

  • 誰執行的?
  • 誰是 Parent Process?
  • Command Line 是什麼?
  • 發生在哪台主機?
  • 這台主機平常會不會做這件事?
  • 前後還發生什麼?

測試環境可以讓我們開始建立這種專業思維


而最重要的就是,實驗可以反覆重作

如果規則抓不到,就重跑

如果出現誤報,就繼續調整


今日重點

  • 建置測試環境需要把受害環境和分析資料分開,並做好網路隔離與 Snapshot。
  • Windows 內建日誌很重要,但 Sysmon 能補充更多 Endpoint Telemetry,例如 Process GUID、Hash、網路連線、DNS 與 DLL 載入等資訊。
  • Sysmon 裝完需要微調
    • Configuration 很重要,Log 要留下能幫助偵測與調查的資訊。
  • 一台主機可以用 Event Viewer,幾十、幾百台主機就需 Centralized Logging 幫忙
  • 測試環境的價值是重現攻擊,且建立一個循環: 重現行為 → 看 Log → 寫 Detection → 驗證 → 調整

上一篇
Day 04|事件應變流程:範圍界定、證據保存
下一篇
Day 06|分析師的工具箱:KAPE、EZ Tools、Timesketch 與 Kibana
系列文
從告警到結案報告:30 天勒索軟體事件應變實戰16
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言