Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
APT-Hunter — APT-Hunter 是一个用于 Windows 事件日志的威胁狩猎工具,采用紫队思维设计,用于检测隐藏在大量 Windows 事件日志中的 APT 活动,从而缩短发现可疑活动的时间。 | Kitploit
工具/GitHubGitHub/ahmedkhlief/apt-hunter
取证分析威胁情报事件响应日志分析
GitHubahmedkhlief/apt-hunter

APT-Hunter

APT-Hunter 是一个用于 Windows 事件日志的威胁狩猎工具,采用紫队思维设计,用于检测隐藏在大量 Windows 事件日志中的 APT 活动,从而缩短发现可疑活动的时间。

查看仓库网站
1.4k246100天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

APT-Hunter

APT-Hunter

以紫队思维构建的 Windows 事件日志威胁狩猎工具。

Release Downloads Stars Contributors Python 3.8+ License

APT-Hunter 是一款用于 Windows 事件日志的威胁狩猎工具。它利用预定义的检测规则和日志统计,从海量事件中挖掘隐藏的 APT 活动,缩短发现可疑行为所需的时间。它在入侵评估中尤为有效。

结果以时间线形式输出,可直接在 Excel、Timeline Explorer、Timesketch 等工具中分析,也可在内置的 Web 仪表板中查看,并可选配本地 LLM 进行研判。

  • Introducing APT-Hunter
  • APT-Hunter v3.0: rebuilt with multiprocessing

目录

  • 功能特性
  • 安装
  • 快速开始
  • 命令行选项
  • 示例
  • Web 仪表板
  • 本地 LLM 分析
  • 智能体研判
  • 输出示例
  • 作者
  • 致谢

功能特性

  • 基于规则的检测,覆盖 Security、System、Sysmon、PowerShell、Defender、WinRM、Scheduled Tasks、Terminal Services 等日志;日志类型自动识别。
  • 多进程引擎,可快速分析大型日志集。
  • 狩猎支持字符串、正则表达式或正则文件,并支持 Sigma 规则。
  • Office 365 审计日志狩猎。
  • 时间线输出为 Excel、CSV(可直接用于 Timesketch),以及专门的登录、进程执行和对象访问报告。
  • Web 仪表板,支持筛选、图表、事件时间线和 IR 报告导出(Markdown / .docx)。
  • 本地 LLM 分析,可通过任何兼容 OpenAI 的服务器(Ollama、LM Studio、llama.cpp)进行。数据不会离开你的机器。
  • 智能体研判,将数千条告警聚类为一份简短、可审查的发现列表。

安装

从 Releases 页面下载编译好的二进制文件,或从源码运行(Python 3.8+):

root@kitploit:~
git clone https://github.com/ahmedkhlief/APT-Hunter.git
cd APT-Hunter
python3 -m pip install -r requirements.txt

快速开始

root@kitploit:~
python3 APT-Hunter.py -p /opt/wineventlogs/ -o Project1 -allreport

-p 接受一个目录或单个文件。添加 -web 可在分析完成后打开仪表板。

APT-Hunter Help

APT-Hunter analysing with all reports

APT-Hunter command-line output

APT-Hunter Excel output

APT-Hunter CSV output with Timesketch

命令行选项

运行 python3 APT-Hunter.py -h 查看完整列表。主要选项:

示例

分析一个包含 EVTX 文件的文件夹(日志类型自动识别):

root@kitploit:~
python3 APT-Hunter.py -p /opt/wineventlogs/ -o Project1 -allreport

聚焦某个时间范围:

root@kitploit:~
python3 APT-Hunter.py -p /opt/wineventlogs/ -o Project1 -allreport -start 2022-04-03 -end 2022-04-05T20:56

使用字符串、正则表达式或正则文件进行狩猎:

root@kitploit:~
python3 APT-Hunter.py -hunt "psexec" -p /opt/wineventlogs/ -o Project2
python3 APT-Hunter.py -huntfile "(psexec|psexesvc)" -p /opt/wineventlogs/ -o Project2
python3 APT-Hunter.py -huntfile huntfile.txt -p /opt/wineventlogs/ -o Project2

使用 Sigma 规则进行狩猎:

root@kitploit:~
python3 APT-Hunter.py -sigma -rules rules.json -p /opt/wineventlogs/ -o Project2

获取为 APT-Hunter 转换的最新 Sigma 规则(生成 rules.json):

root@kitploit:~
./Get_Latest_Sigma_Rules.sh

Web 仪表板

在浏览器中浏览生成的报告:筛选、图表、事件时间线和 IR 报告导出。

root@kitploit:~
python3 run_webapp.py <Output>/<Output>_Report.xlsx     # 或传入输出目录
python3 APT-Hunter.py -p <logs> -o <Output> -web         # 分析后打开仪表板
python3 APT-Hunter.py -webview <Output>                  # 打开已有报告

接受一条研判发现会将其连同证据固定到事件时间线上,证据以可折叠的子事件形式附加:它们位于表格中该发现的下方,而不是与其他所有内容交错排列,并且不会显示在时间线图表上,以保持图表可读。移除一条发现时,其子事件也会一并移除。

