25
2025
02
19:08:38

Windows日志一把梭:一款简洁方便的Windows日志分析工具 宝瓜Windows日志分析器

Windows系统会将一些关键的操作保存到日志,日志文件的保存目录一般在”C:/windows/system32/winevt/logs"目录下(旧版本系统如Windows 2000 / Server2003 / Windows XP存储位置会略有不同)。


我们可以通过Windows自带事件查看器进行查看,运行命令“eventvwr.msc”即可打开事件查看器,如下图:


Windows核心的日志有:

  • System(系统日志),系统日志记录了系统运行过程中的事件和错误信息。它可以帮助用户了解系统的运行状态,以及识别系统故障和错误。例如,当系统启动时,系统日志会记录启动过程中的事件,包括硬件检测、驱动加载等,以便用户了解系统启动的情况。

  • Security(安全日志),安全日志记录了与系统安全相关的事件,如用户登录、账户权限变更、安全策略的修改等。它可以帮助用户监控系统的安全性,及时发现异常行为和安全威胁。例如,当一个用户尝试登录多次失败时安全日志会记录这一事件,并提醒用户注意可能存在的入侵行为。

  • Application(应用日志),应用程序日志记录了应用程序运行过程中的事件和错误信息。它可以帮助用户识别应用程序崩溃、错误和警告,以及追踪应用程序的运行情况。例如,当一个应用程序崩溃时,应用程序日志会记录崩溃的原因,以便用户进行修复。

另外,还有比如PowerShell日志,会保存在下面的文件中。

  • Windows PowerShell.evtx

  • Microsoft-Windows-PowerShell%4Admin.evtx

  • Microsoft-Windows-PowerShell%4Operational.evtx



有一些重要的事件ID,在应急响应分析中需要关注:

  • 4624,账号登录成功,这里面还细分很多类型。比如:类型2为交互登录,类型10为远程交互登录等等

  • 4625,账号登录失败

  • 4616,系统时间更改事件

  • 1102,事件日志被清理事件

  • 等等



回到咱们主题,之所以要Windows日志一把梭是因为一次内部攻防演练,接到同事反馈公司有服务器中了”勒索病毒“需要马上响应,结果上机就有些懵逼了,往常的告警响应过程中,往往通过已有的安全系统对问题机器进行分析,比如通过NTA(网络威胁分析系统)可观察到告警时刻的网络请求情况,能比较轻松分析当时的网络连接情况,攻击从哪里来,要到哪里去,再结合HIDS(主机入侵检测系统)触发告警,大体就能看清楚整个事件的全貌。
结果演练时,演练筹备者将攻击机器放到同一网段,这下NTA直接就瞎了(NTA没有监测东西向流量),HIDS这个时候也不给力并没有记录下攻击者登录的IP情况,只好苦逼的逐条查阅Windows日志记录,经此事情后,就暗自下定决心,一定得整个工具,后续遇到同类问题,直接一把梭,再也不要逐个查看,看瞎眼。


市面上查看Windows日志工具很多,而且都很优秀,比如:

  • LogParser 微软公司提供的一款日志分析工具,支持强大的查询功能,可以导出日志文件、XML文件和CSV文件。

  • FullEventLogView 也是官方的事件日志查看工具,使用图形化界面。



但笔者觉得都太过于强大,不够简洁,于是动手自己编写一款Windows日志分析工具,致力于将Windows日志分析工作尽可能简单化,平时多积累规则,战时啥也不用管,直接一把梭。


所谓一把梭就是,不要让我思考,我把日志给你,你直接给我结果,如下:

动图封面


工具会自动解析重点的需要关注的事件(内置解析的EventID正在逐步完善中,如果大家有需要关注的EventID在工具中没有内置的,可以反馈给笔者)
一些重点的需要关注的事件如下:

  • 400 PowerShell执行命令记录(这条就是演练时翻瞎眼才翻到的记录)


  • 4624 账号登录事件


  • 4624 系统时间更新事件(可以看出系统使用vm-agent,是个虚拟机,嘘)


  • 1102 日志被清除


还有更多解析事件等着大家探索。


除了内置的事件解析外,如果大家有不可告人的规则(嘘,还是期望能告诉我,加到内置规则中去),也可以自定义规则。
双击”自定义事件“按钮,就可以打开自定义规则文件,规则格式是这样:
事件ID/事件说明/[匹配正则]
如:要匹配事件ID为1102的日志被清除的事件,规则就是:1102/日志被清除(正则可以忽略,非必填)
再如:要匹配事件ID为4624的用户登录日志,匹配用户的IP,规则是:4624/用户登录/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(注意,最后一段是正则,如果有与正则表达式相同的字符,需要使用\进行转义)
再比如:我不知道事件ID,只知道关键字,可以这样:0/通配/192\.168\.1\.1(0代表通配,匹配所有的事件ID,后面正则为要匹配的IP地址,只有命中了才会在工具中展示)

