针对Fortinet FortiNAC漏洞的PoC利用代码被发布
Horizon3 网络安全公司的研究人员发布了针对Fortinet的FortiNAC网络访问控制解决方案中严重漏洞的概念验证漏洞,该漏洞被跟踪为CVE-2022-39952 。阅读分析
上周,Fortinet 发布了安全更新,以解决 FortiNAC 和 FortiWeb 解决方案中的两个关键漏洞。
这两个漏洞被追踪为CVE-2022-39952和CVE-2021-42756,分别是Fortinet FortiNAC中文件名或路径的外部控制和FortiWeb代理守护进程中基于堆栈的缓冲区溢出问题的集合。
CVE-2022-39952漏洞(CVSS 评分为 9.8)是 FortiNAC 的 keyUpload 脚本中的文件名或路径的外部控制。该漏洞是由 Fortinet 产品安全团队的 Gwendal Guégniaud 在内部发现并报告的。
“FortiNAC 网络服务器中的文件名或路径漏洞 [CWE-73] 的外部控制可能允许未经身份验证的攻击者在系统上执行任意写入。”
受影响的产品有:
FortiNAC 版本 9.4.0
FortiNAC 版本 9.2.0 到 9.2.5
FortiNAC 版本 9.1.0 到 9.1.7
FortiNAC 8.8 所有版本
FortiNAC 8.7 所有版本
FortiNAC 8.6 所有版本
FortiNAC 8.5 所有版本
FortiNAC 8.3 所有版本
CVE-2022-39952漏洞已在FortiNAC 9.4.1及更高版本、9.2.6 及更高版本、9.1.8 及更高版本以及 7.2.0 及更高版本中修复。
今天,Horizon3分享了有关该漏洞的技术细节以及妥协指标 (IoC) 和概念验证 (PoC) 利用代码。
研究人员从易受攻击的 vmdk 和打了补丁的 vmdk 中提取了两个文件系统,并注意到该文件/bsc/campusMgr/ui/ROOT/configWizard/keyUpload.jsp
在补丁中被删除了。
javascript的名称 KeyUpload 也在供应商发布的原始公告的标题(“KeyUpload scriptlet 中的文件名或路径的外部控制”)中报告。
“这个 POC 滥用 keyUpload.jsp 端点来实现任意文件写入。”
PoC 利用代码将一个 cron 作业写入 /etc/cron.d/,每分钟创建一个反向 shell。
“类似于之前允许任意文件写入的存档漏洞问题的武器化,我们利用这个漏洞将一个 cron 作业写入 /etc/cron.d/payload。这个 cron 作业每分钟都会触发一次,并向攻击者发起一个反向 shell。” 阅读Horizon3 发布的该漏洞的技术分析。然后,我们将恶意 zip 文件发送到关键字段中的易受攻击端点。一分钟之内,我们以 root 用户获得了一个反向 shell。我们的概念证明利用自动化这可以在我们的 GitHub上找到。”
对 keyUpload.jsp 的分析表明,未经身份验证的端点将解析在 key 参数中提供文件的请求。如果找到,脚本会在调用 Runtime() 之前将文件写入 /bsc/campusMgr/config.applianceKey。Exec() 会执行位于 /bsc/campusMgr/bin/configApplianceXml 的 bash 脚本。
bash 脚本对刚刚写入的文件运行解压缩命令,然后调用“cd /”。
“解压缩将允许将文件放置在任何路径中,只要它们不遍历当前工作目录之上。因为工作目录是 /,bash 脚本中的 unzip 调用允许写入任意文件。” 继续分析。
在攻击场景中,威胁行为者可以使用密钥参数向易受攻击的端点发送一个特制的 ZIP 存档,其中包含可以在特定位置提取的恶意负载。

由于 PoC 漏洞代码的可用性,敦促管理员立即解决他们的安装问题。
本文来源于Lonely Blog -全球网络安全资讯平台, 转载请注明出处: https://blog.wuhao13.xin/4270.html