Agent-Gawain/dig_champs_pub
GitHub: Agent-Gawain/dig_champs_pub
红队侦察与后渗透框架,整合多款安全工具实现自动化多阶段攻击面测绘,支持实时自适应阶段排序和离线部署。
Stars: 1 | Forks: 0
# Digital Ghost — KITSUNEBI
红队侦察与后渗透框架。通过实时自适应阶段排序和可选的 Claude 驱动分析,实现自动化多阶段攻击面测绘。
## 目录
1. [Requirements](#requirements)
2. [Installation](#installation)
3. [Air-Gapped / Offline Deployment](#air-gapped--offline-deployment)
4. [Quick Start](#quick-start)
5. [Scan Modes](#scan-modes)
6. [The Sharingan Plan — Phase Architecture](#the-sharingan-plan--phase-architecture)
7. [Live Adapt Engine](#live-adapt-engine)
8. [All Flags Reference](#all-flags-reference)
9. [Session Persistence & Resume](#session-persistence--resume)
10. [Claude API Integration](#claude-api-integration)
11. [Output Files](#output-files)
12. [Credential Loot Files](#credential-loot-files)
13. [Security Notes](#security-notes)
14. [File Map](#file-map)
## 需求
### 系统工具 (必须在 PATH 中)
| 工具 | 是否必需 | 用途 |
| --- | --- | --- |
| `nmap` | 是 | 端口扫描和服务检测 |
| `nikto` | 是 | Web 服务器漏洞扫描 |
| `enum4linux` | 是 | SMB/NetBIOS 枚举 |
| `whatweb` | 是 | Web 技术指纹识别 |
| `dnsrecon` | 是 | DNS 侦察 |
| `hydra` | 推荐 | 网络暴力破解 (凭据阶段) |
| `crackmapexec` | 推荐 | SMB 凭据攻击 |
| `searchsploit` | 推荐 | 本地 exploit 数据库查询 |
| `gobuster` / `ffuf` / `feroxbuster` | 推荐 | Web 目录和 vhost 模糊测试 |
| `sshpass` | 可选 | SSH 后认证枚举 (无 stdin 提示) |
| `smbclient` | 可选 | SMB 共享列表 |
在 Kali 上安装:
```
sudo apt install nmap nikto enum4linux whatweb dnsrecon hydra crackmapexec smbclient sshpass exploitdb gobuster ffuf feroxbuster
```
### Python
需要 Python 3.10 或更高版本。
### Python 包
```
pip install requests rich anthropic
```
`anthropic` 是可选的。如果未安装,所有 Claude 功能将被静默禁用。如果您使用下面的离线部署路径,`requests` 和 `rich` 也可以省略。
## 安装
```
git clone
cd kitsunebi
pip install requests rich anthropic # anthropic optional
python3 kitsunebi.py -t
```
## Air-Gapped / 离线部署
Kitsunebi 专为在完全隔离且无法访问 pip 的实战设备上运行而设计。分为三个层级:
### 层级 1 — 标准 (pip 可用)
```
pip install requests rich anthropic
python3 kitsunebi.py -t
```
### 层级 2 — Vendored (在联网机器上准备,在离线环境部署)
在您的联网准备机器上:
```
python3 build_vendor.py
```
这会将 `requests`、`rich` 和 `anthropic` 下载到 `_vendor/` 目录中。将以下内容传输到目标机器:
```
kitsunebi.py
_vendor/ ← full real packages
_kb_http.py
_kb_rich.py
build_vendor.py ← optional, for reference
```
该工具在启动时会自动检测 `_vendor/` 并从中加载包。
**单文件选项:** 传入 `--pyz` 以生成单个便携式存档而不是目录:
```
python3 build_vendor.py --pyz
# 生成:kitsunebi.pyz
python3 kitsunebi.pyz -t
```
### 层级 3 — Cold drop (无准备、无 pip、无 vendor)
如果未预安装任何内容,该工具会自动回退到 `_kb_http.py` 和 `_kb_rich.py` —— 即与脚本捆绑在一起的纯 stdlib (标准库) 伴随存根。放置这三个文件并运行:
```
kitsunebi.py
_kb_http.py
_kb_rich.py
```
输出将是纯文本而不是彩色/表格,但所有扫描功能完全保留。
### 离线模式标志
如果设备没有出站互联网但连接到您的目标网络 (常见的实战场景),请传入 `--offline` 以立即抑制 CVE 数据库查询和 Claude API 调用,而无需等待超时:
```
python3 kitsunebi.py -t 192.168.1.10 --offline
```
如果未传入 `--offline`,该工具会在启动时探测 `8.8.8.8:53`,如果无法访问则自动设置离线模式。
## 快速开始
### 交互模式 (提示输入目标和模式)
```
python3 kitsunebi.py
```
### Argparse 模式
```
# 基础侦查 + 所有阶段,模式 2
python3 kitsunebi.py -t 192.168.1.10 -m 2
# 隐蔽模式,跳过凭据和 Web fuzzing
python3 kitsunebi.py -t 192.168.1.10 -m 1 --no-creds --no-webfuzz
# 使用自定义端口列表和 loot 文件的激进扫描
python3 kitsunebi.py -t 10.0.0.5 -m 3 --ports "1-65535" --loot creds.txt
# 全速运行 — 模式 4 需要明确确认
python3 kitsunebi.py -t 10.0.0.5 -m 4 --confirm-boss
# 物理隔离环境任务
python3 kitsunebi.py -t 172.16.0.1 -m 2 --offline
```
## 扫描模式
| 模式 | 名称 | 行为 |
| --- | --- | --- |
| 1 | Ghost | 隐蔽。慢速时序 (`-T2`),最小足迹。 |
| 2 | Standard | 平衡速度和噪音。大多数项目的默认选择。 |
| 3 | Aggressive | 更快的扫描,更广的覆盖范围,更多的请求。 |
| 4 | BOSS | 全力以赴。需要 `--confirm-boss`。嘈杂 —— 仅在噪音无关紧要时使用。 |
模式会影响 nmap 时序标志、hydra 线程数以及所有阶段中工具的激进程度。
## The Sharingan Plan — 阶段架构
Kitsunebi 分四个概念阶段运行,自动排序:
### 阶段 1 — Looking (侦察)
始终首先运行。建立目标的完整图景。
- **nmap** — 端口扫描、服务/版本检测、OS 指纹识别、NSE 脚本
- **nikto** — Web 服务器漏洞扫描 (如果检测到 HTTP/HTTPS 则运行)
- **whatweb** — Web 技术栈指纹识别
- **enum4linux** — SMB/Samba 共享和用户枚举
- **dnsrecon** — DNS 区域和记录枚举
- **searchsploit** — 针对检测到的服务版本进行本地 exploit-db 查询
### 阶段 2 — Looking Deeper (深入侦察)
针对阶段 1 中识别的服务。模块根据发现的内容运行。
- **凭据攻击** (`creds`) — 使用 hydra/crackmapexec 对 FTP、SSH、RDP、SMB 进行暴力破解。使用内置的默认凭据列表以及任何用户提供的战利品文件。破解的凭据会自动针对 HTTP 端口重试。
- **高价值文件搜寻** (`filehunt`) — NSE 脚本枚举 + smbclient 递归共享列表,用于查找敏感文件名 (配置文件、备份、密钥等)。
- **Web 模糊测试** (`webfuzz`) — gobuster/ffuf/feroxbuster 目录和 vhost 暴力破解。
### 阶段 3 — Predicting (预测)
汇总发现并应用情报。
- **漏洞报告** (`vulnreport`) — 查询 NVD、MITRE CVE Program、OSV 和 Go Vuln DB。按 CVSS 评分、攻击向量和可利用性对发现的 CVE 进行排名。
- **工件分析** (`artifacts`) — Claude 驱动 (需要 API 密钥):每个 CVE 的取证工件映射、攻击者/受害者工件、IoC 生成、杀伤链叙述。
- **漏洞探测** (`vulnprobe`) — 针对发现高严重性 CVE 的服务进行 nmap `--script vuln` 确认扫描。
### 阶段 4 — Live Adapting (实时适应)
在每个阶段之后,Live Adapt Engine (实时适应引擎) 会动态重新评估并重新排序剩余阶段 (见下文)。当凭据被破解时,后认证枚举在此运行。
- **后认证枚举** (`postauth`) — SSH shell 枚举 (身份、内核、sudo 权限、SUID 二进制文件、cron 作业、有趣文件、网络接口)。FTP 目录列表。当凭据阶段产生命中时自动触发。
## Live Adapt Engine (实时适应引擎)
在凭据阶段之后,引擎应用两层动态重排序:
**层级 1 — Claude Strategic Advisor** (需要 API 密钥):将所有当前发现发送给 Claude,Claude 根据发现的攻击面推荐最佳剩余阶段顺序。
**层级 2 — 基于规则的微调** (无需 API):在每个阶段之后,触发规则以将高价值阶段提前:
| 规则触发器 | 效果 |
| --- | --- |
| 凭据被破解 | `postauth` 移至剩余队列的最前面 |
| 发现 SMB 空会话 | 优先考虑 `filehunt` |
| 发现高严重性 CVE | 提前 `vulnprobe` |
| 发现有趣的 Web 路径 | 优先考虑 `webfuzz` |
终止阶段 (`vulnreport`、`artifacts`) 无论重排序如何始终固定在最后。
## 所有标志参考
| 标志 | 默认值 | 描述 |
| --- | --- | --- |
| `-t`, `--target` | — | 目标 IP 或主机名 (必需,或提示输入) |
| `-m`, `--mode` | — | 扫描模式 1–4 (必需,或提示输入) |
| `--loot FILE` | — | 凭据战利品文件,每行一个 `user:pass` |
| `--wordlist FILE` | — | 用于 Web 模糊测试的自定义字典 |
| `--vuln-output FILE` | — | 将漏洞报告前 10 名 JSON 保存到此路径 |
| `--ports PORTS` | pentest-wide list | 自定义 nmap 端口规范,例如 `"1-65535"` 或 `"80,443,8080"` |
| `--exclude-ports PORTS` | — | 要从 nmap 扫描中排除的端口 |
| `--inter-phase-delay SECS` | 0 | 阶段之间休眠的秒数 (速率限制隐蔽) |
| `--confirm-boss` | — | 运行模式 4 所需 |
| `--offline` | 自动检测 | 禁用 CVE DB + Claude API 调用 (适用于离线环境) |
| `--resume PATH` | — | 从现有会话目录恢复 |
| `--no-creds` | — | 跳过凭据攻击阶段 |
| `--no-artifacts` | — | 跳过 Claude 工件分析 |
| `--no-vulnreport` | — | 跳过 CVE 漏洞报告 |
| `--no-searchsploit` | — | 跳过 searchsploit 查询 |
| `--no-filehunt` | — | 跳过高价值文件搜寻 |
| `--no-webfuzz` | — | 跳过 Web 目录/vhost 模糊测试 |
| `--no-postauth` | — | 跳过后认证 SSH/FTP 枚举 |
| `--no-vulnprobe` | — | 跳过 nmap vuln 脚本确认扫描 |
## 会话持久化与恢复
每次运行都会创建一个会话目录:
```
~/.kb_sessions/_/
```
每个阶段在完成时写入一个 `.done_` 标记。如果运行中断,请使用以下命令恢复:
```
python3 kitsunebi.py --resume ~/.kb_sessions/192.168.1.10_20260314_143022
```
已完成的阶段将被跳过并加载其缓存结果。仅重新运行未完成的阶段。这意味着您可以安全地 Ctrl-C 并恢复,而无需重复嘈杂的扫描。
会话目录使用 `700` 权限创建。会话内的凭据文件使用 `600` 权限创建。
## Claude API 集成
在运行前设置您的 API 密钥:
```
export ANTHROPIC_API_KEY="sk-ant-..."
python3 kitsunebi.py -t
```
Claude 功能 (均为可选,工具可在没有它们的情况下完全运行):
| 功能 | 运行时机 | 作用 |
| --- | --- | --- |
| Strategic Advisor | 凭据阶段之后 | 推荐最佳阶段执行顺序 |
| Artifact Analysis | 漏洞报告之后 | 每个 CVE 的取证工件、IoC、杀伤链叙述 |
| Human Narrative | 扫描结束时 | 将机器轨迹日志转换为可读的渗透测试报告 |
如果未设置 API 密钥,或者 `--offline` 处于活动状态,或者未安装 `anthropic` 包,则这三个功能都会被静默跳过。工具不会退出或报错。
## 输出文件
所有输出都位于会话目录 (`~/.kb_sessions/_/`) 中:
| 文件 | 内容 |
| --- | --- |
| `session.json` | 此次运行的参数和元数据 |
| `nmap.txt` / `nmap.xml` | 原始 nmap 输出 |
| `cred_results.json` | 破解的凭据 (权限:600) |
| `trajectory.json` | 机器可读的扫描事件日志 |
| `trajectory_human.md` | Claude 生成的 (或模板) 叙述报告 |
| `trajectory_audit.json` | 交叉引用审计:发现与叙述对比 |
| `trajectory_audit.md` | 人类可读的审计差异 |
| 特定阶段的 `.txt` 文件 | 每个阶段的原始工具输出 |
最终的 JSON + Markdown 报告也会写入主目录:
```
~/report__.json
~/report__.md
~/report___narrative.md
```
## 凭据战利品文件
提供要在凭据阶段尝试的凭据字典:
```
python3 kitsunebi.py -t --loot my_creds.txt
```
格式 —— 每行一对凭据:
```
admin:password
root:toor
service:service123
```
战利品文件凭据首先尝试,随后是内置的默认/常见凭据列表。重复的对会自动去重。
## 安全说明
这些适用于在与其他人共享的操作员机器上使用该工具时,或者当日志被 SIEM 收集时:
- **凭据显示** — 破解的密码在终端输出中显示为 `[REDACTED]`。完整凭据仅存储在 `cred_results.json` 中 (权限:600)。
**子进程凭据传递** — 密码永远不会作为命令行参数传递。sshpass 使用 `SSHPASS` 环境变量 (`-e` 标志);smbclient 使用 `PASSWD` 环境变量;FTP curl 调用使用临时 `.netrc` 文件 (600 权限,使用后删除)。
- **API 密钥安全** — `ANTHROPIC_API_KEY` 从环境读取且永不记录。来自 Anthropic SDK 的身份验证错误仅打印异常类型,而不打印消息正文。
- **会话目录权限** — `~/.kb_sessions/` 和所有会话子目录使用 `700` 权限创建 (显式 chmod 以覆盖进程 umask)。
## 文件映射
| 路径 | 用途 |
| --- | --- |
| `kitsunebi.py` | 主框架 —— 所有阶段、入口点 |
| `_kb_http.py` | `requests` 的 stdlib 替代品 (离线回退) |
| `_kb_rich.py` | `rich` 的 stdlib 替代品 (离线回退) |
| `build_vendor.py` | 将依赖项预下载到 `_vendor/` 以供离线使用 |
| `wan_shi_tong/` | 攻击方法库 —— 65+ 种技术、OS 路由、路径设计器、项目跟踪器 |
| `modules/kitsunebi_mini.py` | 仅阶段 1 (侦察,无凭据/exploit) |
| `modules/kb_creds.py` | 独立凭据攻击模块 |
| `modules/kb_artifacts.py` | 独立 CVE 工件分析器 |
| `modules/kb_vulnreport.py` | 独立漏洞排名工具 |
| `modules/kb_auditor.py` | 扫描审计器 (开发中) |
标签:AI 赋能攻击, Claude API, GitHub, Nmap, PE 加载器, Python, TShark, 内网探测, 凭据窃取, 后渗透, 大模型安全, 密码管理, 开源安全工具, 插件系统, 攻击面映射, 数据展示, 无后门, 横向移动, 红队, 编程规范, 网络安全, 网络安全审计, 自动化攻击框架, 虚拟驱动器, 逆向工具, 逆向工程平台, 隐私保护