0xb4bal/phantom-htb
GitHub: 0xb4bal/phantom-htb
基于 Claude Code 的全自动 HTB 渗透测试 Agent,通过递归循环和跨目标知识库累积实现自主打靶。
Stars: 0 | Forks: 0
# PHANTOM — HTB 渗透测试 Agent
```
┌─────────────────────────────────────────────┐
│ RECON ──► ENUM ──► EXPLOIT ──► PRIVESC │
│ ↑ │ │
│ └──────── REFINE LOOP ─────────┘ │
│ │
│ Every iteration → wiki/ compounds │
│ Zero hallucination. Facts only. │
└─────────────────────────────────────────────┘
```
## 架构
受三个项目启发:
| 项目 | 借鉴之处 |
|---------|-----------------|
| [autoresearch](https://github.com/karpathy/autoresearch) | `program.md` 模式结构,递归的观察→假设→执行循环,固定预算的实验 |
| [LLM Wiki](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) | 持久化复合知识库,`index.md` + `log.md`,原始数据 → 知识库 → 模式结构三层架构 |
| [caveman](https://github.com/JuliusBrussee/caveman) | Token 高效输出,去除冗余词汇,保持技术精确度 |
### 三层架构 (LLM Wiki 模式)
```
raw/ ← Immutable tool outputs (nmap, gobuster, etc.)
wiki/ ← LLM-maintained knowledge base (you read this)
index.md ← Master catalog
log.md ← Append-only audit trail
targets/ ← One page per HTB machine
sessions/ ← One page per session
techniques/ ← Reusable attack patterns
flags/ ← Captured flags
CLAUDE.md ← Agent schema (autoresearch: program.md)
skills/ ← Claude Code skill files
state/session.json ← Runtime state
tools/ ← Helper scripts
```
## 快速入门
### 1. 安装 Claude Code
```
npm install -g @anthropic-ai/claude-code
```
### 2. 克隆此仓库
```
git clone https://github.com/0xb4bal/phantom-htb.git
cd phantom-htb
```
### 3. 连接 HTB VPN
```
sudo openvpn your_htb.ovpn
```
### 4. 初始化会话
```
chmod +x tools/setup.sh
./tools/setup.sh 10.10.11.XXX
```
### 5. 启动 Claude Code
```
claude
```
### 6. 启动 Agent
```
Have a look at CLAUDE.md and start Phase 1 recon on the target.
```
完成。Agent 会读取 CLAUDE.md,遵循递归循环,并随着每次发现更新 wiki/。
## 技能(斜杠命令)
| 命令 | 阶段 | 功能描述 |
|---------|-------|--------------|
| `/recon` | 阶段 1 | Nmap + web/smb/ftp 枚举 |
| `/enum` | 阶段 2 | 针对各项服务的深度枚举 |
| `/exploit` | 阶段 3 | 漏洞利用尝试 |
| `/privesc` | 阶段 5 | Linux/Windows 权限提升 |
| `/report` | Post-pwn | 从知识库生成完整报告 |
| `/state` | 任意 | 显示当前会话状态 |
| `/caveman` | 任意 | 切换 Token 高效输出模式 |
## 状态追踪器
```
# 检查当前状态
python3 tools/state.py status
# 更新阶段
python3 tools/state.py phase EXPLOIT
# 记录发现
python3 tools/state.py port 80 tcp http "Apache 2.4.38"
python3 tools/state.py cred ssh admin password123 "gobuster found /admin"
python3 tools/state.py flag user "abc123def456..."
```
## 递归循环(autoresearch 风格)
Agent 自主运行此循环。它从不跳过任何步骤。
```
ITERATION N:
1. OBSERVE → Read last tool output + wiki state
2. HYPOTHESIZE → 3 ranked attack vectors
3. PLAN → Select highest probability → exact command
4. EXECUTE → Run tool → save to raw/
5. REFINE →
if null/error → update wiki → loop to OBSERVE
if finding → update wiki → escalate phase
```
## 知识库作为知识库
知识库在不同机器间不断积累复合。在机器 A 上学到的技术同样适用于机器 B。
```
Machine A: Discovered LFI→log poisoning pattern
→ wiki/techniques/lfi-log-poison.md created
Machine B: Sees similar web stack
→ Agent reads wiki/techniques/ → tries LFI first
```
这是 LLM Wiki 模式的核心:**知识不断积累,而非重新推导**。
## Token 效率
Caveman 模式默认开启。响应类似:
```
Ports: 22,80,443
HTTP: Apache 2.4.38. Running gobuster.
SSH: OpenSSH 8.2. No known RCE. Low priority.
Next: web enum, check /robots.txt, /admin
```
而不是:
```
"I would recommend that we consider running gobuster against the web
server on port 80 to enumerate any hidden directories that might be
present on the target system..."
```
## 贡献技术
当你攻破一台机器时,请添加该技术:
```
# 示例:
cat > wiki/techniques/ssti-jinja2.md << 'EOF'
# 技术:SSTI Jinja2 RCE
Tags: ssti, jinja2, python, rce
Payload: {{7*'7'}} → 7777777 (confirmed Jinja2)
RCE: {{config.__class__.__init__.__globals__['os'].popen('id').read()}}
EOF
```
## 文件结构
```
phantom-htb/
├── CLAUDE.md ← Agent brain (read this first in Claude Code)
├── README.md ← This file
├── skills/
│ ├── recon.skill ← Phase 1 instructions
│ ├── exploit.skill ← Phase 3 instructions
│ └── report.skill ← Report generation
├── wiki/
│ ├── index.md ← Master catalog (LLM-maintained)
│ ├── log.md ← Audit trail
│ ├── targets/
│ │ └── TEMPLATE.md ← Copy for each machine
│ ├── sessions/
│ │ └── TEMPLATE.md ← Copy for each session
│ └── techniques/
│ └── privesc-linux.md
├── state/
│ └── session.json ← Runtime state
├── tools/
│ ├── setup.sh ← Initialize session
│ └── state.py ← State manager CLI
└── raw/ ← Tool outputs go here
```
## 道德准则
此 Agent 仅用于授权的 HTB 实验室机器。
切勿对您没有明确测试权限的系统使用。
所有操作均记录在 wiki/log.md 中,以确保可追溯性。
标签:AI安全智能体, Claude, CSV导出, CVE检测, DLL 劫持, HackTheBox, HTB, Web报告查看器, Windows内核, XXE攻击, 协议分析, 反取证, 命令与控制, 大语言模型, 安全知识库, 安全评估, 密码管理, 应用安全, 数据展示, 权限提升, 白帽子, 红队, 网络安全, 网络安全审计, 脚本工具, 自动化攻击, 自动化渗透, 逆向工具, 递归循环, 防御加固, 隐私保护