已知可利用漏洞:一网打尽
在本文中,我们将介绍一系列实用工具和实证洞察,用于识别来自 CISA KEV、Google Tsunami,以及创新的 Ostorlab Asteroid 项目等权威平台的严重、高危且正被活跃利用的漏洞。
TL;DR
本文分享用于检测严重和高危、可远程利用且正被活跃利用漏洞的实证数据和工具。这些漏洞收集自 CISA KEV、Google Tsunami 等来源,以及我们新加入的 Ostorlab Asteroid 项目。 在本文中,我们开源了一批新工具,用于大规模检测其中相当大比例的漏洞。
引言
并非所有漏洞都是“生而平等”的,它们带来的影响各不相同,被利用所需的条件也各不相同。远程无需身份验证的严重和高影响漏洞属于最危险的一类,无论是远程代码执行、账户接管,还是默认和弱凭据,都可能导致灾难性的影响。
本文聚焦于识别这些严重漏洞、将它们区分开来,并介绍一套用于在任何系统中检测它们的全新开源工具(Agent)。
此外,我们还将分享和分析在漏洞赏金(Bug Bounty)规模下运用这些工具的结果。
这些漏洞
漏洞的严重程度会因多种因素而异,包括攻击向量(无论是本地还是远程)、所需的权限级别,以及是否需要用户交互。评估这些漏洞时可以增加的另一个重要标准是,它们是否已遭在野利用。这些标准有助于锁定并优先处理那些代表最严重威胁、需要立即关注和修复的漏洞。
借助 CISA KEV 和 Google Tsunami 等多个来源,这一优先级排序过程变得更加可行。CISA KEV 是一个追踪正被活跃利用的 CVE 的漏洞目录,而 Tsunami 则专注于由 Google 安全自动化团队排定优先级的严重和高危漏洞。
CISA KEV:
CISA KEV 列表总共包含 1054 个 CVE:
-
680 个无法远程利用,或需要用户交互或身份验证。
-
374 个漏洞可在无需用户交互或任何权限的情况下被远程利用。

在所分析的 374 个漏洞中,有 264 个已确认存在可用的公开漏洞利用代码。对于其余漏洞,有些存在相应的分析文章提供洞察,而另一些则缺乏任何相关信息。
在所调查的概念验证中,并非全部真实有效,有的只是部分可用、有误、带有恶意,或者纯属恶作剧。
另一个例子是 CVE-2022-28958,它并不是一个真实的漏洞。攻击者在其攻击中确实使用了虚假的 payload,这表明公开的漏洞利用代码是在未经验证的情况下被使用的。

该漏洞的描述为:“DIR816L_FW206b01 shareport.php 存在一个问题,攻击者可借此通过 value 参数执行命令”。
然而经过调查,该研究人员的概念验证最终被证实无法运行,而 VulnCheck 对该固件进行的进一步测试也未能发现任何支持该漏洞存在的证据。
该分析还揭示了所列厂商和产品的多样性。
下面是按厂商划分的(可远程利用 vs 不可远程利用)CVE 分布

值得一提的几点:
Microsoft:以 275 个 CVE 遥遥领先,但其中仅有 16 个是无需身份验证即可远程利用的。Apache:以 31 个漏洞在无需身份验证即可远程利用的 CVE 数量上位居第一。
按产品划分、需要凭据或不可远程利用的 CVE 分布:

按产品划分、无需身份验证即可远程利用的 CVE 分布:

完整列表可在以下仓库中获取,并持续更新:KEV Ostorlab 仓库。

全新开源工具
Ostorlab 的开源安全扫描框架在建立集中式扫描解决方案方面发挥了关键作用。它允许同时运行多个具备各种能力的 Agent,以大规模测试这些漏洞。
例如,针对 IP 段测试这些漏洞的存在情况,结果并不理想。其中若干漏洞只有使用有效的域名才能访问。
为检测这些漏洞而构建和使用的 Agent 包括:
Nuclei agent:一个封装了 Nuclei 扫描器的开源 Agent,可针对任何目标、使用任何指定模板进行扫描。
更多信息请查看: https://github.com/Ostorlab/agent_nuclei.
Tsunami agent:一个封装了 Tsunami 扫描器的开源 Agent,可运行该扫描器提供的所有插件。
更多信息请查看: https://github.com/Ostorlab/agent_tsunami.
Metasploit agent:一个开源 Agent,旨在针对任何目标运用 Metasploit 模块以检查漏洞是否存在。
有关如何使用的更多信息,请参阅: https://github.com/Ostorlab/agent_metasploit.
Agent Asteroid:一个全新的 Agent,能够执行需要自定义协议或复杂逻辑的复杂检查,例如破解加密密钥等用 Nuclei 模板较难实现的检查。该 Agent 可在以下地址获取: https://github.com/Ostorlab/agent_asteroid.

“exploits”文件夹包含各种已实现的概念验证,我们将持续添加。
截至本报告发布时,我们的工具集涵盖了针对各种 CVE 的 18 项不同检查。除此之外,我们还开发了一些特定的自定义检查,例如针对 Android 调试桥(ADB)暴露的检查。
Nmap agent:用于运行端口发现的开源 Agent。Nmap agent 能够发现应由检测 Agent 针对哪些端口,确保这些端口只被扫描一次并由所有 Agent 进行测试。
Amass agent:用于枚举子域名的开源 Agent。该 Agent 在大规模测试期间被用于覆盖指定域名的所有公开可用目标。
Subfinder agent:另一个用于枚举子域名的开源 Agent。该 Agent 是对 amass 的补充,用于改进域名枚举。
整合运用
为了同时执行所有这些 Agent,Ostorlab 提供了定义 Agent 组并指定所需 Agent 的功能。
要查看 Agent 组定义的完整视图,您可以查看已知可利用漏洞。
运行此 Agent 组:
oxo scan run --install -g agent_group.yaml domain-name example.com
Agent 以 docker 镜像的形式打包,–-install 标志将确保下载最新版本。
要直观地了解这些 Agent 如何无缝协作,您可以使用以下工具进行可视化:https://report.ostorlab.co/library/agent/group。

它提供了拖放功能,可生成 Agent 组的 YAML 文件。此外,它还支持可视化 Agent 之间的通信、它们的输入和输出,以及它们在工作流程中的位置。
大规模测试
针对各种漏洞赏金目标运行所开发的工具,就这些漏洞在具备成熟安全态势的目标上的存在情况,提供了实证结果。
在 1500 个目标中,收集到以下结果:其中 二十五(25) 个目标包含可导致远程代码执行的严重漏洞。
例如:
Jboss 应用服务器——远程代码执行 漏洞,CVSS 评分为 9.8。

十一(11) 个目标包含高危漏洞,从预身份验证(pre-auth)RCE、FTP 和 IMAP 等服务中的弱凭据,到访问控制绕过,不一而足。
这意味着,在这些被认为具备成熟安全态势的目标中,仍有 2.5% 存在可被公开利用的漏洞。
结束语
漏洞是一项持续存在的挑战,而对其进行优先级排序仍然复杂,这么说毫不夸张。一个用于检测已知威胁的集中式开源工具,在保护环境方面提供了一项优势(也是第一步)。
欢迎为这个开源项目做出贡献。您可以在以下地址提交带有您概念验证的拉取请求(pull request):