近日,网络安全研究人员发现RADIUS网络身份验证协议中存在一个安全漏洞,Blast-RADIUS可以利用该漏洞发动中间人(MitM)攻击,并在特定情况下绕过完整性检查,CERT、InkBridge Networks等多个安全机构呼吁积极关注该漏洞。
关于Blast-RADIUSBlast-RADIUS是目前广泛应用的RADIUS/UDP协议中的一种认证绕过技术,可以使攻击者在中间人MD5冲突攻击中攻破网络和设备。
InkBridge Networks的首席执行官、FreeRADIUS项目的创始人Alan DeKok在一份声明中说:RADIUS 协议允许某些访问请求信息无需进行完整性或身份验证检查。
RADIUS是远程身份验证拨号用户服务的简称,是一种客户端/服务器协议,为连接和使用网络服务的用户提供集中身份验证、授权和记账(AAA)管理。
RADIUS的安全性依赖于使用MD5算法导出的哈希值,由于存在碰撞攻击的风险,截至2008年12月,MD5算法被认为在密码学上已被破解。
因此,攻击者可以在不被发现的情况下修改这些数据包,将能够强制任何用户进行认证,并给予该用户任何授权(例如VLAN等)。
这意味着访问请求数据包可能会受到所谓的选定前缀攻击,使得可以修改响应数据包,以便它通过原始响应的所有完整性检查。
需要注意的是,要使攻击成功,攻击者必须修改在客户端和服务器之间传输的RADIUS数据包。那么,通过互联网发送数据包的组织将面临该漏洞带来的风险。
漏洞利用细节Blast-RADIUS利用了一个新的协议漏洞CVE-2024-3596和MD5碰撞攻击,允许访问RADIUS流量的攻击者操纵服务器响应并添加任意协议属性,这使他们无需暴力或窃取凭证即可获得RADIUS设备的管理权限。
Blast-RADIUS研究人员解释说:Blast-RADIUS攻击允许位于RADIUS客户端和服务器之间的中间人对失败的认证请求伪造有效的“访问接受”响应。攻击者通过向有效的客户端请求中注入恶意的“代理状态”属性来实现这一点。这个“代理状态”属性肯定会在服务器的响应中被回显。攻击者构造“代理状态”,使得有效响应和攻击者希望伪造的响应之间的响应验证器值相同。这种伪造将导致NAS(网络访问服务器)在攻击者不猜测或暴力破解密码或共享机密的情况下授予对手对网络设备和服务的访问权限。
研究人员表示:"利用此攻击的攻击者可以将部分网络访问权限升级为能够登录任何使用RADIUS进行身份验证的设备,或为自己分配任意网络权限。”
研究人员的概念验证漏洞(尚未共享)计算了伪造有效 "访问-接受 "响应所需的MD5选择前缀哈希冲突,以表示成功的身份验证请求。然后,利用中间人攻击将伪造的MD5哈希值注入网络通信,使攻击者能够登录。
伪造这个MD5哈希值需要3到6分钟,比RADIUS在实践中常用的30到60秒超时要长。
不过,攻击中使用的碰撞算法的每个步骤都可以有效地并行化,并适合硬件优化,这将使资源充足的攻击者能够使用GPU、FPGA或其他更现代、更快速的硬件来实施攻击,从而实现更快的运行时间,可能快数十倍或数百倍。
攻击流程(Blast-RADIUS 研究团队)
研究团队表示,虽然MD5哈希碰撞在2004年已首次被证实,但当时仍有人对在RADIUS协议中加以利用表示质疑。
缓解措施由于这种攻击不会危及最终用户的凭证,因此最终用户无法采取任何防范措施。
不过,BlastRADIUS是一个基本设计缺陷的结果,据说会影响所有符合标准的RADIUS客户端和服务器,具体来说,PAP、CHAP和MS-CHAPv2认证方法是最脆弱的,建议使用该协议的互联网服务提供商(isp)和组织更新到最新版本。
网络运营商可以升级到RADIUS over TLS (RADSEC),转而采用 "多跳 "RADIUS 部署,并使用限制访问管理VLAN 或 TLS/ IPsec隧道将RADIUS流量与互联网访问隔离。
另外,还可以通过Message-Authenticator属性提高数据包安全性。
参考来源:
https://www.blastradius.fail/attack-details
https://www.bleepingcomputer.com/news/security/new-blast-radius-attack-bypasses-widely-used-radius-authentication/
https://thehackernews.com/2024/07/radius-protocol-vulnerability-exposes.html