查看: 122|回复: 1
收起左侧

[原创工具] ETWTraceDetector

[复制链接]
图钉鱼
发表于 8 小时前 | 显示全部楼层 |阅读模式
本帖最后由 图钉鱼 于 2025-11-30 14:48 编辑

目前处于测试阶段,功能迭代中,基本可用,有BUG请反馈,不适合用于可疑样本的行为审计,会漏行为。

概述
ETWTraceDetector 是一款无驱动的系统行为审计工具,基于Windows 事件跟踪 (ETW)  使用在操作系统内核中实现的缓冲和日志记录机制,ETW 为用户模式(应用)和内核模式组件(驱动程序)引发的事件提供基础结构。 NT Kernel Logger 与用户态 Provider,覆盖文件、注册表、进程、线程、镜像加载、系统调用、网络、堆栈回溯以及 Threat-Intelligence、AMSI、PowerShell、句柄与 ALPC 等关键行为。
屏幕截图 2025-11-30 141557.png
主要特性
- 行为覆盖:Process/Thread/Image/ Syscall(NtWriteVirtualMemory、NtProtectVirtualMemory、NtCreateThreadEx)、File、Registry、Network、StackWalk、Threat-Intelligence(TI)、AMSI、PowerShell、ALPC
- CSV 输出:
- 全列表 ETWTraceDetector_readable.csv(含中文 summary)
- 简版表 ETWTraceDetector_quick.csv(仅 ts,type,pid,summary),便于现场快速浏览
- 链路摘要:镜像加载后 2 秒内出现线程创建,输出“模块→线程”链路到控制台与快速 CSV
- 告警集:CLR 寄生、DLL 侧加载、WebShell 子进程、诱饵文件触碰、注册表持久化、DNS 隧道/心跳/速率突增、LSASS 敏感句柄访问/复制、ALPC Flood
- 体积控制:
- ETL 循环文件 + 上限(默认 256MB,可配置)
- Syscall 1 秒内去重 + 每秒每类型最多 100 条采样,溢出写入快速 CSV 的摘要行
--alerts-only仅写告警(普通事件不写 JSONL)

系统要求与兼容性
- 操作系统支持:
  - Windows 10 (1709+) / Windows 11 / Server 2016+: 完整支持所有功能(包括 Handle 审计)。
  - Windows 7 SP1 / Server 2008 R2: 基础支持(Process/Thread/Image/File/Net/Reg/ALPC),不支持 Handle 审计。
  - Windows XP / 2003: 不支持。

兼容性详细边界
| 基础审计 (Proc/Thread/Img) | PROCESS | THREAD | IMAGE_LOAD| Windows 7+ 以上 核心功能全版本可用 |
| 文件 I/O | DISK_FILE_IO | FILE_IO | Windows 7 + 默认开启 |
| 网络审计 | NETWORK_TCPIP(0x10000) | Windows Vista + 默认开启 |
| 注册表/ALPC | REGISTRY/ ALPC | Windows Vista + 默认开启 |
| 句柄审计 | OB_HANDLE(0x80000040) | Windows 10 | 仅在 Win10+ 自动启用,旧系统自动降级 |

注意 工具会在运行时自动检测操作系统版本。如果在 Windows 7/8.1 上运行,OB_HANDLE标志会自动被屏蔽,以防止 StartTrace失败。用户无需手动调整参数;失败时还将自动尝试 WPR/xperf 兜底。

文件输出说明
- 可读日志:ETWTraceDetector_readable.log(中文摘要)
- 全列 CSV:ETWTraceDetector_readable.csv
- 简版 CSV:ETWTraceDetector_quick.csv

系统模式与数据边界
- 触发方式:交互模式中“拖入目标程序或输入路径”留空,进入系统模式,监控后续新创建进程的活动。
- 默认边界:为避免数据爆炸,系统模式自动启用噪声过滤与采样控制。
  - 进程事件:若无 --image 过滤,仅记录进程启动/退出;设置 --image 时仅记录匹配镜像的进程事件。
  - 文件事件:忽略 Read操作;忽略系统目录(如 System32/SysWOW64)下的非删除操作。
  - 注册表事件:忽略 QueryValue 与 OpenKey等只读查询;保留写入/删除等修改行为。
  - 镜像加载:忽略常见系统 DLL 在系统目录的加载;记录非系统路径加载。
- 说明:系统模式的过滤与采样只影响详单输出,不会屏蔽告警与链路摘要;采样溢出将写入 ETWTraceDetector_quick.csv的 summary行。

权限与自我保护
- 入口自动启用特权:SeDebugPrivilege/SeSystemProfilePrivilege/SeSecurityPrivilege/SeBackupPrivilege
- 进程缓解策略(默认启用,允许注入):
- 二进制签名审计(不强拦第三方签名 DLL 注入)
- 禁止动态代码(降低进程内 RWX Shellcode 风险)
- 系统DLL优先(降低 DLL 侧加载风险)
> 如遇兼容问题可使用 --no-mitigations关闭;或使用 --mitigation-strict显式启用。

告警规则(示例)
- CLR 寄生:非托管进程加载 clr.dll/mscoree.dll/mscorlib.dll
- DLL 侧加载:知名系统 DLL(user32/kernel32/version/winhttp)不在 System32/SysWOW64 下加载
- WebShell 子进程:父进程为 Web 服务器(w3wp/httpd/nginx/tomcat),子进程为 cmd/powershell/net/whoami
- 诱饵文件触碰:热点目录(Desktop/Documents/C:\)下以 `_` 开头的文件被写或重命名
- 注册表持久化:Run/Services 写操作由 cmd/powershell/rundll32 发起
- DNS 行为:端口 53 高频/心跳方差极低/速率相对基线突增
- LSASS 敏感句柄:高权限访问或 DuplicateHandle
- ALPC Flood:非白名单端口 1 分钟超过 200 次发送

体积与性能控制策略
- ETL:循环文件 + MaximumFileSize上限,避免磁盘膨胀
- JSONL:--alerts-only+ Syscall 1 秒内去重(同键仅写一次)
- CSV:每秒每类型最多 100 条详单;溢出写入简版 CSV 的 summary行

卡巴OP检测通过,VT检测启发式AI杀
屏幕截图_30-11-2025_144357_opentip.kaspersky.com.jpeg 屏幕截图_30-11-2025_144412_www.virustotal.com.jpeg


ETWTrace.rar

253.85 KB, 阅读权限: 5, 下载次数: 2

评分

参与人数 1人气 +1 收起 理由
口条 + 1 版区有你更精彩: )

查看全部评分

100225220
发表于 7 分钟前 | 显示全部楼层
这么高级,有空研究研究
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-11-30 22:49 , Processed in 0.101090 second(s), 5 queries , Redis On.

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表