dariushoule/roorecon
GitHub: dariushoule/roorecon
一款为 Claude Code 和 Codex 设计的 AI Agent 渗透测试与 CTF 自动化辅助工具,能将自然语言指令转化为完整的安全侦测与漏洞利用流水线。
Stars: 1 | Forks: 0
# RooRecon
**一款用于 [Claude Code](https://claude.com/claude-code) 和
[Codex](https://openai.com/codex/) 的渗透测试与 CTF 辅助工具。** 将 agent 指向一台机器(“*对
10.10.10.5 执行侦测*”),它就会运行整个流水线:发现攻击面,
识别服务指纹,研究已知的漏洞利用,并为你提供一份排序后的
攻击方案。
在底层,agent 会读取每个工具的输出并决定下一步操作,
这一切由 **skills** 和 **runbooks** 进行指导。skill 封装了高级方法论,
而 runbooks 则承载了具体步骤的行为。
## 环境要求
- **Docker**,用于运行容器化工具。
- **Python 3**,用于运行 `roo` CLI(仅使用标准库,无需 `pip install`)。
- *可选,用于 `roo browser`*:宿主机上需安装 Chromium 系列浏览器,以及
**Node**(`npx`),用于 agent 的 Playwright MCP。
- *推荐*:**[Context7](https://github.com/upstash/context7)**。
## 快速开始
将你的会话 `.ovpn` 文件放入 `./vpn/` 目录(如果目标需要的话),然后在此
仓库中启动一个 agent 并直接询问:
```
claude "Connect to lab.ovpn and run recon on 10.10.10.5"
```
agent 会建立隧道、扫描机器、深入探测每个开放端口,并在结果产出时
实时流式传输发现的结果。
## 工作原理
请求执行侦测时,agent 会运行一条流水线,并随着结果的返回不断深入:
```
sweep ports → enum each port → content/vhost discovery → CVE & exploit research → report
```
每个阶段都是一项 **skill**,agent 会通过匹配任务来激活它。结果会
实时流式传输给你,而 `./roo report
` 会汇编出最终的报告文档。
| Skill | 功能描述 |
|-------|--------------|
| **recon** | 绘制攻击面(端口、服务、Web 应用)并确定首先攻击的目标。 |
| **vuln-research** | 将指纹信息转化为排序后的 CVE 及公开 PoC(NVD/KEV/EPSS、GitHub、Exploit-DB、Metasploit)。 |
| **dirbust** | 递归的 Web 内容发现(gobuster + SecLists)。 |
| **sqlmap** | 确认并利用 SQL 注入,然后导出凭据,作为下一步的立足点。 |
| **ad** | Active Directory 枚举与通向 Domain Admin 的攻击路径 runbook(见下文)。 |
| **bloodhound** | 在本地搭建 BloodHound CE 并查看 AD 攻击图。 |
| **hashcat** | 在宿主机 GPU 上进行离线哈希破解:识别模式,运行 wordlist→rules→mask 的进阶流程。 |
| **memforensics** | 使用 Volatility 3 从 RAM 转储或 lsass 镜像中提取凭据和工件。 |
| **browse** | 与操作者并排驱动一个真实的、经由 VPN 路由的浏览器(Playwright MCP),以进行经过身份验证的枚举。 |
| **catch** | 持久化的、共享的反弹 shell 捕获器(pwncat),你 和 agent 都可以对其进行控制。 |
| **wintools** | 在宿主机外部署预构建的 Windows 进攻工具集(Rubeus、SharpHound、Certify 等)。 |
| **teardown** | 干净的交战结束关闭流程:关闭浏览器、代理和隧道,同时保留战利品。 |
获得初步立足点后,VPN 伴生容器将兼作**你在交战网络中的机器**:
| Command | 用途 |
|---------|-----|
| `./roo shell` | 在隧道 IP 处提供操作者 shell,用于反弹 shell、服务托管以及 AD 工具包(`nxc`、`bloodyAD`、`certipy`、`evil-winrm`、impacket、`bhcollect`) |
| `./roo proxy up` | SOCKS5 出口,使宿主机的浏览器/Burp/curl 能够通过隧道到达目标 |
| `./roo browser [url]` | 宿主机浏览器,经由 VPN 代理,且 agent 可通过 CDP 驱动(Playwright MCP) |
| `./roo fwd ` | 将一个隧道端口桥接到宿主机监听器 |
| `./roo ip` | 打印隧道 IP(你的 LHOST) |
请参阅 **[ARCHITECTURE.md](ARCHITECTURE.md)** 了解其设计(VPN 伴生容器是一个
*位置*,而其他所有在各自 namespace 中运行的则视为*工具*),并查看
**[CLAUDE.md](CLAUDE.md)** / **[AGENTS.md](AGENTS.md)** 获取完整的 agent
指南和命令参考。
## VPN 目标与宿主机覆盖
将 `.ovpn` 放入 `./vpn/`(已被 git 忽略)并对机器进行侦测。`roo` 会将 VPN 作为
伴生容器运行,并将其网络 namespace 与工具容器共享,因此它在各平台上工作方式相同(在这些平台上,容器原本无法访问宿主机的
`tun`)。你不需要去配置 Docker 网络。如果你愿意,可以通过
`./roo vpn up|down|status` 直接管理隧道,尽管 agent 会自动为你处理这一切。
容器无法看到宿主机的 `/etc/hosts`,因此 RooRecon 维护了它自己的记录。告诉
agent(“*`box.htb` 是 `10.10.10.5`*”)或在被 git 忽略的 `./hosts` 文件中添加行
(`10.10.10.5 box.htb admin.box.htb`)。`roo` 会将其挂载到每个工具容器中,
无论是直连还是通过 VPN。
## 布局
```
roo · roo.cmd # entrypoints: run ./roo from the repo root
scripts/roo.py # the cross-platform roo CLI (all tooling + automation)
.claude/skills//SKILL.md # skill playbooks (auto-loaded by Claude Code)
docker//Dockerfile # one minimal image per CLI
ARCHITECTURE.md # design + decisions
CLAUDE.md / AGENTS.md # Claude Code / Codex entry points
vpn/ · hosts · recon-results/ # configs, host overrides, output (git-ignored)
```
## 模型访问权限(需验证)
这些 skills 驱动着具有双重用途的工具,前沿实验室将其限制在验证之后才能使用。
除非你的账户已通过安全工作的验证,否则模型可能会拒绝执行进攻性任务:
- **Anthropic,网络安全验证计划(Cyber Verification Program):**
[申请](https://claude.com/form/cyber-use-case) ·
[概述](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude) ·
[政策](https://www.anthropic.com/aup)
- **OpenAI,网络安全可信访问(Trusted Access for Cyber):**
[概述](https://openai.com/index/trusted-access-for-cyber/) ·
[验证](https://chatgpt.com/cyber)
## 致谢
RooRecon 编排了大量优秀的开源工具。完整的归属说明
请见 **[CREDITS.md](CREDITS.md)**。标签:AI代理, CISA项目, Docker, PNNL实验室, 安全防御评估, 实时处理, 密码管理, 情报收集, 数据泄露, 漏洞研究, 特征检测, 网络调试, 自动化, 请求拦截, 逆向工具