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

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

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

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

工具目录

分类

查看所有分类
Loading categories
beacon-hunter — 检测phi结构的C2信标,这些信标可逃避RITA及基于常规的检测器。 | Kitploit
工具/GitHubGitHub/mrcord77/beacon-hunter
网络安全渗透测试命令与控制威胁情报入侵检测论文与研究学习与教育异常检测
GitHubmrcord77/beacon-hunter

beacon-hunter

检测phi结构的C2信标,这些信标可逃避RITA及基于常规的检测器。

查看仓库
92个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

信标猎人

通过加法递归检测非周期性结构化C2

信标猎人检测使用phi兼容加法递归调度的命令与控制信标——一种增长型、非周期性的时序模式,其中每个连接间隔大致等于前两个间隔之和。该家族设计上规避了基于规律性的检测器(RITA、AC-Hunter),同时通过双门递归测试在结构上保持可识别性。

"信标不必是周期性的才能是结构化的。"


快速开始

流程图

信标猎人双门流水线:门1通过phi比率聚类过滤,门2测试加法递归结构。

root@kitploit:~
pip install -r requirements.txt

# 在Zeek的conn.log上运行
python beacon_hunter.py /path/to/conn.log

# 重现所有论文结果
python run_full_evaluation.py --quick    # 约2分钟,跳过完整证据套件
python run_full_evaluation.py           # 约5分钟,完整流水线

# 运行单元测试
pytest tests/

# 端到端验证(验证论文声称)
python validate.py

工作原理

信标猎人是一个在Zeek连接日志上运行的双门流水线。

门1 — 比率测试
对来自同一源/目的对的连接进行分组,并计算连续连接间间隔(ICI)的比率。如果平均比率接近phi(φ = 1.618)且在±0.20以内,且比率变异系数(CV)低于0.50,则通过。最少需要5个间隔。

门2 — 加法递归测试
测试所有连续三元组是否满足 ICI[n+2] ≈ ICI[n+1] + ICI[n] ,使用相对于500次置换零假设的平均相对误差。如果平均误差<0.20且p<0.05则通过。该门拒绝幂律增长(残差0.40)和指数退避(0.56),这些偶然会通过门1。

分类标签

标签含义
ADDITIVE_RECURRENCE_BEACON两个门均通过——phi兼容的增长间隔调度
JITTERED_BEACON带抖动的周期性——通过比率门,未通过递归测试
REGULAR_BEACON固定间隔信标
BACKGROUND未检测到信标结构
INSUFFICIENT_DATA少于5个间隔

接受窗口: 几何比率在[1.45, 1.80]范围内,通过边界扫描经验验证。


架构

root@kitploit:~
beacon_hunter_github/
├── beacon_hunter.py          # CLI检测器——入口点
├── detectors.py              # 纯无状态门函数(556行)
├── validate.py               # 32项端到端验证
├── run_full_evaluation.py    # 一键复现流水线
├── requirements.txt          # 固定版本依赖
├── evidence/
│   ├── evidence_suite.py     # 所有6个评估套件(实验A-J)
│   ├── rita_comparison.py    # RITA风格周期性基线 + 真实RITA对比
│   ├── roc_and_ci.py         # ROC曲线(AUC=0.900)+ Wilson置信区间
│   ├── generate_figures.py   # 图1-7(PNG + PDF)
│   └── *.json                # 预计算结果
├── data/
│   ├── pcaps/                # 真实PCAP文件(见下方数据集说明)
│   └── zeek/                 # Zeek的conn.log文件
├── figures/                  # 图1-8 PNG + PDF(顺序编号)
├── paper/                    # 完整论文(含附录A-G)
├── reports/                  # 信标猎人输出报告 + 真实RITA v5.1.2输出
├── tests/
│   └── test_detectors.py     # 34个单元测试(34/34通过)
├── tools/
│   ├── fib_beacon_client.py  # 斐波那契信标流量生成器
│   ├── fib_beacon_server.py
│   └── uwf_to_connlog.py     # UWF-ZeekData22 parquet → Zeek conn.log转换器
└── archive/                  # 已弃用的脚本(legacy_detectors.py, old scanners)

证据流水线


数据集说明

对于UWF-ZeekData22评估:从 https://datasets.uwf.edu/data/ 下载,并使用 tools/uwf_to_connlog.py 转换。