动图封面


如果觉得在工具里面查看事件太过于简略,没有细节,也可以选中事件右键查看详情。

动图封面


同时也可以将日志保存到csv文件细细查看(可以将多个日志保存到同一个csv,也可以分别保存,看各位老板喜好)

动图封面


2024/5/20 v1.0.0.8 更新

上一版本回顾:

1、截止当前共获得29个star,这是笔者第一次在github发布小工具,看到大家给的star非常开心,感谢大家的捧场!

2、感谢小伙伴K4ack2013、daymissed、gongdidi、muxinmufei提及的建议和意见。通过正则方式自定义添加规则确实很不方便,目前新版本已更新通过模板方式自定义规则,会方便很多。另外内置规则也做了些补充,当然,目前内置规则并不是很齐全,笔者也在逐步完善,也欢迎小伙伴将新增自定义规则分享给我,我会适当更新到内置规则库中。


开发过程中一些思考:

1、随着添加内置规则越来越多,逐步发现一些问题。添加规则是希望能快速发现日志中的重点或可疑的行为,但随着规则越来越多查看日志也就变得越发困难,一个200M的日志文件,最后经过规则筛选生成了两万条解析后的日志说明信息,这个量级上就没办法快速看出问题。再加上规则解析的目标与最终能轻松快速发现问题的初衷其实是偏离的。站在规则的角度,能解析的日志越细越好,越多越好,最终结果就是把所有的日志全部解析一遍。但是站在快速定位的角度,给出的信息越精准,噪声越小越好。这其实也是大多数企业建设SIEM平台遇到的问题,日志全部都采集了,但是分析的规则却没几个。


2、那对于解析规则的数量上来后该怎么解决呢?IT圈有一个段子是这么说,没什么是加一个中间层解决不也的,如果有就再加一个中间层。所以,笔者在上一个版本的基础上添加一些中间层,最终日志分析的路径是这样:日志解析->日志筛选->日志分析->总结说明。

a、日志解析,也就是此前的重点事件和自定义事件,这一层负责对日志记录进行解析,只有解析后的日志才能进入下一个环节,这个过程可以剔除掉那些完全不相关的日志。

b、日志筛选,经过解析后的日志量依然非常大,我们可以先将一些已知的日志剔除掉,比如笔者所有公司会使用桌面助手,桌面助手会产生大量的系统日志。还有一些系统正常的日志记录,也可以根据经验进行剔除。

c、日志分析,经过一系列筛选后,日志量已经减少了很多,但在这些日志里面会混杂着用户的正常行为记录,本工具会通过两种方式来辅助小伙伴进行日志分析,方式一:对单条日志记录打标签,如:日志里面会包含很多4624的登陆事件,工具会对来源是具体IP的事件打上【远程登陆成功】标签;方式二:对进程和文件进行综合评分(开发中)

d、总结说明,完成上面步骤后,基本可以确实日志中的风险情况,最后一步就是按照日志时间点进行总结整理文字说明。

3、随着现在各种EDR、NDR、防病毒、HIDS系统,已经在很大程度上可以发现大部分异常行为,但是这些系统都没办法避免覆盖率问题,因为资源限制、业务要求、管理盲区无法做到百分百覆盖是必然事件。出现攻击事件,上述系统失效后,分析日志是最后可依靠的方式之一。当然,完全寄托于系统日志也并不可取,系统日志策略未配置、日志被攻击者删除、日志被其他应用覆盖也是很常见的问题。本工具的初衷是,在上述系统失效后,通过仅有的日志文件,能帮忙运营人员快速锁定攻击路径。


v1.0.0.8版本功能说明:

1、优化日志解析界面

解析界面更加简洁

2、优化自定义规则

动图封面
自定义解析规则

3、增加日志筛选

动图封面
通过关键字筛选日志

4、增加日志标签

动图封面
通过标签筛选日志

5、增加大纲展示

动图封面
以天为维度的大纲展示

6、增加生成文本摘要

动图封面
生成文本摘要

下一个版本的计划:

1、完善内置解析规则。

2、完善内置标签规则。

3、完善日志进程文件的综合评分分析。



工具下载地址:github.com/xbaogua/BaoG




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/9159.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: