mcpField
P
pentest-hacktricks-finder

pentest-hacktricks-finder

github.com/crtvrffnrt安全470 次安装5 周前更新
代码仓库

关于 pentest-hacktricks-finder

这是一个查找并提取 HackTricks 安全技术、漏洞、绕过方法和利用流程资料的研究技能,面向渗透测试人员与安全研究者。它规定了限定范围的 Exa 和 DuckDuckGo 搜索、仓库核验及页面抓取流程。

主要功能

  1. 01使用限定范围的 Exa 查询
  2. 02以 DuckDuckGo dork 作为备用
  3. 03对照上游仓库核验页面
  4. 04抓取页面并提取载荷与注意事项
  5. 05从索引页转向具体技术指南

适用场景

  1. 01查找特定漏洞类别的 HackTricks 资料
  2. 02核对技术的前提条件与限制
  3. 03收集研究所需载荷和防御提示

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/crtvrffnrt/skills --skill pentest-hacktricks-finder

安装后在 Claude Code 中输入/pentest-hacktricks-finder确认已加载。

详细介绍

HackTricks 搜索技能

目的

使用此技能,针对给定的技术、漏洞类别、绕过手法或利用工作流,可靠地发现并提取主站和云端 HackTricks 站点中最相关的页面,然后获取所需的确切章节(有效载荷、前置条件、注意事项和防御建议)。 除非当前负责阶段明确为研究阶段,否则请将此技能作为技术、有效载荷、绕过手法和边缘情况研究的辅助技能。

HackTricks 在不同搜索引擎中的索引可能不一致。因此,此技能定义了两个搜索后端:

  1. 首选:使用 Exa 进行网页搜索,并严格限定站点范围。
  2. 备用:使用 DuckDuckGo 搜索语法,并严格限定站点范围、减少噪声。
  3. 验证:在上游 HackTricks 仓库中搜索 GitHub。

以下情况请使用备用后端:

  • Exa 结果稀少或无关。
  • 需要严格匹配标题/路径/关键词。
  • 需要为常见漏洞类别获取可复现的搜索语法集合。

范围限制

仅搜索以下范围内的内容:

https://hacktricks.wiki/
https://book.hacktricks.wiki/en/
https://cloud.hacktricks.wiki/
https://github.com/HackTricks-wiki/hacktricks
https://github.com/HackTricks-wiki/hacktricks-cloud

将 hacktricks.wiki 视为主 Wiki 当前的规范主机名;两者同时出现时,将 book.hacktricks.wiki 视为旧路径。除非用户明确要求,否则请避免使用无关镜像、翻译版本或缓存副本。

输入

  • 主题:简短描述目标的短语,例如:“DOM XSS bypass”“XXE parameter entities”“CSRF SameSite bypass”。
  • 可选:漏洞类别(XSS、XXE、CSRF、SSRF、SSTI、IDOR、Smuggling、Deserialization、Cloud)。
  • 可选:限制条件(框架、语言、云服务提供商、WAF、浏览器)。

工作流

  1. 搜索:首先执行 Exa 搜索。如果结果较浅,则使用 DDG 搜索语法,或使用 Exa 查询 DDG。
  2. 验证:尽可能对照相关的上游 GitHub 仓库核查结果:
    • https://github.com/HackTricks-wiki/hacktricks,适用于 hacktricks.wiki 和旧版 book.hacktricks.wiki
    • https://github.com/HackTricks-wiki/hacktricks-cloud,适用于 cloud.hacktricks.wiki
  3. 获取:对 HackTricks URL 使用 web_fetch 工具。不要使用 read_file。
  4. 提取:重点关注:
    • 有效载荷及其变体
    • 前置条件/限制(例如 IMDSv2、TTL、Hop Limit)
    • 绕过技术
    • 检测/加固说明
  5. 深入搜索:如果页面只是索引或高层概述(例如 cloud-ssrf.html),请继续搜索,或获取文中提到的子页面,以查找特定有效载荷(例如 ECS 与 EC2)。
  6. 再次核查:如果 Wiki 结果看起来不完整、已过时或含糊不清,请直接在匹配的 GitHub 仓库中搜索相同的 slug、标题或独特短语,并将仓库源内容与渲染后的页面进行比较。
  7. 返回:
    • 选定的 URL
    • 提取的有效载荷/步骤
    • 前置条件和限制

后端 A:Exa 搜索(首选)

通用模式
web_search_exa({
  query: "site:hacktricks.wiki OR site:book.hacktricks.wiki/en OR site:cloud.hacktricks.wiki <topic>",
  include: ["https://hacktricks.wiki/*", "https://book.hacktricks.wiki/en/*", "https://cloud.hacktricks.wiki/*"]
})
收紧结果(推荐)
web_search_exa({
  query: "site:hacktricks.wiki OR site:book.hacktricks.wiki/en OR site:cloud.hacktricks.wiki (<high-entropy keywords>) (<bypass|payload|trick|technique>)",
  include: ["https://hacktricks.wiki/*", "https://book.hacktricks.wiki/en/*", "https://cloud.hacktricks.wiki/*"]
})

注意:

  • 优先选择 1–3 个高熵词项,而不是冗长的关键词串(页面 slug、函数名、CVE 编号、独特标题)。
  • 如果 Exa 返回的是索引页面,请继续深入同一目录下的子页面。

后端 B:DuckDuckGo 搜索语法(备用)

