banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

Windows XML事件日誌(EVTX)解析

evtx 日誌描述#

evtx 日誌在 Windows 中的存放位置

%SystemRoot%\System32\Winevt\Logs\

image.png

主要日誌包括應用程式、安全、系統日誌等,日誌預設大小為 20484K(20M),超出的部分將覆蓋過期的日誌。

可以使用 Windows 內建的事件檢視器來查看相應的日誌。

image.png

隨機點擊一個事件 ID 為 4624 的事件,大致內容如下,切換到 xml 視圖,可以查看 xml 格式日誌。

image.png

evtx_dump#

使用工具來解析 evtx 的日誌

下載對應版本:

https://github.com/omerbenamram/evtx/releases

evtx_dump <evtx_file> 以xml形式轉儲

evtx_dump -o json <evtx_file> 以json格式轉儲

evtx_dump -f <output_file> -o json <input_file> 輸出到指定文件

配合 fd(https://github.com/cha0ran/fd-zh)使用,便於批量處理

fd -e evtx -x evtx_dump -o jsonl 將所有evtx後綴結尾的文件轉儲到單獨的json文件中

fd -e evtx -x evtx_dump '{}' -f '{.}.xml 創建一個與evtx對應的xml文件,然後內容到對應的xml文件中

fd -a -e evtx | xargs -I input sh -c "evtx_dump -o jsonl input | jq --arg path "input" '. + {path: \$path}'"

-e:文件後綴
-a:搜索隱藏文件或目錄
xargs -I input sh -c “command”:傳入input變量,並將其交給command執行
jq --arg path “input” ‘. + {path: \$path}’:將path變量追加至輸出的json文件中

提取#

從 evtx 文件中提取 EventID

evtx_dump temp_scheduled_task_4698_4699.evtx -o jsonl | jq '.Event.System.EventID'

對 EventID 進行排序並統計個數

evtx_dump Security.evtx -o jsonl | jq '.Event.System.EventID' | sort | uniq

image.png

查看事件 ID 可以知道當前日誌中大部分日誌的狀態。如上 5379 表示 Microsoft Windows Defender 防病毒軟體有關的事件,該事件記錄了 Windows Defender 的相應策略信息,指示 Defender 定期掃描或更新情況。4625 表示登錄失敗,且只有一條日誌,那說明不存在登錄暴力破解的嘗試。4672 代表管理員登錄,同時以管理員的身份進行操作的日誌也會記錄成 4672,類似於 Linux 下的 sudo,一次 sudo 記錄一條日誌。

可以和事件 ID 進行一一對比,判斷相關事件的影響。

提取多個字段

evtx_dump temp_scheduled_task_4698_4699.evtx -o jsonl | jq '.Event.System.EventID','.Event.System.Computer'

事件 ID 參考:windows 應急響應手冊筆記記錄

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。