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情况下确实有帮助),进一步检查后我们发现了执行本地主机检查的位置:
|
|
任何以"localhost"作为HTTP Host头的请求都将满足此检查。当然,这可以在远程请求中轻松伪造。
文件删除路径遍历——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联系我们。