加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

艾体宝干货丨网络安全指南:如何使用Profishark和IOTA检测Blast-RADIUS

10/22 08:19
598
阅读需 10 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

简介

本篇文章详细介绍了 Blast-RADIUS 漏洞及其对 RADIUS 协议的影响。我们将首先解释该漏洞的工作原理,分析其针对 RADIUS 实现的具体攻击方式。接着,文章展示了如何使用 ProfiShark 和 IOTA 工具进行数据包捕获和分析,以检测系统是否存在漏洞。最后,文章提供了两种应对该漏洞的有效解决方案:通过 "Message-Authenticator" 属性值对增强 RADIUS 消息的安全性,或在 RADIUS 客户端和服务器之间使用 TLS 加密传输保护数据。

随着网络安全威胁的不断增加,了解并预防可能的攻击变得至关重要。Blast-RADIUS 是一种严重影响 RADIUS 协议的安全漏洞,能够让攻击者绕过身份验证获取未经授权的访问权限。本篇文章将深入探讨该漏洞的工作原理、检测方法及应对措施,帮助您有效防范潜在的安全风险。

关于 Blast-RADIUS 的基础知识

Blast-RADIUS 是一种影响 RADIUS 协议(依据 RFC 2865)的安全漏洞。它允许位于 RADIUS 客户端和服务器之间的中间人攻击者伪造一个有效的访问接受(access-accept)消息,来响应实际已经失败的认证请求。这种伪造使攻击者能够在无需猜测或强制破解密码和共享密钥的情况下,获得对网络设备和服务的访问权限。攻击者在请求中插入了一个恶意属性,导致合法服务器响应中的认证信息与攻击者伪造的消息发生碰撞。这使得攻击者能够将拒绝转变为接受,并添加任意的协议属性。然而,攻击者并不会获取任何用户凭据。该漏洞已在 CVE-2024-3596 中描述。

具体来说,该攻击是通过计算碰撞来攻击响应认证器的 MD5 签名。该攻击代表了一个协议漏洞,因此影响所有不使用 EAP 认证方法并通过 UDP 未加密工作的 RADIUS 实现。特别是,密码认证协议(PAP)和质询握手认证协议(CHAP)方法受到影响。

图1 对使用 PAP 方法进行 RADIUS 验证的 Blast-RADIUS 攻击

如果无法直接使用 TLS 或 DTLS 进行传输加密,可以使用 RFC 2869 中描述的可选 RADIUS 属性 "Message-Authenticator" 作为替代方法。

该方法为整个 RADIUS 数据包计算一个 HMAC-MD5 校验和。未通过此完整性检查的数据包必须被静默丢弃。根据当前的状态,没有共享密钥的情况下,HMAC-MD5 校验和无法被伪造。

如果在所有数据包中都要求使用有效的消息认证属性,这种攻击将变得不可能。然而,这个属性仅在 EAP 认证方法中是强制性的,而在 PAP 和 CHAP 中并不是。即使在 RFC 5080 中也只是定义了一个 "SHOULD"(建议使用)。

如何检查漏洞?

要检查您的实现是否存在漏洞,可以捕获 RADIUS 服务器和 RADIUS 客户端之间的通信数据包,并根据受影响的协议特性进行筛选。我们可以使用 ProfiShark 或 IOTA 捕获数据包,基于 RADIUS 协议对 IOTA 进行预筛选,并使用 Wireshark 进行分析。需要捕获 RADIUS 客户端与服务器之间的数据包,例如,在图2所示的内联模式下进行捕获。

图2 在 RADIUS 客户端(交换机)和 RADIUS 服务器之间定位 IOTA 或 ProfiShark

使用 ProfiShark 进行捕获

在 ProfiShark Manager 中,我们需要在 "Network Ports" 选项卡中将 ProfiShark 设置为内联模式(即取消勾选 "Span Mode" 复选框,如图 3 所示),然后将其内联集成到我们的网络中(如图 2 所示)。

图3 在 ProfiShark Manager 中禁用 SPAN 模式,将 ProfiShark 内联集成到 RADIUS 客户端和 RADIUS 服务器之间

