“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
欢迎大家使用,有任何问题可通过工具上邮箱与笔者进行反馈、交流~