Windows日志一把梭

文摘   科技   2024-03-22 15:01   广东  

“A9 Team 甲方攻防团队,成员来自某证券、微步、青藤、长亭、安全狗等公司。成员能力涉及安全运营、威胁情报、攻防对抗、渗透测试、数据安全、安全产品开发等领域,持续分享安全运营和攻防的思考和实践。”


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,也可以分别保存,看各位老板喜好)





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

欢迎大家使用,有任何问题可通过工具上邮箱与笔者进行反馈、交流~










A9 Team
A9 Team 甲方攻防团队,成员来自某证券、微步、青藤、长亭、安全狗等公司。成员能力涉及安全运营、威胁情报、攻防对抗、渗透测试、数据安全、安全产品开发等领域,持续分享安全运营和攻防的思考和实践,期望和朋友们共同进步,守望相助,合作共赢。
 最新文章