DuckDuckGo 的查询语义与 Google 的“搜索语法”并不完全相同。请调整查询构造方式:

  • 不要假设以空格分隔的词项之间会隐式执行 AND。请使用高熵锚点(slug、引号短语、intitle/inurl)。
  • 如果包含大量运算符的查询几乎没有或没有命中结果,DuckDuckGo 可能会放宽限制并显示“相关结果”。遇到这种情况时,请使用 slug/引号收紧查询,而不是添加通用关键词。
  • +term 表示提高相关性,而非严格要求。
  • 优先使用 site: + inurl: / intitle: + 引号短语 + 排除过滤器,而不是布尔式查询串。

建议使用的运算符:

  • 引号用于精确短语
  • 排除项 -term 和 -site:example.com
  • site:、inurl:、intitle:、filetype:(支持范围有限)
基线模板(适用于 DDG)
(site:hacktricks.wiki OR site:book.hacktricks.wiki OR site:cloud.hacktricks.wiki) inurl:/en/ <high-entropy tokens> -inurl:/print -inurl:/index -inurl:/tags

定向搜索手册(优先使用 Slug)

这些手册通过锚定稳定的 HackTricks slug 和目录,旨在与 DuckDuckGo 配合使用。

XSS 手册
(site:hacktricks.wiki OR site:book.hacktricks.wiki OR site:cloud.hacktricks.wiki) inurl:/en/pentesting-web/xss-cross-site-scripting/ (csp OR waf OR bypass OR payload) -inurl:/print -inurl:/index
XXE 手册
(site:hacktricks.wiki OR site:book.hacktricks.wiki OR site:cloud.hacktricks.wiki) inurl:/en/pentesting-web/ inurl:xxe-xee-xml-external-entity (DTD OR "parameter entity" OR payload) -inurl:/print -inurl:/index
SSRF 手册(包括云环境)
(site:hacktricks.wiki OR site:book.hacktricks.wiki OR site:cloud.hacktricks.wiki) inurl:/en/pentesting-web/ssrf-server-side-request-forgery/ (metadata OR cloud OR "169.254" OR "169.254.170.2" OR bypass) -inurl:/print -inurl:/index
云渗透测试手册(AWS/GCP/Azure)
(site:hacktricks.wiki OR site:book.hacktricks.wiki OR site:cloud.hacktricks.wiki) inurl:/en/ (pentesting-web OR pentesting-cloud) (aws OR gcp OR azure) (ssrf OR privilege OR "metadata-service" OR iam) -inurl:/print -inurl:/index

后端 C:GitHub 仓库验证

当搜索结果不一致、wiki 页面内容稀少,或需要权威上游文本时,使用 GitHub 进行交叉验证。

主 wiki 仓库
repo:HackTricks-wiki/hacktricks <topic OR slug OR unique phrase>
云 wiki 仓库
repo:HackTricks-wiki/hacktricks-cloud <topic OR slug OR unique phrase>

验证注意事项:

  • 优先使用与 wiki slug 对应的仓库文件或渲染后的 Markdown。
  • 当搜索引擎给出的结果不一致时,通过仓库确认名称、章节顺序和边缘情况的细节。
  • 如果 wiki 与仓库内容不一致,则以上游文本的仓库内容为准,并注明这一差异。
SSTI 手册
(site:hacktricks.wiki OR site:book.hacktricks.wiki OR site:cloud.hacktricks.wiki) inurl:/en/pentesting-web/ssti-server-side-template-injection/ (payload OR bypass OR sandbox) -inurl:/print -inurl:/index
IDOR 手册
(site:hacktricks.wiki OR site:book.hacktricks.wiki OR site:cloud.hacktricks.wiki) inurl:/en/pentesting-web/ (idor OR "insecure direct object reference" OR "broken access control") -inurl:/print -inurl:/index

验证清单(获取内容前)

  • URL 位于某个 HackTricks 站点上,且与目标技术相符。
  • 如果 wiki 页面位于 hacktricks.wiki,请确认它是否也存在于 github.com/HackTricks-wiki/hacktricks。
  • 如果 wiki 页面位于 cloud.hacktricks.wiki,请确认它是否也存在于 github.com/HackTricks-wiki/hacktricks-cloud。
  • slug 与目标漏洞类别(或至少与目标技术)相符。
  • 当需要载荷细节时,页面不能只是索引聚合页。
  • 如果 DuckDuckGo 返回“相关结果”,请减少通用词,增加具体信息(slug + 引号括起的短语)。

获取与提取

选定 URL 后,始终使用 web_fetch。提取以下内容:

  • 包含载荷、绕过方法、PoC 的章节标题
  • 任何前置条件(版本、库、浏览器限制)
  • 任何“注意事项”(编码、解析差异、WAF 行为、IMDSv2 令牌等云环境特有的难点)

以精简结构返回结果:

{
  "topic": "<topic>",
  "selected_urls": [
    "https://hacktricks.wiki/...",
    "https://book.hacktricks.wiki/en/..."
  ],
  "extracted": [
    {
      "url": "https://hacktricks.wiki/...",
      "sections": ["<header 1>", "<header 2>"],
      "payloads_or_steps": ["<payload/step 1>", "<payload/step 2>"],
      "constraints": ["<constraint 1>", "<constraint 2>"]
    }
  ]
}

渗透测试人员须知

  • 优先使用限定子树的搜索(例如:xss-cross-site-scripting、ssrf-server-side-request-forgery)。
  • 转向策略:如果页面提到了环境变量(例如 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI),请查找说明如何泄露该变量的章节。
  • IMDSv2 注意事项:务必检查载荷是否需要使用 PUT 请求获取令牌(IMDSv2),还是只需简单的 GET 请求(IMDSv1)。
  • 找到有价值的索引页后,转向同一目录下更深入的子页面,查找载荷细节。

评论

支持 Markdown