CVE2PoC 是一款帮助渗透测试人员、漏洞猎人及安全研究人员快速查找与 CVE ID 相关的公开漏洞、概念验证(PoC)和通告的工具。
CVE2PoC 可通过 pipx 或 uv 安装。
pipx install git+https://github.com/0liverFlow/cve2poc
uv tool install git+https://github.com/0liverFlow/CVE2PoC
uvx git+https://github.com/0liverFlow/CVE2PoC
CVE2PoC 的使用非常简单。只需指定一个 CVE ID 即可。
请参考下面的帮助菜单和演示部分,以更好地了解该工具的功能。
usage: cve2poc.py [-h] [-x] [-d] [-f FILE] [-o OUTPUT] [-l LANGUAGE] [--limit LIMIT] [-t] [--labs CVE ID]
[--bugbounty-reports CVE ID] [--mitigations CVE ID] [--cve2cpe CVE ID] [--cpe2cve CPE] [-s FILE]
[--api-keys] [--no-banner]
[cve]
一个简单而强大的工具,用于快速查找与 CVE ID 相关的 PoC
positional arguments:
cve CVE ID
options:
-h, --help 显示此帮助信息并退出
-x , --examine 查看漏洞利用的 README 文件
-d, --description 显示 CVE ID 的描述
-f FILE, --file FILE 指定包含 CVE ID 列表的文件
-o OUTPUT, --output OUTPUT 存储报告的输出目录
-l LANGUAGE, --language LANGUAGE 按编程语言过滤 PoC
--limit LIMIT 显示的 PoC 数量
-t , --threads 并发线程数
--labs CVE ID 搜索与 CVE ID 相关的预构建 Docker 环境和实操实验室
--bugbounty-reports CVE ID 搜索与 CVE ID 相关的漏洞悬赏报告
--mitigations CVE ID 修复漏洞的步骤
--cve2cpe CVE ID 获取与 CVE ID 相关的 CPE
--cpe2cve CPE 获取与 CPE 相关的 CVE
-s FILE, --save FILE 保存 CPE2CVE 结果的输出文件
--api-keys 配置你的 GitHub 和 NVD API 密钥(非必需)
--no-banner 去除横幅
运行以下命令搜索与 CVE ID 相关的公开漏洞:
cve2poc <CVE ID>

默认情况下,该工具将返回前 10 个漏洞利用,按星标和分叉数量排序。 此外,它还会搜索与指定 CVE ID 相关的 Metasploit 模块、Nuclei 模板和 Exploit-DB 漏洞利用。
要搜索多个 CVE,请使用 -f 标志指定一个包含 CVE ID 列表的文件(每行一个 CVE):
cve2poc -f <file>


默认情况下,CVE2PoC 会在当前目录自动生成详细的 JSON 和 HTML 报告。 如需使用不同的输出目录,请使用
-o标志。
要测试此功能,请使用提供的示例文件。
以下命令返回 CVE ID 的描述,以及用于更好理解该漏洞的附加参考资料:
cve2poc --description <CVE ID>

CVE2PoC 可用于查找现成的 Docker 环境和实操实验室,以便在真实环境中使用漏洞利用之前安全地理解和测试它们,从而降低生产中断的风险。
cve2poc --labs <CVE ID>

漏洞悬赏报告有助于更好地理解 CVE 在真实场景中是如何被利用的。它们还可能包含 PoC,帮助你复现该漏洞。
cve2poc --bugbounty-reports <CVE ID>

要快速确定漏洞的修复步骤,请使用以下命令:
cve2poc --mitigations <CVE ID>

CVE2PoC 具有类似于 searchsploit -x 的功能,允许你直接在终端中阅读漏洞利用的 README 文件。这对于需要快速了解漏洞利用原理而无需使用浏览器时非常方便。
要查看漏洞利用的文档,请使用以下命令:
cve2poc --examine <GitHub Clone URL>

GitHub Clone URL 是 CVE2PoC 为每个 PoC 返回的 URL。
要检索与 CPE 相关的 CVE ID,请运行以下命令:
cve2poc --cpe2cve <CPE>

要检索与 CVE ID 相关的 CPE,请运行以下命令:
cve2poc --cve2cpe <CVE ID>

CVE2PoC 具有一项功能,可以帮助你搜索用特定编程语言编写的 PoC。要使用该功能,请运行以下命令:
cve2poc <CVE ID> --language <Programming Language>

默认情况下,CVE2PoC 返回 GitHub 上的前 10 个漏洞利用。不过,你可以使用 --limit 标志显示更多或更少的漏洞利用:
cve2poc <CVE ID> --limit <N>

N 必须大于或等于 1。
CVE2PoC 使用 argcomplete 通过 argparse 自动实现 Tab 补全。
sudo apt install python3-argcomplete
# 对于 Bash
register-python-argcomplete cve2poc >> ~/.bashrc
source ~/.bashrc
# 对于 Zsh
register-python-argcomplete cve2poc >> ~/.zshrc
source ~/.zshrc
CVE2PoC 使用 ruff 进行代码检查和格式化。
# 运行代码检查
uv run ruff check .
# 运行代码检查并自动修复
uv run ruff check --fix .
# 运行格式化
uv run ruff format .
衷心感谢 CVE2PoC 所依赖的以下来源:
此工具仅用于教育、研究和授权的安全测试目的。请仅在你拥有或明确许可评估的系统上使用它。作者不对因使用本工具而产生的任何滥用或损害负责。