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, 内网探测, 凭据窃取, 后渗透, 大模型安全, 密码管理, 开源安全工具, 插件系统, 攻击面映射, 数据展示, 无后门, 横向移动, 红队, 编程规范, 网络安全, 网络安全审计, 自动化攻击框架, 虚拟驱动器, 逆向工具, 逆向工程平台, 隐私保护