JonnyRiga/TTPX
GitHub: JonnyRiga/TTPX
一款离线优先的 CLI 安全工具,整合 HackTricks 和 PayloadsAllTheThings 知识库检索、AI 辅助 payload 生成与 CSRF PoC 构建于一体。
Stars: 1 | Forks: 0
# TTPX — Tactics, Techniques, Payloads & Exploits

搜索 [HackTricks](https://github.com/HackTricks-wiki/hacktricks) 和 [PayloadsAllTheThings](https://github.com/swisskyrepo/PayloadsAllTheThings) 获取利用技术,获取 AI 生成的 payload,并从原始捕获的请求生成 CSRF PoC —— 完全免费、离线优先且基于 CLI。
## 为什么会有这个项目
TTPX 将通常需要付费工具才能实现的功能整合到一个免费且单一的 CLI 工作流中。
总体上最接近的比较对象是 SearchSploit —— 具有相同的离线优先、基于终端的体验 —— 但 SearchSploit 只索引 Exploit-DB 的 CVE。TTPX 则更进一步,它可以搜索本地的 HackTricks/PATT 知识库,并支持 AI 辅助的 payload 生成。
它的 CSRF PoC 生成器涵盖了通常被锁定在 Burp Suite Pro 或 Caido 等付费平台背后的功能 —— 并且能与 csrfshark 等免费工具相媲美 —— 同时保持完全基于 CLI 且离线优先的特性。支持所有主要请求类型(form、JSON、multipart 和 GET),具有 HTML 注入防护、离线 token 检测以及可选的 AI 驱动的绕过分析。
唯一的成本在于,如果用户选择连接 Claude API 密钥用于 AI payload 生成 —— 其他所有功能开箱即用,完全离线且免费。
## 安装
```
git clone https://github.com/JonnyRiga/ttpx ~/Tools/ttpx-repo
# 工具位于 ~/Tools/ttpx.py,已软链接至 /usr/local/bin/ttpx
```
**依赖项:**
```
pip install anthropic rich
```
**知识库**(克隆一次,永久搜索):
```
git clone https://github.com/HackTricks-wiki/hacktricks ~/Tools/hacktricks
git clone https://github.com/swisskyrepo/PayloadsAllTheThings ~/Tools/payloadsallthethings
```
**API 密钥**(仅在 `-p` 和 `--bypass` 时需要):
```
echo 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.zshrc && source ~/.zshrc
```
**手册页**(可选):
```
sudo cp ttpx.1 /usr/local/man/man1/ttpx.1 && sudo mandb
```
## 用法
```
ttpx -l [--since Nd]
ttpx -u
ttpx -f TERM [TERM ...]
ttpx -p TERM [TERM ...] [-d CONTEXT [-d CONTEXT ...]] [--no-log]
ttpx -m PATH [-s TERM]
ttpx --csrf FILE [--bypass]
```
### `-l` / `--list` — 浏览分类(无需输入词条)
列出两个数据源中的所有顶级目录。当你还不知道要搜索什么时,请使用此命令。添加 `--since Nd` 可筛选过去 N 天内更新的分类 —— 在刚执行 `-u` 后非常有用。
```
ttpx -l
ttpx -l --since 7d # categories with commits in the last 7 days
```
```
[hacktricks] [payloadsallthethings]
──────────────────────── ────── ─────────────────────────── ──────
Network Services 12 Command Injection 8
Pentesting Web 47 File Inclusion 11
Reversing 5 Server Side Template Injection 9
... SQL Injection 14
47 categories 31 categories
```
### `-u` / `--update` — 拉取最新数据(保持 payload 最新)
在两个知识库上运行 `git pull` 并显示更改内容。请在开始安全测试前运行此命令。
```
ttpx -u
```
```
Updating HackTricks...
HackTricks: updated 12 files changed, 340 insertions(+), 18 deletions(-)
Updating PayloadsAllTheThings...
PayloadsAllTheThings: already up to date
```
### `-f` / `--find` — 浏览(不调用 Claude,无开销)
搜索两个数据源并显示清晰的表格。使用此选项可在生成 payload 或获取文件之前查看存在哪些内容。
```
ttpx -f ssti handlebars
ttpx -f lfi php windows
ttpx -f sqli union mysql
```
```
Searching HackTricks + PayloadsAllTheThings...
Source Title Path
─────────────────────────────────────────────────────────────────────
[hacktricks] SSTI (Server Side Template src/pentesting-web/...
[payloadsallthethings] Handlebars Server Side Template...
2 result(s)
```
### `-p` / `--payload` — 生成 payload (Claude)
搜索两个数据源,将发现的结果发送给 Claude,获取最具影响力的单个 payload —— 按语言进行语法高亮并附带建议。
```
ttpx -p ssti handlebars groovy rce
ttpx -p sqli union mysql
ttpx -p xss csp bypass reflected
ttpx -p lfi php windows iis read
ttpx -p log4shell jndi rce java
```
```
Searching HackTricks + PayloadsAllTheThings...
Sending findings to Claude...
──────────────── SSTI via Handlebars (Node.js) ────────────────
Technique: Handlebars allows access to the JS prototype chain...
Payload (JavaScript)
{{#with "s" as |string|}}
{{#with "e"}}
{{#with split as |conslist|}}
...
{{/with}}
{{/with}}
{{/with}}
── copy-paste ──
{{#with "s" as |string|}}
...
{{/with}}
★ Most impactful: gives direct RCE via constructor chain traversal.
Source: [hacktricks] src/pentesting-web/ssti/README.md
```
语法高亮块仅供阅读;其下方的 `── copy-paste ──` 块是没有任何终端格式的原始 payload —— 可以安全地选中并直接粘贴。
### `-d` / `--details` — 在尝试失败后进行调整
反馈上一次 `-p` 尝试的错误或上下文。Claude 会分析失败原因,生成修正后的 payload,并添加一个 **What changed** 部分,精确显示与前一次尝试相比修改了哪些 token 或行。重复使用 `-d` 可以链接多次尝试中的多个错误上下文。
```
ttpx -p ssti handlebars groovy rce -d "'require' is not defined"
ttpx -p sqli union mysql -d "WAF blocking SELECT and UNION keywords"
ttpx -p lfi php -d "../etc/passwd filtered, got 403" -d "double-encoded also blocked"
```
### `--no-log` — 跳过会话记录
每次 `-p` 调用都会向 `~/Tools/ttpx-session.log` 追加一个带有时间戳的条目(包含词条、漏洞、第一行 payload)。传递 `--no-log` 可以禁止特定调用的记录。
```
ttpx -p xss reflected --no-log
```
### `-m` / `--mirror` — 将文件抓取到当前工作目录
将 `-f` 结果中的文件作为纯文本(去除 markdown 标记)复制到当前目录。路径必须与 `-f` 输出完全匹配 —— 包含空格的路径请加引号。
```
ttpx -m "Server Side Template Injection/JavaScript.md" # full file
ttpx -m "Server Side Template Injection/JavaScript.md" -s handlebars # section only
```
使用 `-s` / `--section` 可以仅提取标题与词条匹配的章节,并在遇到同等或更高级别的标题时停止提取。如果未找到该章节,则回退到完整文件。
```
ttpx -m "File Inclusion/README.md" -s lfi
ttpx -m "SQL Injection/README.md" -s mysql
```
### `--csrf` — 生成 CSRF PoC(离线)
解析原始的 HTTP 请求文件(从 Burp Suite 或 Caido 复制),并在当前目录生成一个独立的 `csrf_poc.html` 文件。无需 API 调用。PoC 类型会根据 Content-Type 自动选择:
| 请求 | PoC |
|---|---|
| GET | 自动提交的 `
标签:AI安全, Chat Copilot, CSRF PoC, Exploit, HackTricks, PayloadsAllTheThings, Payload生成, Python, SEO检索词, Web安全, 反取证, 域名收集, 安全测试, 安全评估, 提示词注入, 搜索引擎, 攻击性安全, 数据展示, 无后门, 渗透测试框架, 离线工具, 红队, 网络信息收集, 网络安全, 网络安全研究, 蓝队分析, 逆向工具, 防御, 隐私保护