项目日志

HoneyKiller v3.0:从零手写渗透测试平台的 12 小时

挖洞实战记录与安全技术分享

2026-06-178 分钟阅读25 Views
HoneyKiller v3.0:从零手写渗透测试平台的 12 小时

HoneyKiller v3.0:从零手写渗透测试平台的 12 小时

这事说出来我自己都不太信——从想法到 MVP,12 小时,17663 行 Python。

起因

2026 年 5 月,我开始搞 bug bounty。逛了一圈市面上的工具:

  • Burp Suite — 功能强大但贵,专业版一年 $399
  • Metasploit — 太重了,扫个站跑半天
  • Nuclei — 轻量,但 YAML 模板写多了想吐
  • PentAGI — 自动化是自动化了,但烧 token 烧得心疼

思路逐渐清晰:我需要一个自己的工具组合,要轻量、模块化、能按需组合攻击链,还要带迷惑反制。

HoneyKiller 架构

整个项目分成 6 层蜜罐防御 + 14 个攻击模块:

honeykiller/
├── core/              # 核心框架
│   ├── engine.py      # 攻击引擎
│   ├── scanner.py     # 扫描器
│   └── reporter.py    # 报告生成
├── defenses/          # 蜜罐防御系统
│   ├── injection_shield.py  # 注入防护
│   ├── fingerprint.py       # 指纹伪装
│   ├── false_flag.py        # 虚假标记
│   ├── honeytoken_chain.py  # 蜜令牌链
│   ├── escape_detector.py   # 逃逸检测
│   └── exorcism.py          # 赛博驱魔(零宽字符反制)
├── modules/           # 攻击模块 × 14
├── ai_waf/            # AI-WAF
└── tests/             # 238 个测试

最有意思的部分:赛博驱魔

Exorcism 模块是我最得意的设计。它检测攻击请求中是否包含零宽字符(zero-width characters)——这是绕过 WAF 的常见手法,先注入不可见字符扰乱规则匹配,再在服务端清洗。

HoneyKiller 的做法是反过来利用这一点:

  • 检测到零宽字符注入请求后,不直接拦截
  • 而是在响应中注入陷阱 payload,让攻击者的自动化工具中毒
  • 相当于一个"反向蜜罐"

技术难点

1. AI-WAF 延迟

一开始我想用 LLM 做实时请求分析,但 API 延迟太高(300ms+)。最后方案是:规则引擎做快速拦截 + LLM 做深度分析样本,双通道。

2. 测试覆盖

238 个测试,听起来多,但实际上覆盖不够。安全工具最难测的是"未知攻击模式",单元测试只能测已知场景。

3. Windows Defender 报毒

这可能是最高兴的"问题"——HoneyKiller 刚编译好就被 Defender 报毒。说明工具的 payload 模拟得太像真攻击了。最后加了白名单绕过,但在 Windows 上跑还是需要关 Defender。

学到了什么

  1. 不要重复造轮子 — HoneyKiller 把 nuclei、nmap、curl 等现有工具组合成工作流,而不是重新实现网络协议
  2. 防御比攻击难 10 倍 — 6 层蜜罐听起来很多,但每种绕过方式其实都有先例
  3. 自研工具的最大价值是理解 — 写一遍 HoneyKiller 对攻击链路的理解比读十篇论文都深

现在

HoneyKiller 还在持续更新中。虽然不是商业级产品,但在我自己的挖洞流程里一直在用。后续计划加更多的协议解析和被动扫描能力。

[项目不再公开,但代码一直在我本地迭代]

© 2026 龙的中二幻想空间 Dragon Fantasy Archive. All rights reserved.

归档标签分类ICP 备案 202400001号-1