簡介
本節介紹常用的 Windows 系統日誌分析工具,側重介紹工具使用,而關於如何使用工具進行日誌分析與日誌分析技巧要點,暫不涉及、見後文。
本節介紹的兩種日誌分析工具:
-
通用檢索工具,側重於日誌檢索。
-
威脅分析工具,側重於對日誌進行整合、識別日誌中的威脅事件。
使用難度(低、中、高):工具的入手難度,以及完全發揮該工具功能的難度。
功能價值(低、中、高):該工具能夠提供的功能的價值大小,針對日誌檢索,能夠直觀展示、便捷篩選、複雜條件篩選等爲高價值功能。
例如:LogParser(中高,高) 代表該工具入門難度中,精通難度高;功能強。
本文所介紹的工具皆爲開源免費,功能較強但無破解版的收費軟件不在此涉及。例如 Event Log Explorer
導出系統日誌
關於如何導出日誌:
-
系統命令直接拷貝。
xcopy C:\Windows\System32\winevt\Logs %USERPROFILE%\Desktop\mylogs1\ /E/-Y
將系統日誌複製到 mylogs1 文件夾下。 -
使用資源管理器打開
C:\Windows\System32\winevt\Logs
,直接複製該文件夾。 -
事件查看器導出日誌。
通用檢索工具
FullEventLogView(低中、中)
https://www.nirsoft.net/utils/full_event_log_view.html
特點在於直觀展示、圖形化操作,可以將所有類型日誌進行整合,便於按照時間統一分析所有日誌,此外具有一定的檢索功能。
可以分析該主機日誌、導出日誌、以及連接到遠程主機分析日誌。
使用前設置:
-
可以開啓
Show Event Strings In Columns
,以展示事件的更多信息,便於查閱。Advanced Options
中設置展示日誌時間,默認爲 7天。選擇日誌源。
LogParser(中高,高)
https://www.microsoft.com/en-us/download/details.aspx?id=24659
該工具可以使用 SQL 語句對日誌進行篩選。並多種格式導出到文件,或 GUI 可視化輸出。
可以直接篩選本機日誌,也可以對導出的日誌進行篩選。
LogParser.exe -i:EVT -o:DATAGRID "SELECT * FROM security"
篩選本機日誌LogParser.exe -i:EVT -o:DATAGRID "SELECT * FROM 日誌文件路徑"
查看登錄成功與登錄失敗日誌。
LogParser.exe -i:EVT -o:DATAGRID "SELECT recordNumber,timeGenerated,eventId,eventType,eventTypeName,computerName,string,message FROM security where EventId in (4625;4624)"
若想對該 gui 界面顯示的日誌進行檢索,只能將其全選複製到 excel 文件中,再進行檢索。
LogParser 整合工具(低、中)
該工具可能會報毒,建議在自己主機上運行。
使用難度(低),功能強度(中)
https://github.com/dogadmin/windodws-logs-analysis
該工具對常見安全事件的 logparser 查詢語句進行整合並提供圖形化操作界面。
優點在於易用,缺點在於不夠靈活,例如同時查看登錄成功與失敗日誌,以定位是否存在爆破成功。
工具目錄結構如下,windowslog.exe
用於分析主機日誌,而 windowslog-local.exe
可以用來離線分析導出的日誌(將其放置於 c:\log\
目錄下)。
系統自帶 event viewer(中、低)
系統自帶的事件查看器,其使用 xpath 語法。優點在於系統自帶,無需導入任何工具。
例如要檢索 EventID 爲4624 ,且 LogonType 爲 2 的日誌。
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
...
<EventID>4624</EventID>
...
</System>
<EventData>
...
<Data Name="LogonType">2</Data>
...
</EventData>
</Event>
xpath 查詢語法如下,值得注意 @ 符代表着節點屬性,@Name 代表着 Name 這一屬性。
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">
*[System[EventID=4624] and EventData[Data[@Name='LogonType']='2']]
</Select>
</Query>
</QueryList>
威脅分析工具
基本都可以把 windows 日誌導出後,離線分析。
APT-Hunter(低、中)
https://github.com/ahmedkhlief/APT-Hunter
該工具分析 Windows 日誌,將其輸出爲易於閱讀的表格文檔格式,此外該工具附帶一定的威脅檢測能力,可以分析多種日誌文件(system、security 等)。
運行方式,任選其一:
- 將日誌導出到文件夾後,離線分析。
APT-Hunter.exe -p 日誌文件夾目錄 -tz local
APT-Hunter.exe -p C:\Windows\System32\winevt\Logs -tz local
因爲直接訪問日誌文件,因此需要以管理員形式運行。
運行後會生成三個文件。
-
Report.xlsx 爲主要輸出內容,將常見的日誌按照子表的格式導出。
值得注意的是該工具輸出的時間未完全排序,進行查前最好按照 timestamp 列進行排序。以及調整排版。
-
Logon_Events.csv 主要記錄登錄相關事件。
默認排版不便閱讀,可以對行高進行設置爲14磅。
-
TimeSketch.csv 將不同類型的日誌進行整合,例如 system 服務安裝日誌與 security 登錄日誌。該整合功能較弱,可能遺漏部分類型日誌,一般不太關注。
Windows Event Log Analyzer(低中、中)
https://github.com/Yamato-Security/WELA
ps 腳本,可以用來分析登錄日誌以及具有一定威脅檢測能力,可導入外部威脅檢測規則。可以以 GUI 形式顯示,也可以 csv 格式導出。分析兩種日誌文件 Microsoft-Windows-NTLM%4Operational.evtx
、Security.evtx
該工具相較於 APTHunter ,特點在於可以整合登錄、註銷日誌,展現賬號登錄時長,對登錄認證數據進行統計。
可能主機策略禁止執行 powershell,此時可以臨時進行更改,並在結束後更改回來即可。
get-executionpolicy Set-ExecutionPolicy Unrestricted 結束之後,將策略還原。 Set-ExecutionPolicy
建議將目標主機日誌進行導出,在自己電腦上修改策略進行分析。
運行方式,任選其一:
-
導出相關日誌,然後通過腳本進行分析。推薦。
-
將該腳本放置目標主機中,直接通過
-LiveAnalysis
選項自動讀取本機日誌。 -
-RemoteLiveAnalysis
選項,可以通過 winrm 服務遠程分析其它主機。
工具常用功能:
-
.\WELA.ps1 -SecurityLogonTimeline -LogFile 日誌文件路徑 -English -HideTimezone -ShowLogonID -OutputCSV result.csv
對登錄成功、登出事件進行整合。
-
.\WELA.ps1 -SecurityAuthenticationSummary -LogFile 日誌文件路徑 -English
該選項對不同用戶進行統計。
-
.\WELA.ps1 -SecurityEventID_Statistics -LogFile 日誌文件路徑 -English -ShowLogonID -HideTimezone -OutputGUI
對各種事件類型進行統計。