Windows 日志分析工具
简介
本节介绍常用的 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
对各种事件类型进行统计。