Unexplored LOLBAS Technique Wevtutil
利用本地二进制文件和脚本(LOLBAS)技术已成为攻击者的首选策略。这些方法依赖于合法的、预装的 Windows 工具来执行恶意活动,常常在安全控制下悄然无声地进行。在这篇文章中,我们将更深入地探讨wevtutil.exe
的一个鲜为人知的用途,这是一种用于管理 Windows 事件日志的工具,以及它如何被用作强大的 LOLBAS 工具。
什么是 Wevtutil.exe?
Wevtutil.exe
是 Windows 提供的一个命令行工具,用于查询、导出和管理事件日志。系统管理员通常使用它来收集和管理日志,以便进行故障排除或审计。尽管它的初衷是如此,但wevtutil.exe
的功能可以在恶意环境中被操控以达到意想不到的用途。
wevtutil.exe
的主要功能包括:
-
将事件日志导出为 XML 格式。 -
清除特定或所有事件日志。 -
根据定义的标准查询事件日志。
这些功能使得wevtutil.exe
成为一把双刃剑:虽然对合法操作至关重要,但它们也可以帮助攻击者掩盖痕迹或提取信息。
Wevtutil.exe 在 LOLBAS 上下文中的用途
Wevtutil.exe
可以在 LOLBAS 上下文中被利用来清除、查询或导出事件日志,帮助攻击者逃避检测并提取数据。它在 Windows 系统上的原生存在使其成为后期利用活动中一个隐蔽而有效的工具。
选择性日志清除以实现规避
攻击者可以使用wevtutil cl
来清除所有日志或选择性地清除特定日志。虽然日志清除并不是一种新战术,但使用不太常见的工具可能会规避主要关注广泛使用工具(如 PowerShell)的传统检测机制。
wevtutil cl Application
以下是事件查看器中应用程序事件日志的视图。
作为标准用户,尝试运行该命令会导致“访问被拒绝”的错误。
使用提升的命令提示符,运行该命令成功清除了应用程序日志。
限制
wevtutil
命令无法清除事件日志中的特定事件。它在整个日志文件上操作,不支持选择性删除单个事件。
虽然wevtutil.exe
也可以用于清除安全事件日志,但这样做并不像清除其他日志那样隐蔽。清除安全日志会在 Windows 事件查看器中生成事件 ID 1102。该事件作为一个关键的安全信号,表明审计日志已被清除。
事件 ID 1102 包含诸如用户名和负责日志清除操作的进程等详细信息,使其对防御者和安全监控工具非常显眼。这种固有的可追溯性使得它对专注于规避的攻击者吸引力降低。
Windows默认不记录 表示清除非安全日志(如应用程序或系统)的事件。这种差异存在是因为安全日志被视为系统审计和取证调查的关键组成部分,而其他日志则不被视为同等标准。
为了解决这个问题,管理员可以启用审计策略来跟踪日志清除活动。相关设置为:
启用审计策略:使用以下组策略设置审计日志管理操作:审计策略更改(用于高级审计策略)路径: 计算机配置 > Windows 设置 > 安全设置 > 高级审计策略配置 > 对象访问 > 审计其他对象访问事件
权限和检测考虑
-
所需权限: 管理员或同等权限。 -
原因: 清除事件日志会影响系统审计,并受到限制以防止篡改或破坏取证证据。只有管理员组中的用户或具有提升权限的帐户才能清除日志。 -
检测提示: 清除日志通常会生成一个事件(例如,安全日志中的事件 ID 1102),如果集中日志记录到位,可能会提醒防御者。
事件日志的提取
Wevtutil.exe
可以使用wevtutil qe
命令以 XML 格式导出事件日志。攻击者可以提取日志中嵌入的敏感信息(例如,凭据或内部活动的指示)并进行提取。
wevtutil qe Security /f:xml > exported_logs.xml
作为标准用户,尝试运行该命令会导致“访问被拒绝”的错误。
使用提升的命令提示符,运行该命令成功将日志导出到我们的桌面。
以下是一些导出日志的替代命令:
wevtutil epl Security exported.evtx
wevtutil epl Application exported.evtx
权限和检测考虑
-
所需权限: 管理员或具有读取特定导出日志权限的用户。 -
原因: 阅读和导出日志通常需要对相关日志文件的访问权限。虽然管理员通常可以访问所有日志,但非管理员用户可能只能访问明确授予权限的日志(例如,应用程序日志)。 -
示例: -
安全日志:通常仅限于管理员和事件日志读取者。 -
应用程序/系统日志:在某些配置中,标准用户可能可以访问。
-
日志查询以进行侦察
Wevtutil.exe
允许精确查询日志,使攻击者能够收集有关系统活动或用户行为的情报。通过利用自定义查询,攻击者可以深入了解身份验证尝试、系统错误或特权操作。
wevtutil qe Security /q:"*[System[EventID=4624]]"
作为标准用户,尝试运行该命令会导致“访问被拒绝”的错误。
使用提升的命令提示符,运行该命令成功显示与事件 ID 4624 相关的所有日志。这将检索成功登录事件的条目,使攻击者能够分析用户活动模式。
权限和检测考虑
-
所需权限: -
对于敏感日志(例如,安全日志),需要管理员或事件日志读取者角色。 -
对于应用程序或设置等日志,标准用户可以根据权限访问。
-
-
原因: 查询日志的侵入性低于清除日志,因此访问通常更为宽松。然而,关键日志(如安全日志)仍然限制在特权用户中。
通过 LOLBAS 工具链绕过检测
将wevtutil.exe
作为 LOLBAS 工具链的一部分可以进一步模糊化操作。例如,攻击者可以:
-
使用 wevtutil.exe
导出日志。 -
使用 makecab.exe
压缩导出的文件。 -
使用 certutil.exe
将文件上传到远程位置。
为了应对这些对wevtutil.exe
的新型滥用,组织应考虑以下策略:
-
增强监控 -
监控 wevtutil.exe
的使用,特别是对于不寻常的命令,如cl
(清除日志)或qe
(查询/导出日志)。 -
建立 wevtutil.exe
合法使用的基线,以检测异常。
-
-
事件日志完整性 -
强制实施严格的访问控制,以防止未经授权的用户清除或导出事件日志。 -
利用集中日志聚合确保冗余并检测差异。
-
-
行为分析 -
将行为分析与基于规则的监控结合起来,以识别与 LOLBAS 技术一致的模式。 -
标记在 LOLBAS 工具链中常用工具的组合(例如, wevtutil.exe
后跟makecab.exe
和certutil.exe
)。
-
结论
Wevtutil.exe
是一个内置的 Windows 工具,是管理事件日志的强大工具。虽然在合法的管理任务中不可或缺,但它也可以在“生活在土地上”(LOLBAS)背景下被恶意利用。攻击者可以使用它清除日志、查询特定事件数据或导出日志以进行外泄。清除安全日志会生成事件 ID 1102,使此类行为可被检测,但其他日志如应用程序和系统可以在默认情况下清除而不留痕迹。
权限要求将日志清除限制在具有管理员权限的用户中,从而确保一定程度的保护。然而,启用高级审计策略可以提高检测能力,即使对于非安全日志也能记录事件。理解这些行为对于利用该工具的红队和旨在检测和减轻其滥用的防御者至关重要。
参考
wevtutil[1]
Wevtutil, Software S0645 | MITRE ATT&CK®[2]
参考资料
wevtutil:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/wevtutil?ref=denwp.com
[2]Wevtutil, Software S0645 | MITRE ATT&CK®:https://attack.mitre.org/software/S0645/?ref=denwp.com
原文始发于微信公众号(securitainment):未探索的 LOLBAS 技术 Wevtutil
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论