BeaconKiller快速定位beacon进程和通信URL
字数 998 2025-08-29 22:41:32
BeaconKiller 工具使用与原理详解
一、工具概述
BeaconKiller 是一款针对 HTTP/HTTPS Beacon 的检测工具,主要用于应急响应场景,能够快速定位 Beacon 进程及其通信 URL。
主要优势
- 稳定性强:仅使用 ETW (Event Tracing for Windows) 技术
- 不需要加载内核模块
- 不需要注入 DLL
二、数据来源
BeaconKiller 通过以下 Windows 事件提供程序获取数据:
- 进程/镜像相关事件:由
Windows Kernel Trace提供 - WinINet 相关事件:由
Microsoft-Windows-WinINet提供 - WinHTTP 相关事件:由
Microsoft-Windows-WebIO提供
三、检测原理
Beacon 通常使用 sRDI (Shellcode Reflective DLL Injection) 等 shellcode 加载技术,具有以下特征:
-
启动时特征:
- 加载
wininet.dll或winhttp.dll时,堆栈回溯会出现unbacked地址
- 加载
-
通信时特征:
- 堆栈回溯会出现
unbacked地址
- 堆栈回溯会出现
unbacked 定义:栈回溯地址无法对应镜像地址,而是动态申请的可执行内存地址
四、绕过方法
- 启动时检测绕过:已有一些已知的绕过方法
- 通信时检测绕过:
- 修改
ntdll!EtwEventWrite函数,可阻断应用层的 ETW 日志 - 参考实现:Donut 项目的 bypass.c
- 修改
五、操作指南
-
右键菜单功能:
- 在进程/事件上右键,可弹出"结束进程"菜单
-
双击功能:
- 双击进程:查看启动参数
- 双击事件:查看详情
六、技术要点总结
-
ETW 技术优势:
- 无需内核模块和 DLL 注入,减少系统干扰
- 直接利用 Windows 内置的事件跟踪机制
-
Beacon 检测关键:
- 关注
wininet.dll和winhttp.dll的加载行为 - 识别堆栈回溯中的
unbacked内存地址
- 关注
-
防御方建议:
- 在应急响应中优先使用此工具快速定位可疑 Beacon
- 注意攻击者可能采用的 ETW 绕过技术
-
攻击方注意:
- 修改 ETW 日志记录是常见的检测规避手段
- 需考虑其他行为特征可能被检测的风险