跟我们一起
玩转路由器

如何使用EvtMute对Windows事件日志进行筛选过滤

本文将为您详细介绍如何利用evtmute工具对windows事件日志进行筛选和过滤。evtmute允许我们使用yara规则进行攻击性操作,并对已经记录在windows事件日志中的事件进行动态过滤和筛选。

工具下载

研究人员可以使用以下命令将该项目克隆到本地:

或者,您可以直接点击底部【阅读原文】访问该项目的Releases页面,下载最新的EvtMute已编译版本。

工具使用

EvtMuteHook.dll包含该工具的核心功能,注入成功后,它将应用一个临时过滤器,允许报告所有事件。这个过滤器可以动态更新,而无需重新注入。SharpEvtMute.exe是一个C#程序集,可以通过在shad0w中执行或在Cobalt Strike中运行来使用。为了更好地与shad0w集成,我还计划用C语言编写原生版本。

禁用日志记录

EvtMute最常见的使用场景是禁用系统范围内的事件日志记录。我们可以应用以下Yara规则来实现:

首先,我们需要通过向事件(event)服务中注入钩子:

钩子设置好后,我们可以开始添加过滤器:

现在,event服务将忽略所有事件。

复杂型过滤器

EvtMute的过滤器可以动态更改,且无需重新注入钩子,这使得研究人员可以轻松更新现有的过滤器和规则。

以下是一个更复杂的过滤器示例,它可以阻止sysmon报告与lsass内存转储相关的事件:

对于这种复杂的Yara规则,我们很难将其浓缩成一行代码,因此我在EvtMute中添加了Base64编码功能。

可以通过Linux命令行终端将规则转换为Base64编码:

然后,使用—Encoded选项将其传递给过滤器:

操作安全注意事项

在注入钩子时,SharpEvtMute.exe会调用CreateRemoteThread,这个调用是在钩子设置之前进行的,因此会被Sysmon捕捉并报告。由于SharpEvtMute.exe文件仅用于PoC,我建议大家手动将EvtMuteHook.dll注入到事件日志服务中。

可以通过运行以下命令查看事件日志服务的进程PID,您还可以通过C2框架将钩子手动注入到shellcode中。

值得注意的是,钩子将使用命名管道来更新过滤器,命名的管道名为EvtMuteHook_Rule_Pipe。

项目地址

EvtMute:点击底部【阅读原文】获取

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《如何使用EvtMute对Windows事件日志进行筛选过滤》
文章链接:https://www.lu-you.com/settings/29951.html
本站资源来源于互联网整理,若有图片影像侵权,联系邮箱429682998@qq.com删除,谢谢。

评论 抢沙发

登录

找回密码

注册