关键结果


运行验证

以下结果来自信标猎人对真实企业流量的运行:

真实RITA v5.1.2对比(reports/rita_output_v5.1.2_24h.txt):
两种工具均检测到了30秒抖动周期性信标。RITA在其他50个严重/高危警报中将其评分为0.617低严重性。信标猎人将其分类为 JITTERED_BEACON。纯加法递归调度在RITA中的得分低于0.35——这在附录A中通过分析证明,并经经验确认。

UWF-ZeekData22(100万个真实企业连接):
在良性周内,0/12,083个分析流程被标记为 ADDITIVE_RECURRENCE_BEACON。在侦察/发现攻击周内,0/1,995 被标记(正确——端口扫描不是信标行为)。所有4个注入的斐波那契信标在0–25%抖动下均被检测到。

24小时企业Zeek背景:
1/243 个分析流程被标记——IPv6 NDP在34%分析师分类启发式下,边缘且可归因于协议。


复现

参见 EXPECTED_RESULTS.md 了解预期的精确数值输出。

root@kitploit:~
# 快速验证所有论文声称:
python validate.py

# 完整流水线(从头生成所有输出):
python run_full_evaluation.py

# 预期:32/32验证检查通过,ROC AUC=0.900,抖动20%=100%检测

局限性

  • 尚无确认的真实世界恶意软件使用phi兼容调度(威胁模型是理论性的)
  • 假阳性率基于两个真实数据集进行了表征;企业规模的多周评估仍是未来工作
  • 检测面设计上较窄——该检测器针对单一结构时序家族

引用

如果您使用本工作,请引用随附论文:

Cordero, A. (2026). Detecting Non-Periodic Structured C2 Beaconing via Additive Recurrence. RepoSignal.io LLC. https://doi.org/10.5281/zenodo.20431555

DOI


许可证

AGPL-3.0。参见 LICENSE。

商业许可可通过 RepoSignal.io LLC 获取。

下载工具
脚本实验输出
evidence/evidence_suite.pyA(合成)、B(实验室PCAP)、C(AC抖动)、E(对抗套件)、F(抖动扫描)、G(长度敏感性)、H(零假设分布)、I(phi边界)、J(逻辑映射)evidence_results.json
evidence/roc_and_ci.pyG.5(ROC,AUC=0.900)、G(Wilson CI [0.992, 1.000])roc_results.json
evidence/rita_comparison.pyD(RITA风格基线对比)rita_comparison_results.json
evidence/generate_figures.py图1-7figures/fig*.png/pdf
文件类型描述
data/pcaps/fib_beacon_validation.pcapng真实数据实验室生成的斐波那契信标PCAP;用于实验B
data/pcaps/jit_var_d30_j0_1h.pcap真实数据30秒固定间隔信标,0%抖动,1小时
data/pcaps/jit_var_d30_j10_1h.pcap真实数据30秒信标,10%抖动,1小时
data/pcaps/jit_var_d30_j99_1h.pcap真实数据30秒信标,99%抖动(纯噪声),1小时
data/zeek/delay_var_d30_j25_combined.log真实+注入2小时企业Zeek conn.log,注入30秒+25%抖动信标
data/zeek/delay_var_d30_j25_24h_combined.log真实+注入上述数据24小时版本
reports/rita_output_v5.1.2_24h.txt真实RITA输出实际RITA v5.1.2二进制在24小时数据集上的输出(100个流程评分)
实验结果
合成检测(实验A)3/3信标类别正确,0假阳性
实验室PCAP(实验B)ADDITIVE_RECURRENCE_BEACON,rec_err=0.000,p<0.002
抖动扫描(实验F)在20%抖动以下100%检测;在30%处悬崖式下降
幂律 vs 指数退避(实验E)残差0.40和0.56 > 阈值0.20;正确拒绝
ROC AUC(实验G.5)0.900;TPR=1.000 at FPR=0.071
真实RITA v5.1.2在抖动信标上0.617 低严重性(两种工具均检测到;分类不同)
UWF-ZeekData22(100万流程,良性)0/12,083个分析流程被标记为ARB——0.00%假阳性率
逻辑映射套件(实验J)纯逻辑:0%检测;phi偏差≤20%噪声:100%
phi边界扫描(实验I)确认接受窗口[1.45, 1.80]