日志入侵调查:通过Windows事件日志还原攻击者完整行动轨迹

4 阅读6分钟

HTB 解题报告 — 解决侦查案:LogJammer

本文记录了我在应对 LogJammer 数字取证调查时的分析方法,以及从多个 Windows 事件日志中提取证据所采取的步骤。数据集包含 Security.evtx、System.evtx、PowerShell Operational.evtx、Windows Defender Operational.evtx 和 Windows Firewall With Advanced Security.evtx。

目标在理论上很简单:通过分析身份验证事件、计划任务、恶意软件检测、防火墙规则更改、审计策略修改和日志篡改,重建用户的操作时间线。当然,正确地完成这项工作需要的耐心远超其表面听起来的样子。所有答案均已隐去,以便其他人可以尝试挑战。

1. 用户 cyberjunkie 首次成功登录其计算机的时间是?(UTC)

我首先深入检查 Security 日志,重点查找事件 ID 4624,该事件记录成功的登录。接着,我筛选出目标用户名是相关账户且登录类型表示交互式会话的记录。按时间对剩余事件排序,很容易确定最早的合法登录时间。

隐去答案:██/██/████ ██:██:██ UTC

2. 用户篡改了系统上的防火墙设置。分析防火墙事件日志,找出添加的防火墙规则名称?

接着,我转向 Windows 高级安全防火墙日志。事件 ID 2004 记录了防火墙规则的添加或修改,因此这是我的关注点。单个事件即可提供所需的所有信息:规则名称、方向(入站/出站)、端口以及进行更改的账户。

规则名称(隐去):███████████████ 方向(隐去):██████████

3. 防火墙规则的方向是什么?

审计策略更改值得尽早调查,因为攻击者通常在进行任何可能产生噪音的操作前,会先削弱或禁用审计功能。此处应关注事件 ID 4719。

事件 XML 包含子类别标识符和 GUID。将这些值与微软文档进行匹配后,可以清楚地知道审计策略的哪个部分被更改了。

更改的子类别(隐去):██████████████████████████

4. 用户更改了计算机的审计策略。更改的策略子类别是什么?

计划任务是实现持久性的常用技术。Windows 通过事件 ID 4698(创建)和 4702(更新)记录这些任务。这些事件包含一个嵌入的 XML 块,详细说明了任务运行的内容、方式及参数。

任务名称(隐去):██████████████ 脚本路径(隐去):C:\████████████████ 参数(隐去):███ ████████████████

5. 用户 “cyberjunkie” 创建了一个计划任务。该任务的名称是什么?

Windows Defender 操作日志可能提供了最清晰的证据。事件 ID 1117 和 1116 展示了完整信息:检测到了什么、位于何处以及 Defender 采取的响应措施。Defender 日志非常直接,这使得它们在数字取证调查中易于处理。

检测到的威胁(隐去):██████████████ 容器路径(隐去):C:\█████████████████ 采取的操作(隐去):██████████

6. 计划任务计划执行的文件的完整路径是什么?

为了查看用户实际运行的命令,我转到了 PowerShell 操作日志。事件 ID 4104(脚本块日志记录)在启用 PowerShell 脚本块日志记录时记录命令和脚本内容。此事件包含用户执行的确切命令,并将之前与计划任务相关的一些发现串联起来。

执行的命令(隐去):████████████████████████████████████

7. 命令的参数是什么?

最后,我检查了 System 日志中的日志清除事件。Windows 使用事件 ID 104 记录这些操作,它显示了谁清除了日志以及清除了哪个特定日志文件。这始终需要认真对待,因为故意清除日志很少是无辜的。(提示:可在与问题 5 和 6 相同的位置找到此信息)

被清除的日志(隐去):██████████████████████████████████

8. 系统上运行的反病毒软件识别出一个威胁并对其采取了操作。反病毒软件将哪个工具识别为恶意软件?

为了确定哪个工具触发了 Windows Defender,我仔细梳理了 Windows Defender 操作日志。事件 ID 1117 是关键,因为它记录了 Defender 分配给该文件的确切威胁名称。在此挑战中,该事件清楚地显示了哪个工具被标记。由于此工具通常用于域枚举和红队操作,Defender 捕获它并发出警报是合理的。

检测到的威胁(隐去):███████████████

9. 触发警报的恶意软件的完整路径是什么?

事件 ID 1117 还列出了检测文件的位置。Defender 通常会同时显示容器(如 ZIP 文件)和其中的特定可执行文件,但根据挑战的编写方式,可能只需要其中一个作为答案。在本例中,正确答案只是包含恶意工具的下载存档路径。

(提示:继续在之前相同的位置挖掘)

恶意软件路径(隐去):C:\████████████████████

10. 反病毒软件采取了什么操作?

Windows Defender 日志在相同的事件对(事件 ID 1116 和 1117)下记录了补救步骤。补救操作可以是隔离、删除、阻止或允许,具体取决于 Defender 的设置。在此次调查中,Defender 对此类工具采取了预期的操作,事件明确记录了结果。

采取的操作(隐去):███████████

11. 用户使用 PowerShell 执行命令。用户执行了什么命令?

为了完成脚本执行的调查,我再次查阅了 PowerShell 操作日志。事件 ID 4104 不仅提供片段,它还记录完整的 ScriptBlock,包括用户键入的确切命令。这与计划任务 XML 中看到的脚本完美对应。

执行的命令(隐去):████████████████████████████████████████

12. 我们怀疑用户删除了一些事件日志。哪个事件日志文件被清除了?

最后,我确认了用户是否清除了任何日志。System.evtx 中的事件 ID 104 准确告诉你什么被清除以及由谁清除。在此案例中,用户针对了一个非常具体的日志:防火墙日志。这是有人试图掩盖他们在时间线早期如何更改规则的典型迹象。

被清除的日志(隐去):████████████████████

最终思考

这个挑战的有趣之处不在于单个任务,而在于各个部分如何相互关联。如果你愿意深入挖掘、在数据源之间切换并关联正确的字段,Windows 事件日志可以讲述一个完整的故事。完成这项工作强化了一些基本的数字取证习惯:仔细阅读事件 XML、正确映射 GUID、识别攻击者模式,以及仅使用日志构件从头构建时间线。

如果你正在为安全运营中心或数字取证工作做准备,像这样的挑战非常有用。它们迫使你放慢速度,跟随证据,并培养在处理真实调查时至关重要的直觉。 CSD0tFqvECLokhw9aBeRqnsf/19nQK+cEU1WvK58h+2mqf27yv6vE7lPnkwrfqiklp+4Ttqi+ibcTjlFDNT0fm6T+I9daO3pDFEfxT+ru1doPR0aZ7mb7rmJOuUNb+kC