已归档。此项目已迁移至
custom-oscp-tooling。 所有 Cantina 代码现存放于该仓库,与 Star Wars 枚举/顾问工具套件一同维护。 本仓库仅保留只读状态以供历史参考。
- 新地址:https://gitlab.com/WattoCyber/custom-oscp-tooling
- 运行方式:在该仓库中执行
python tools/cantina.py

| 是什么 | Cantina 是一个符合 OSCP 规范的网络侦察编排器。负责端口发现、服务枚举及插件调度。不包含漏洞利用,不自动运行凭据喷洒。 |
| 适用对象 | OSCP 学员及实验室操作人员,需要仅限枚举的网络侦察编排,并支持插件调度与审计日志。 |
| 不是什么 | 不是漏洞利用框架。不自动运行凭据喷洒。仅限对授权目标及自有实验室进行枚举。 |
Cantina 是一个符合 OSCP 规范的网络侦察编排器。负责端口发现、服务枚举及插件调度。不包含漏洞利用,不自动运行凭据喷洒。
quick / full / udp / vuln / recon / all / deep)_commands.log 审计日志,可选 HTML/JSON 输出nmap,以及插件在存在时调用的服务工具# 列出插件(不进行扫描)
python tools/cantina.py --list-plugins
# 单主机
python tools/cantina.py 10.10.10.5 -t quick
# 侦察:完整扫描 + 插件
python tools/cantina.py 10.10.10.5 -t recon \
--force-services tcp/80/http tcp/445/smb tcp/22/ssh \
-o ./out -j
# 多目标并发
python tools/cantina.py -T hosts.txt -t all --max-workers 3 --timeout 90
静默 CLI(无横幅):python tools/cantina.py TARGET -q
将模块放入 plugins/ 目录下(或使用 --plugins-dir):
PLUGIN = {
"name": "my_enum",
"services": ["ftp"],
"ports": [21],
"enabled": True,
"replaces_builtin": True,
"description": "FTP enum (enum only)",
"legal": "enumeration-only; OSCP-safe; no exploit/spray auto-run",
}
def match(signals):
return signals.get("svc_type") == "ftp" or int(signals.get("port") or 0) == 21
def run(ctx):
art = ctx.port_dir / "plugin_my_enum.txt"
art.write_text(f"enum note for {ctx.target}:{ctx.port}\n")
return {"ok": True, "artifact": str(art)}
设置 replaces_builtin: True 可跳过该服务的旧 monorepo 分支,避免重复运行。
pip install -e ".[dev]" # 或:pip install pytest
python -m pytest tests/ -q
# 预期:退出码 0
无需实时目标即可验证的核心功能:
python cantina.py --list-plugins
# 预期:打印插件名称,退出码 0
仅限枚举。仅限授权目标及自有实验室 / OSCP 考试范围。您需对扫描范围负责。
tools/ CLI 工具(运行方式:python tools/<tool>.py)
cantina.py CLI + 编排器
cantina_plugins.py 发现 / 选择 / 运行
plugins/ 服务枚举插件
assets/banner.txt CLI 终端横幅
banner.jpg README 封面图
tests/ 单元测试(工具已打桩)
lab/ 可选的多服务实验室基准数据
fixtures/ nmap 解析测试数据