Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
reconkg — 带溯源能力的漏洞分诊工具。从本地构建的数据集(NVD/KEV/EPSS、ExploitDB、nmap script.db)解析 CVE,并输出按对目标执行后产生的影响分类的验证命令。 | Kitploit
工具/GitHubGitHub/xghst0/reconkg
威胁源与聚合器漏洞分析网络安全渗透测试威胁情报
GitHubxghst0/reconkg

reconkg

带溯源能力的漏洞分诊工具。从本地构建的数据集(NVD/KEV/EPSS、ExploitDB、nmap script.db)解析 CVE,并输出按对目标执行后产生的影响分类的验证命令。

查看仓库
481个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

reconkg

一个漏洞分类工具。它接收扫描已经发现的结果,推断哪些 CVE 可能适用,告诉你其置信度及依据,并给出可供你自行验证的命令。

它不扫描任何内容,也不利用任何内容。

在 Kali 上安装

git clone https://github.com/xGhst0/reconkg && cd reconkg && pip install -e . --break-system-packages && python -m reconkg.selfcheck

最后一步会报告它能看见什么、看不见什么:是否找到了 nmap 的 script.db、配置了哪些语料库,以及有多少真实指纹确实能产生线索。请先运行它。开箱即用的答案是“九个手写 CVE”,selfcheck 会如实说明这一点,而不是让你自行假设。

获取真实语料库

内置的九个条目只是演示用的固定样本。若要用于任何真实场景:

export NVD_API_KEY=...          # free: https://nvd.nist.gov/developers/request-an-api-key
python -m reconkg.fetch  --dest ~/.reconkg/feeds --all
python -m reconkg.builddb --feeds ~/.reconkg/feeds --out ~/.reconkg/vuln.db

export RECONKG_VULN_DB=~/.reconkg/vuln.db
export RECONKG_EXPLOIT_DB=~/.reconkg/exploits.db
export RECONKG_SCRIPT_DB=/usr/share/nmap/scripts/script.db

没有 API 密钥时,NVD 会将请求限制为每 30 秒 5 次,完整拉取大约需要四小时,而不是二十五分钟。它会进行检查点记录,因此中断的拉取可以恢复。--since 只拉取发生变化的内容。

如果设置了语料库变量但文件无法打开,reconkg 会拒绝启动。当你要求 300,000 条时却悄悄只提供九条,意味着扫描什么也找不到,却看起来像是成功了。

使用它

python -m reconkg.app        # serves http://127.0.0.1:8765/ui
python -m reconkg.console    # REPL

app 仅绑定回环地址,且没有可更改此行为的标志。该进程保存你的扫描结果,并发出针对你正在测试的主机的命令;与让这些内容从网络其余部分可达相比,SSH 隧道只是很小的代价。--port 可更改端口,RECONKG_PORT 可设置默认值。

身份验证。 每个路由都需要 Authorization: Bearer <token>,来自 RECONKG_TOKENS,格式为 name:role:token(角色:viewer、scanner、operator、admin;令牌至少 16 个字符)。如果未设置,app 会仅为该进程生成一个令牌并在启动时打印——不写入磁盘,每次重启都不同。

浏览器无法在普通导航中附加请求头,因此直接打开 /ui 会返回 401。请使用可注入请求头的扩展,或直接调用 API:

export RECONKG_TOKENS="me:admin:$(openssl rand -hex 16)"
curl -H "Authorization: Bearer ${RECONKG_TOKENS##*:}" \
     http://127.0.0.1:8765/api/corpus

UI 在点击时显示带来源信息的知识图谱,因此你能看到某个 CVE 为何被关联到某台主机,而不是盲目相信一个评分;同时还有一个按分诊优先级排序、并纳入 KEV 和 EPSS 权重的台账。

它会给你什么,不会给你什么

每条建议的命令都带有一个 NSE 类别,描述运行它对目标会产生什么影响。这套词汇来自 nmap,并非凭空杜撰。

类别reconkg 的行为
safe、discovery、version组合生成,默认显示
intrusive、vuln、unclassified组合生成,勾选复选框后显示,并附带授权警告
exploit、dos、fuzzer、brute仅点名,绝不组合生成

最后一行就是边界。如果某条线索存在可用的漏洞利用,reconkg 会告诉你对应的模块或模板以及在哪里找到它。它不会把它组装成一条已经填入你目标的调用命令。Metasploit 建议止步于 show options —— 也就是你回读 RHOSTS 并确认它正是你获得授权针对的主机的那一步。

在你自己的机器上,这只是一次按键的差别;但对于这个工具究竟是什么,差别要大得多。

安全性按检查项分类,绝不按工具分类。这不是吹毛求疵:当前的 nuclei CVE 模板是通过利用来实现检测的 —— 其中一个模板通过 Langflow RCE 投递 subprocess.run('cat /etc/passwd') 载荷,并匹配 root:.*:0:0:。任何假定“nuclei 负责检测、Metasploit 负责利用”的说法,在遇到第一个模板时就会出错,因此 nuclei 被归为 unclassified,置于需主动选择启用的开关之后。

诚实的局限

  • 版本推断对向后移植(backporting)视而不见。 RHEL 和 Debian 会就地打补丁而不改变版本字符串,因此版本匹配不等于补丁级别匹配。线索中会说明这一点。
  • 大多数机器并不会落入版本→CVE 的路径。 Web 逻辑缺陷、凭据复用、SUID/sudo 配置错误和 AD 滥用都没有可匹配的 CVE,语料库再大也改变不了这一点。selfcheck 会打印真实的命中率,而不是一个好看的命中率。
  • 过期的语料库会静默地少报。 自上次构建以来发布的每个 CVE 都直接缺失,却以与真阴性相同的置信度被报告。describe() 会将超过 30 天的语料库标记为过期,并指出哪个数据源已陈旧。

开发

pip install -r requirements-dev.txt
python -m pytest tests/ -q          # 1219 tests
python -m audit.mutation            # mutation testing, 12 targets at 100%
python -m audit.scale_bench         # corpus scale benchmark

docs/ 包含设计说明以及上述决策背后的推理过程。audit/AUDIT.md 是发现记录:十轮对抗性测试中共有 47 项发现,其中包括对一种占其中 13 项的缺陷形态的分析,以及对哪些措施已阻止、哪些尚未阻止该缺陷的诚实评估。

许可证

MIT — 见 LICENSE。

reconkg 不附带任何漏洞数据。语料库在你的机器上由你自行获取的数据源构建,这样其许可证的遵守责任仍由你承担;尤其是 ExploitDB 的索引采用 GPL-2.0-or-later 许可,此处刻意从不重新分发。

仅用于你获准接触的系统

reconkg 输出的一切内容都只是供人工执行的建议。对你不拥有或未获得书面授权测试的系统运行 intrusive 或 vuln 检查,在大多数司法管辖区均属违法。

下载工具