mcpField
H
HackTricks MCP Server

HackTricks MCP Server

本地服务
github.com安全1144 周前更新

关于 HackTricks MCP Server

HackTricks MCP Server 让安全从业者和编码 Agent 搜索并查询 HackTricks 渗透测试文档。它结合分组搜索、页面大纲、指定章节提取和代码清单,便于获取相关内容而不必载入整页。

主要功能

  1. 01按词语或正则表达式搜索
  2. 02按文件和章节汇总匹配项
  3. 03浏览页面大纲
  4. 04提取指定章节
  5. 05仅返回代码块和命令
  6. 06浏览文档分类

适用场景

  1. 01查找某种利用技术的资料
  2. 02获取安全评估所需命令
  3. 03阅读整页前定位相关章节
  4. 04探索 HackTricks 主题分类

MCP 相关

向 MCP 客户端提供 7 个工具,用于搜索 HackTricks、浏览分类和页面大纲,以及获取完整页面、指定章节或代码块。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"xplo8e-hacktricks": {
"command": "npx",
"args": [
"-y",
"hacktricks-mcp-server"
]
}
}
}
启动命令npx -y hacktricks-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmhacktricks-mcp-server1.3.4

工具

7

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitnumber否最多返回的文件数(默认值:20)。值越小,速度越快。快速查询时设为 5。
querystring是搜索词。请使用具体词语(例如 'SUID privilege escalation',而不是 'privilege')。支持正则表达式。
categorystring否强烈推荐。常见类别:'pentesting-web'(XSS、SQLi、SSRF)、'linux-hardening'(提权、capabilities)、'network-services-pentesting'(SMB、FTP、SSH)、'windows-hardening'、'mobile-pentesting'、'cloud-security'。使用 list_hacktricks_categories 查看全部类别。

详细介绍

HackTricks MCP Server

MCP(Model Context Protocol)服务,可直接通过 Claude 搜索和查询 HackTricks 渗透测试文档。

功能

  • 快速查找 - 一次调用获取利用信息,支持别名(sqli、xss、ssrf 等)
  • 分组搜索结果 - 按文件聚合结果,并显示匹配数量、标题和相关章节
  • 页面大纲 - 快速查看目录,以确定相关章节
  • 章节提取 - 读取特定章节,而非完整页面(节省 token)
  • 速查表模式 - 仅提取页面中的代码块/命令
  • 类别浏览 - 浏览可用主题和文件路径
  • 快速 grep 搜索 - 使用 ripgrep 即时获取结果
  • 安全加固 - 防止命令注入和路径遍历

快速开始

安装
npm install -g hacktricks-mcp-server

postinstall 脚本会自动克隆 HackTricks 仓库(首次安装约需 2 分钟)。

配置 Claude Desktop

将以下内容添加到 Claude 设置(~/.claude/settings.json):

{
  "mcpServers": {
    "hacktricks": {
      "command": "npx",
      "args": ["hacktricks-mcp-server"]
    }
  }
}

重启 Claude Desktop 并尝试提问:“搜索 HackTricks 中的 SQL 注入”

其他方式:从源代码安装
git clone https://github.com/Xplo8E/hacktricks-mcp-server.git
cd hacktricks-mcp-server
git submodule update --init --recursive
npm install
npm run build

从源代码安装的配置:

{
  "mcpServers": {
    "hacktricks": {
      "command": "node",
      "args": ["/absolute/path/to/hacktricks-mcp-server/dist/index.js"]
    }
  }
}

使用示例

在 Claude Desktop 中完成配置后,你可以提问:

  • “搜索 HackTricks 中的 SQL 注入技术”
  • “给我 SUID 权限提升命令”
  • “给我看看 XSS 载荷”
  • “列出 HackTricks 中所有渗透测试类别”
  • “如何利用 XXE 漏洞?”

该服务提供 7 个专用工具,帮助你高效搜索 HackTricks。

可用工具

hacktricks_quick_lookup

⚡ 一次调用查找利用信息。一次调用即可搜索、找到最佳页面,并返回利用章节和代码块。

参数:

  • topic(字符串,必需):要查找的攻击/技术(例如,'SUID'、'sqli'、'xss'、'docker escape')
  • category(字符串,可选):类别筛选条件,可加快搜索结果返回速度