服务器默认绑定到 0.0.0.0:5000。使用 --host / --port(或 -webhost / -webport)更改此设置,例如 --host 127.0.0.1 以保持本地访问。重建报告缓存时,已审查的发现和时间线会被保留。

Main dashboard

主仪表板:事件总数和严重性计数、严重性分布、触发最多的检测规则,以及每日事件量。侧边栏列出报告中的每个事件日志和汇总表。

Incident timeline plot

事件时间线:已固定的发现按时间绘制,并按严重性以颜色区分。可缩放和平移进入繁忙时段,生成 AI 执行摘要,并导出 IR 报告或 CSV。

Incident timeline event details

按时间顺序的时间线:一条攻击链展开为其子事件,详情面板显示叙述、MITRE 技术和评分。

事件时间线图表可缩放,因此相隔数分钟或数秒的事件爆发仍保持可读:在图表上拖动可缩放至某个时段,Shift+拖动可平移,Ctrl/Cmd+滚轮可围绕光标缩放,或使用下方的概览条。标签永不重叠;放不下的标签会被隐藏,将鼠标悬停在某个点上会列出堆叠在该点上的所有事件。

本地 LLM 分析

使用本地模型对检测到的事件进行恶意性评分,从命令行执行:

root@kitploit:~
python3 APT-Hunter.py -p <logs> -o <Output> -llm -llm-provider ollama -llm-model llama3 -llm-severity High

或在仪表板中按事件执行(检查、解释、关联)。在仪表板的 Settings 页面配置提供商(Ollama / LM Studio / llama.cpp)、模型、URL 和超时。任何兼容 OpenAI 的本地服务器均可使用;不会向云服务发送任何数据。

智能体研判

仪表板侧边栏中的 Agentic Triage 可将数千条告警转化为一份简短的发现列表:

  1. 聚类。 所选范围(最低严重性、计算机、时间窗口)内的告警按规则、主机、事件 ID 和消息形态分组。一份包含约 13.5k 条告警的报告通常可压缩为几十个聚类。
  2. 首轮判定。 LLM 对每个聚类恰好判定一次。这一轮成本低且覆盖全面,可确保不遗漏任何内容。
  3. 调查。 智能体使用工具处理存活的线索:搜索告警、读取告警背后的原始事件日志、围绕某个时刻浏览时间线,并将其发现关联成攻击链。它只能提出发现;绝不会自行写入时间线。
  4. 审查。 发现会出现在队列中,附带评分、判定、MITRE 技术、证据和智能体的调查轨迹。接受会将一条发现添加到事件时间线(以及 IR 报告 / .docx 导出);拒绝会将其丢弃。可在 Settings 中(或每次运行时)设置自动添加阈值,以自动接受高分发现。

调查阶段需要一个支持工具调用的 LLM。如果你的模型不支持,APT-Hunter 会回退到固定的透视/关联流水线。两种方式的覆盖率完全相同,因为智能体只是在首轮之上增加深度。工具轮次和挂钟时间限制可在 Settings 中设置上限。

Agentic Triage runs

智能体研判:运行历史显示每次运行的范围、告警和聚类数量、发现和 LLM 调用次数。此处一台主机上的 91 条严重告警压缩为 32 个聚类和一条高分攻击链。

Agentic investigation trace

发现详情:叙述、MITRE 技术、证据和完整的调查轨迹(智能体读取的每个事件、时间线窗口和告警搜索),因此每个结论都可审计。

注意: LLM 输出是研判辅助,而非最终判定。在依赖发现之前请先审查。推理模型可能需要将请求超时提高到远超默认的 200 秒。

输出示例

作者

Twitter: @ahmed_khlief · LinkedIn: Ahmed Khlief

许可证

基于 GNU GPL v3 分发。参见 LICENSE。

致谢

感谢 Joe Maccry 在 Sysmon 用例方面的杰出贡献(Joe 添加了 100 多个用例)

下载工具
选项描述
-p, --path要分析的日志文件或文件夹
-o, --out输出名称 / 目录
-start, -end限制时间线范围(ISO 格式)
-tz时区(local 或例如 Asia/Dubai)
-cores使用的 CPU 核心数(默认:可用核心数的一半)
-hunt, -huntfile, -eid按字符串/正则、正则文件或 Event ID 进行狩猎
-sigma, -rules使用转换为 JSON 的 Sigma 规则进行狩猎
-o365hunt, -o365rules, -o365rawOffice 365 审计日志狩猎
-procexec, -logon, -objaccess, -allreport额外报告
-web, -webview, -webhost, -webport启动 Web 仪表板
-llm, -llm-provider, -llm-url, -llm-model, -llm-key, -llm-severity, -llm-batch, -llm-context本地 LLM 分析
示例描述
Sample_TimeSketch.csv可上传到 Timesketch 的时间线,用于查看攻击的全貌
Sample_Report.xlsx所有提供的 Windows 日志中检测到的每个事件
Sample_Logon_Events.csv所有登录事件及其解析字段(日期、用户、源 IP、登录进程、工作站、登录类型、设备、原始日志)
Sample_Process_Execution_Events.csv从事件日志中捕获的所有进程执行
Sample_Object_Access_Events.csv从 Event 4663 捕获的对象访问
Sample_Collected-SIDS.csv用户及其 SID,有助于调查
EventID_Frequency_Analysis.xls事件 ID 频率分析