首页 >> 网络安全 >>漏洞分析 >> CVE-2020-2021:漏洞利用分析
详细内容

CVE-2020-2021:漏洞利用分析

时间:2020-07-25        阅读

执行摘要

2020年6月29日,Palo Alto发布了有关安全断言标记语言(SAML)身份验证绕过CVE-2020-2021的信息。帕洛阿尔托(Palo Alto)发布了PAN-148988咨询,涉及一个影响多个PAN-OS版本的关键问题。


披露后,美国网络安全和基础设施安全局(CISA)建议所有受影响的组织立即采取行动。他们表示相信,外国行为者可能会迅速采取行动来利用此漏洞。 


Randori攻击小组正在研究此漏洞,并已在本地测试环境中成功开发了可运行的POC。利用此漏洞,具有对受影响的PAN-OS设备(包括运行GlobalProtect VPN的设备)进行网络访问的对手(配置为使用安全断言标记语言(SAML)身份验证),可以绕过身份验证控件并获得对受保护资源的访问权限。 


CVE-2020-2021是一个严重的问题,受影响的组织应立即采取行动,以确保受影响的设备的安全。PAN-OS已在企业中广泛采用,并且在大约25%的Randori客户中得到了观察。重要的是要注意,此漏洞仅影响使用SAML的资源。不使用SAML的组织不会受到威胁。 


帕洛阿尔托网络(Palo Alto Networks)的缓解步骤很明确,但是Randori Attack Team尚无法验证IAM提供程序(如OKTA)是否/如何受到缓解的影响,或者建议的缓解措施是否会对IAM提供程序的集成产生负面影响。 


我们将继续测试POC,并将在我们了解更多信息时更新此博客。 


漏洞分析和概念验证

根据Palo Alto的披露,“ PAN-OS SAML身份验证中签名的不正确验证使未经身份验证的基于网络的攻击者可以访问受保护的资源。”


有关SAML配置的PA文档指示“验证身份提供者证书”用于验证证书链(验证证书本身来自受信任的来源),但仍应使用该证书来验证消息。


基于公开内容和文档的最初假设是,代码中存在一些错误,因此可以使用未知密钥对SAML身份提供程序(IdP)断言进行签名,并且仍由PANOS设备信任。该假设已被证明是正确的。


Randori在具有IdP的封闭网络上组装了一个由虚拟机PAN-OS 8.1.4设备组成的测试配置。PAN配置为提供通过使用pysaml2实现的IdP认证的GlobalProtect访问。经过测试的PAN-OS版本较旧,但是处于易受攻击的集中,并且该设备系列中不存在其他与SAML相关的问题。针对GlobalProtect的SAML配置的OKTA指南是经过测试的配置的基准。


根据提供的指南进行配置时,确认通过IdP进行的身份验证有效,然后更改IdP密钥。PAN设备继续接受后续身份验证声明,这与CVE报告一致。


未设置“验证身份提供者证书”的PAN GlobalProtect服务接受IdP响应和声明似乎仅要求响应中的足够字段与请求匹配,而似乎不要求签名。


配置IdP以验证服务需要在服务(PAN设备)和身份提供者(OKTA等)之间交换元数据。比较了两个单独的配置:首先是“验证身份提供者证书”案例,然后是(推荐)备用案例。每个案例的元数据揭示了一个可能的问题。

1.png

图1:验证身份提供者证书

2.png

图2 :选择“验证”案例的元数据

3.png

图3:验证身份提供者证书未设置

4.png

图4:正常情况下的元数据选择

在SAML元数据规范指出,“WantAssertionsSigned”属性表明,断言应该被签名,而且默认条件是“假”,这意味着在默认情况下,并不需要做的断言要签名。在这种情况下,“标称”配置指示PAN GlobalProtect不需要签名的断言,并且似乎根本不需要签名断言或响应。测试配置似乎可以确认这一点,因为PAN设备接受了来自IdP的有效的未签名断言和响应。根据SAML配置文件规范,无论何时使用HTTP POST绑定,都必须对响应进行签名。 


OKTA文档显示下图

5.png

在这种情况下,服务提供商(SP)和IdP不直接通信。在正确的实现中,SP和IdP应该在消息上使用签名以确保消息是真实的。由于PAN实现不要求签名,因此IdP和SP之间没有保护。


在实践中,“盲目”利用仍然受到阻碍,因为它需要了解几个元数据元素。该数据几乎可以肯定是可以获取的,但在所有情况下可能并不明显。


成功的攻击会在经过身份验证的用户的上下文中访问受保护的资源。这意味着用户可以“登录” VPN。在通过SAML对管理界面进行身份验证的情况下,攻击者可能会登录到该界面。通常,Palo Alto Networks在推荐配置方面做得很好,这些配置可减少管理界面暴露于Internet的可能性。这增加了对手访问这种管理界面所需的复杂性。


建议措施

根据我们的初步研究,我们可以确认CVE-2020-2021是一个严重问题,受影响的组织应立即采取行动以确保受影响设备的安全。重要的是要注意,此漏洞仅影响使用SAML的资源。不使用SAML的组织不会受到威胁。


利用SAML在受影响的系统上进行身份验证的组织应假定对手可能已访问其网络,并查看历史日志以了解异常行为,例如,异常的用户名或源IP连接以及受到破坏的迹象。 


对于使用SAML的组织,Randori建议他们遵循Palo Alto概述的缓解措施。有关保护SAML部署的更多详细信息,请参见:保护您的SAML部署。

6.png

提供的缓解步骤很明确,但是大约为07/03/2020,已修补的版本尚未经过Randori Attack Team的测试,以确认修复的有效性。


资料来源

https://security.paloaltonetworks.com/CVE-2020-2021

https://docs.paloaltonetworks.com/pan-os/8-1/pan-os-admin/authentication/configure-saml-authentication.html

https://saml-doc.okta.com/SAML_Docs/How-to-Configure-SAML-2.0-for-Palo-Alto-Networks-GlobalProtect.html

https://docs.oasis-open.org/security/saml/v2.0/saml-metadata-2.0-os.pdf

https://developer.okta.com/docs/concepts/saml/

技术支持: 建站ABC | 管理登录