支持的别名: sqli、xss、rce、lfi、rfi、ssrf、csrf、xxe、ssti、idor、jwt、suid、privesc

示例:

hacktricks_quick_lookup("SSRF", category="pentesting-web")

优点: 针对“如何利用 X”类问题,可将 3 次以上工具调用减少到 1 次。


search_hacktricks

搜索 HackTricks 文档。结果按文件分组,并显示匹配数量、页面标题和相关章节标题。

参数:

  • query(字符串,必需):搜索词或正则表达式
  • category(字符串,可选):筛选特定类别(例如,'pentesting-web')
  • limit(数字,可选):分组结果数量上限(默认值:20)

输出示例:

Found matches in 5 files for: "SUID"

────────────────────────────────────────────────────────────

📄 **Linux Privilege Escalation**
   Path: src/linux-hardening/privilege-escalation/README.md
   Matches: 12
   Sections: SUID Binaries | Finding SUID | GTFOBins
   Preview:
     L45: Find files with SUID bit set...
     L78: Common SUID exploitation techniques...

────────────────────────────────────────────────────────────

get_hacktricks_outline

获取页面的目录(所有章节标题)。阅读完整页面前,先使用此工具了解页面结构。

参数:

  • path(字符串):Markdown 文件的相对路径

输出示例:

# Linux Privilege Escalation
  ## Enumeration
    ### System Information
    ### Network
  ## SUID Binaries
    ### Finding SUID Files
    ### Exploiting SUID
  ## Capabilities

优点: 约 20 行即可了解页面结构,无需阅读 500 多行内容。


get_hacktricks_section

根据标题名称从页面中提取特定章节。这比读取完整页面高效得多。

参数:

  • path(字符串):Markdown 文件的相对路径
  • section(字符串):要提取的章节标题(部分匹配,不区分大小写)

示例:

get_hacktricks_section("src/linux-hardening/privilege-escalation/README.md", "SUID")

优点: 只需读取“SUID Binaries”章节(约 200 个 token),而非整个页面(约 3000 个 token)。


get_hacktricks_cheatsheet

从页面中仅提取代码块。如果你只需要命令、载荷或示例,这个工具再合适不过。

参数:

  • path(字符串):Markdown 文件的相对路径

输出示例:

find / -perm -4000 2>/dev/null
./vulnerable_suid -p

优点: 如果你只需要“给我命令”,就可以跳过说明文字。


get_hacktricks_page

获取 HackTricks 页面的完整内容。

参数:

  • path(字符串):Markdown 文件的相对路径

警告: 页面可能很长(超过 3000 个 token)。建议改用 get_hacktricks_outline 和 get_hacktricks_section。


list_hacktricks_categories

列出类别及其内容。

参数:

  • category(字符串,可选):要展开的类别

不指定类别: 列出顶级类别 指定类别: 显示包含文件路径的完整目录树

高效使用模式

为优化 token 使用,Claude 应:

  1. 按类别筛选搜索 → 获取带有上下文的分组结果
  2. 获取相关页面的大纲 → 阅读前先查看结构
  3. 提取特定部分 → 只阅读所需内容
  4. 获取速查表 → 快速查阅命令

之前(效率低):

search_hacktricks("SUID")     → 50 raw lines
get_page(file1)               → 3000 tokens
get_page(file2)               → 2500 tokens  
Total: ~5500 tokens, 3 calls

之后(高效):

search_hacktricks("SUID", category="linux-hardening")  → Grouped results
get_outline(best_match)                                 → 20 lines
get_section(best_match, "SUID")                         → 200 tokens
Total: ~400 tokens, 3 calls

要求

  • Node.js(v18 或更高版本)
  • ripgrep(rg)——通常已预装在 macOS/Linux 上
  • Bun(用于包管理)

开发

监视模式:

bun run dev

本地测试:

bun run start

参与贡献

欢迎贡献!如果你想改进此服务:

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/improvement)
  3. 进行修改并在本地测试
  4. 提交拉取请求

请确保你的 PR 包含新功能的测试,并保持现有代码风格。

许可证

MIT

致谢

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。