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

server/2024/10/18 11:35:20/

随着网络安全威胁的不断增加,了解并预防可能的攻击变得至关重要。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 数据包。


http://www.ppmy.cn/server/132750.html

相关文章

SQL Server LocalDB 表数据中文乱码问题

--查看数据库设置 SELECT name, collation_name FROM sys.databases;--出现了The database could not be exclusively locked to perform the operation这个错误, --无法修改字符集为Chinese_PRC_CI_AS;所以需要先设置为单用户模式 ALTER DATABASE MySma…

环境变量(Linux)

文章目录 一、什么是环境变量?二、环境变量的作用1. 方便命令执行:2.配置系统和应用程序:3.用户自定义环境变量: 三、Linux 常见环境变量四、设置环境变量1.临时设置:2.永久设置: 五、环境变量的优先级六、…

Excel:Cells(Rows.Count, 1).End(xlUp).Row和Cells(Rows.Count, 1).End(xlUp)有什么区别

Cells(Rows.Count, 1).End(xlUp).Row 和 Cells(Rows.Count, 1).End(xlUp) 是 VBA 中用于定位 Excel 工作表中单元格的两种不同用法。以下是它们的区别: 1. Cells(Rows.Count, 1).End(xlUp).Row 功能: 这个表达式返回的是一个行号(Long 类型&#xff09…

隧道代理IP如何帮助企业采集数据?

在数字化时代,数据已成为企业决策的重要基石。无论是市场调研、竞品分析,还是用户行为研究,高质量的数据采集都是企业成功的关键。然而,面对复杂的网络环境和日益严格的反爬虫机制,如何高效、稳定地采集数据成为了一个…

Github优质项目推荐 - 第六期

文章目录 Github优质项目推荐 - 第六期一、【WiFiAnalyzer】,3.4k stars - WiFi 网络分析工具二、【penpot】,33k stars - UI 设计与原型制作平台三、【Inpaint-Anything】,6.4k stars - 修复图像、视频和3D 场景中的任何内容四、【Malware-P…

鸿蒙开发:arkTS 行与列用法

随着万物互联时代的到来,华为提出了“一次开发多端部署、可分可合自由流转、统一生态原生智能”三大应用与服务开发理念。为了降低开发门槛,协助开发者更好地应对多设备、多入口、服务可分可合等特性,华为基于JS/TS语言体系,构建了…

解锁二叉树的魅力:链式实现详解

前言 二叉树的简介及顺序实现 引言 在数据结构的浩瀚星空中,二叉树如同一颗璀璨的明珠,其优雅的结构和强大的功能使其成为计算机科学中不可或缺的工具。从数据库索引到编译器的语法树,二叉树以其独特的方式支撑着许多核心算法与数据处理。…

sqoop搭建教程

1.上传并解压 tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz2.修改配置文件 cd sqoop-1.4.6/conf/mv sqoop-env-template.sh sqoop-env.shvim sqoop-env.sh3.配置环境变量 vim /etc/profilesource /etc/profile4.添加jar包 cd /usr/local/soft/sqoop-1.4.6/lib