Silver Peak Unity Orchestrator RCE
SD-WAN是一项重要技术。Gartner称其为"传统WAN路由器的替代品"。但能力越大责任越大。在Realmode Labs,我们研究了市场上四大SD-WAN产品,发现了严重的远程代码执行漏洞。这些漏洞利用无需任何身份验证。在最佳情况下,攻击者可以利用这些漏洞拦截或重定向流量。然而,如果攻击者愿意,他们可以关闭公司的整个国际网络。
这是一个四部分系列文章——在每篇文章中,我们将披露另一个主要SD-WAN供应商的漏洞。首先是Silver Peak。Gartner称Silver Peak为"WAN边缘基础设施魔力象限领导者",最近被HPE收购。但它们安全吗?
SD-PWN 第1部分 - Silver-Peak Unity Orchestrator
Silver Peak最让我们印象深刻的是它拥有最好的商业广告:
首先是一些背景信息。这些漏洞存在于Silver-Peak SD-WAN Orchestrator中。Orchestrator是集中控制公司SD-WAN拓扑的主要管理界面。从安全角度来看,这显然是一个关键点。为了实现远程代码执行,我们发现了三个不同的CVE,它们可以组合使用,允许攻击者对网络进行SD-PWN攻击。
除了Wayne McFarkus之外,检查Silver-Peak Unity Orchestrator还发现该系统运行在CentOS上,JAVA小程序作为Web服务器运行。
认证绕过 - CVE-2020-12145
查看处理API调用的代码时,我们注意到对来自本地主机的API调用有特殊处理,这些调用不需要进行身份验证。暂且不论这可能是个坏主意(在SSRF情况下确实会有帮助),进一步检查后,我们发现执行本地主机检查的位置:
|
|
任何HTTP Host头为"localhost"的请求都将满足此检查。当然,这可以在远程请求中轻松伪造。
文件删除路径遍历 - CVE-2020-12146
由于认证绕过,现在可以访问的一些API端点允许将调试日志上传到S3存储桶供Silver Peak检查。此机制准备日志,上传它们,然后删除本地托管文件。执行删除操作的/gms/rest/debugFiles/delete端点不检查路径遍历,从而能够删除系统上的任何文件(如果权限允许)。
任意SQL查询执行 - CVE-2020-12147
存在一个特殊的API端点来运行任意SQL查询。此端点仅可由本地主机访问,但与认证绕过中的情况相同,这可以轻松远程执行。
/gms/rest/sqlExecution端点可以通过使用INTO DUMPFILE子句实现任意文件写入。INTO DUMPFILE不允许覆盖文件,但可以使用"文件删除路径遍历"问题先删除文件,然后重写它。
完整RCE链
我们没有找到直接的shell注入。但是,通过利用这三个漏洞,可以使用以下步骤运行任意代码:
- 查找由Web服务器运行的文件
- 使用文件删除路径遍历问题删除它
- 使用SQL查询执行端点重新创建它
- 触发文件执行
我们找到的其中一个文件是/home/gms/gms/phantomGenImg.js。它是报告生成过程的一部分,由PhantomJS运行。PhantomJS包含child_process模块,使得可以在系统上运行任意shell命令。
脚本
RealmodeLabs/SD-PWN
发现的所有问题都已向相应供应商披露,并在发布时得到解决。
如果您想在其他人之前了解下一个SD-PWN漏洞,请确保在LinkedIn上关注我们或通过contact@realmodelabs.com联系我们。