SD-PWN第二部分:Citrix SD-WAN中心——又一起网络接管事件
众所周知,Citrix非常重视安全性。本文将讲述我们如何在Citrix SD-WAN平台中获得远程代码执行权限。
公平地说,我们对Silver Peak和其他两家领先的网络公司也进行了同样的测试,这些将在未来的文章中披露。我们发现的所有漏洞都允许完整的远程代码执行。这是否代表了SD-WAN整体安全性存在问题?
如果您使用Citrix SD-WAN,请立即更新。这是一个重大漏洞,可能允许攻击者拦截流量或摧毁整个国际网络。
谁不喜欢蛋糕?
Tenable的Chris Lyne之前研究过Citrix SD-WAN。他展示了一个直达SD-WAN设备的RCE攻击链。他的《漏洞猎手的CakePHP入门》对我们帮助很大。
Citrix SD-WAN基础设施变化不大。它仍然运行在Apache上,使用CakePHP2作为框架。
安全审计最重要的部分之一是检查过去的工作,验证之前的修复是否正确实施。Tenable报告的主要漏洞是通过使用Collector端点访问诊断功能来绕过身份验证。Citrix通过在Apache配置(/etc/apache2/sites-enabled/talari)中添加以下访问限制来阻止此访问:
|
|
这看起来是合理的。要使用Collector端点,必须提供由供应商签名的客户端证书。由于我们找不到绕过方法,无法发送以/Collector/开头的请求。但CakePHP2框架如何处理URL?让我们查看CakeRequest.php中的_url函数:
|
|
简单来说,如果我们的REQUEST_URI在://之后包含?,URI的开头将被移除。这会导致Apache和CakePHP对URI的解析出现差异,从而允许我们绕过Collector端点的客户端证书检查。形如aaaaaaaaaaaaaaaaa/://?/collector/diagnostics/stop_ping
的URI将转换为/collector/diagnostics/stop_ping
,既不需要客户端证书也不需要身份验证。
我们内部讨论过这究竟是Citrix的漏洞还是更广泛的CakePHP2漏洞。目前没有得出结论,欢迎分享您的观点。
实际CVE漏洞详情:
未授权路径遍历与Shell注入(stop_ping)— CVE-2020-8271
/collector/diagnostics/stop_ping端点读取文件"/tmp/pid_" . $req_id,并将其内容用于shell_exec调用。用户提供的$req_id未经过滤,允许路径遍历。攻击者可以在任意位置放置用户控制内容的文件(例如使用/collector/licensing/upload),并执行任意shell命令。
ConfigEditor身份验证绕过 — CVE-2020-8272
这是一个有趣的漏洞,涉及CakePHP将URI转换为端点函数参数的方式。端点名称后的URI路径的每个元素都将被视为处理函数参数。如果我们有路由定义:
|
|
而我们的处理函数定义为:
|
|
$auth参数专门用于内部调用,不应从外部设置。但使用以下URI:
/sdwan_center/nitro/v1/config_editor/config_packages/test2=test2/test3/test4
将导致以下参数分配:
- $resource = “config_packages”
- $params = “test2=test2”
- $auth = “test3”
- $internal = “test4”
由于$auth参数现在被赋值,所有configEditor功能都可在无需身份验证的情况下访问。
CreateAzureDeployment Shell注入 — CVE-2020-8273
在AzureDeployment/createAzureDeployment端点中,用户提供的数据经过JSON编码后使用以下代码拼接到exec调用:
|
|
传递形式为{"loginData": "test';ping -c 5 192.168.1.1;'", "param": "1"}
的参数将运行shell命令ping -c 5 192.168.1.1
。
RCE攻击链
结合Collector身份验证绕过和stop_ping shell注入,可实现预身份验证的远程代码执行。以下是利用脚本: RealmodeLabs/SD-PWN
结语
我们在本文中展示了Citrix SD-WAN中心存在的两个身份验证绕过和两个shell注入漏洞。
为Citrix辩护,我们承认很难预料CakePHP会以这种方式处理URL。这就是为什么对产品进行专门安全审计如此重要。
如果您想抢先了解下一个SD-PWN漏洞,请关注我们的LinkedIn或通过contact@realmodelabs.com联系我们。