本文来自微信公众号“嘶吼专业版”,作者/胡金鱼。
Blast-RADIUS是广泛使用的RADIUS/UDP协议中的一种身份验证绕过方法,它使威胁分子能够通过中间人MD5碰撞攻击侵入网络和设备。
企业和电信网络上的许多联网设备(包括交换机、路由器和其他路由基础设施)都使用身份验证和授权RADIUS(远程身份验证拨入用户服务)协议,有时单个网络上有数万台设备。
该协议具有广泛的应用范围,可用于DSL和FTTH(光纤到户)、802.1X和Wi-Fi、2G和3G蜂窝漫游、5G DNN(数据网络名称)、私有APN和VPN以及关键基础设施网络中的身份验证。
Blast-RADIUS利用了新的协议漏洞(CVE-2024-3596)和MD5碰撞攻击,允许有权访问RADIUS流量的攻击者操纵服务器响应并添加任意协议属性,从而使他们无需暴力破解或窃取凭据即可获得RADIUS设备的管理员权限。
Blast-RADIUS攻击允许RADIUS客户端和服务器之间的中间人攻击者伪造有效的协议接受消息来响应失败的身份验证请求。而这种伪造可以让攻击者访问网络设备和服务,而无需攻击者猜测或暴力破解密码或共享机密。攻击者无法获知用户凭证。
攻击者可以将权限从部分网络访问提升到能够登录任何使用RADIUS进行身份验证的设备,或者为自己分配任意网络权限。
在设备上执行身份验证时,RADIUS协议使用MD5哈希请求和响应。研究人员的概念验证漏洞(尚未共享)计算出伪造有效“Access-Accept”响应所需的MD5选择前缀哈希碰撞,以表示身份验证请求成功。然后使用中间人攻击将伪造的MD5哈希注入网络通信,允许攻击者登录。
该漏洞需要3到6分钟才能伪造此MD5哈希值,比RADIUS实际中通常使用的30到60秒的超时时间要长。
然而,攻击中使用的碰撞算法的每个步骤都可以有效地并行化,并且适合硬件优化,这将使资源充足的攻击者能够使用GPU、FPGA或其他更现代、更快的硬件实施攻击,以实现更快的运行时间,可能快几十倍或几百倍。
攻击流
安全研究小组表示:“虽然MD5哈希碰撞在2004年首次被证明,但人们认为不可能在RADIUS协议环境中利用这一点。”“我们的攻击确定了RADIUS使用MD5的方式中的协议漏洞,该漏洞允许攻击者注入恶意协议属性,从而在服务器生成的响应认证器和攻击者想要的伪造响应数据包之间产生哈希碰撞。
此外,由于攻击是在线的,攻击者需要能够在几分钟或几秒钟内计算出所谓的选择前缀MD5碰撞攻击。之前报道的最佳选择前缀碰撞攻击时间需要数小时,并且产生的碰撞与RADIUS协议不兼容。
由于此攻击不会危及最终用户凭证,因此用户最终无法采取任何措施来防范此攻击。但是,安全研究人员建议制造和管理RADIUS设备的供应商和系统管理员遵循这些最佳实践和指导。
为了防御这种攻击,网络运营商可以升级到TLS上的RADIUS(RADSEC),切换到“多跳”RADIUS部署,并使用受限访问管理VLAN或TLS/IPsec隧道将RADIUS流量与互联网访问隔离。