接下来,在 "Capture" 选项卡中,根据需要设置捕获目录,并通过点击 "Start Capture" 按钮开始捕获数据,直到我们获取到足够的数据为止。

图4 在 ProfiShark Manager 中设置捕获目录并开始捕获

使用 IOTA 进行捕获

首先,我们需要确保在 IOTA 管理界面的 "Capture > Interface Configuration" 页面上,将 IOTA 的捕获接口设置为内联模式。

图5 将端口控制设置为内联模式

然后,我们将 IOTA 内联集成到生产网络中,并通过按下设备上的物理按钮或在 "Capture > Capture Control" 页面上点击 "Start Capture" 按钮开始捕获数据。

图6 通过 "Capture Control" 页面上的 "Start Capture" 按钮开始捕获

现在,我们可以通过应用程序或协议栈过滤器对 RADIUS 协议进行过滤。最简单的方法是过滤 "APPLICATION" 属性,并将其值设置为 "RADIUS"(如图 7 所示),这样只会获取 RADIUS 数据包。另一种选择是通过 "PROTOCOL_STACK" 进行过滤,设置值为 "Ethernet | IPv4 | UDP | RADIUS"。

图7 过滤 RADIUS 数据包

在正确过滤协议后,我们可以滚动至概览仪表板的底部,直到看到流列表。接下来,我们需要选择要进一步分析的流,并点击左侧的下载按钮。

图8 可下载的流列表

分析易受攻击的执行方式

例如,我们可以使用 Wireshark 检查 RADIUS 请求中是否包含易受攻击的属性。首先,我们需要打开位于之前在 ProfiShark Manager 中配置的目录或从 IOTA 下载的文件夹中的 PCAPNG 文件。接下来,我们需要一个显示过滤器来获取 RADIUS Access-Requests(代码 1)、Access-Accepts(代码 2)、Access-Rejects(代码 3)和 Access-Challenges(代码 11),但不包括使用 EAP 方法或带有 "Message-Authenticator" 属性值对的 RADIUS 消息,因为它们不受此漏洞影响。为此,我们可以使用显示过滤器 “(radius.code in {1,2,3,11}) and not (radius.Message_Authenticator or eap)”,如图 9 所示。这样,我们只会获取受此协议漏洞影响的 RADIUS 数据包,并且可以看到受影响产品的源 IP 地址。

图9 在 Wireshark 中使用显示过滤器筛选潜在易受攻击的 RADIUS 数据包的截图

作为使用 “Message-Authenticator” 属性值对来实现解决方案的数据包示例,我们可以参考图10,其中展示了该解决方案的实现。

图10 Wireshark 中带有消息认证器属性/值对的 RADIUS 访问请求截图。在此情况下,它也是一个不易受攻击的 EAP 认证

结论

IOTA 和 ProfiShark 可以帮助我们轻松高精度地收集 RADIUS 数据包的包级数据并进行分析。Wireshark 通过使用上述显示过滤器支持我们高效分析收集到的数据,快速筛选出易受攻击的 RADIUS 实现。

作为应对 Blast-RADIUS 攻击的替代方案,可以使用 “Message-Authenticator” 属性值对,或者在 RADIUS 客户端到 RADIUS 服务器的传输过程中,通过 RadSec 或 IPSec 使用 TLS 传输加密来保护 RADIUS 数据包。

了解 ITT-IOTA 更多信息,欢迎前往【艾体宝】官方网站:https://www.itbigtec.com/iota

联系艾体宝工程师:TEL:13533491614

相关推荐

电子产业图谱

虹科是一家资源整合及技术服务落地供应商,与全球顶尖公司深度技术合作,专注于制造业、汽车、生物、医药、测试与测量、广播电视与媒体、通信、网络安全、光电等领域,为客户提供:智能自动化、工业物联网、智能感知、数字化+AR、光电、网络安全、测试测量、卫星与无线通信、医药环境监测与验证、生命科学、汽车电子、汽车维修诊断、云科技等解决方案。虹科始终致力于为行业客户提供创新及前端的产品和技术解决方案,为科技社会发展助力加码。