【poc】TP-Link 中的 DHCP 漏洞可让攻击者远程接管路由器 – PoC 发布
【poc】TP-Link 中的 DHCP 漏洞可让攻击者远程接管路由器 – PoC 发布
独眼情报 2024-11-18 08:20
TP-Link VN020-F3v(T)路由器固件版本为 TT_V6.2.1021,发现一个严重的安全漏洞,攻击者可以远程接管设备,导致 DoS 攻击甚至 RCE 攻击。
该漏洞被编号为CVE-2024-11237
,允许攻击者通过发送特制的DHCP DISCOVER
数据包来利用基于堆栈的缓冲区溢出
,这可能导致路由器崩溃并无响应。
有进一步确认的报告显示阿尔及利亚和摩洛哥客户使用的版本也存在类似漏洞,突尼斯电信和 Topnet ISP 对部署受影响的路由器负有主要责任。
有问题的固件是专有的,因此无法获得内部实现细节。不过,通过观察行为和黑盒测试,安全研究人员已经能够识别出该漏洞的影响。
漏洞技术分析
该漏洞被标识为 CVE-2024-11237,是一个基于堆栈的缓冲区溢出 (CWE-121),可以通过 DHCP DISCOVER 数据包远程利用。
它会影响在 UDP 端口 67 上运行的 DHCP 服务器,并且无需身份验证即可利用。此漏洞的影响包括确认的拒绝服务 (DoS),并可能存在远程代码执行 (RCE)。攻击复杂度较低,使其成为攻击者破坏或控制受影响系统的可访问目标。
该漏洞源于路由器处理 DHCP 主机名和供应商特定选项的方式存在缺陷。具体而言,路由器无法正确处理过大或格式错误的输入,从而导致缓冲区溢出。
具体来说,攻击者可以发送一个包含过长主机名或操纵的供应商特定选项的特制 DHCP DISCOVER 数据包,直接触发溢出。
研究人员已经
确定了
几种潜在的攻击媒介和触发溢出的方法。
攻击者可以通过各种技术利用路由器 DHCP 处理中的漏洞。一种方法是发送带有过长主机名(超过 127 个字符)的 DHCP 请求,这可能导致缓冲区溢出。此溢出可能会覆盖关键内存位置,从而可能导致设备崩溃。
另一种技术针对 DHCP 数据包中供应商特定选项的操纵。通过精心设计这些选项并造成选项数据声称的长度与实际长度不匹配,攻击者可以利用此漏洞破坏路由器的运行。
此外,还可以利用声称的数据包长度与实际数据包长度之间的差异,导致内存损坏并进一步破坏设备稳定性。这些方法凸显了 PoC 中 DHCP 处理中未修补漏洞的潜在
风险
。
潜在的内存损坏
尽管内部固件代码仍然无法访问,但观察到的症状表明路由器的内存可能在攻击期间被破坏,从而导致堆栈溢出
。
Stack Layout (Normal Case)
+------------------------+ Higher addresses
| Previous Frame |
+------------------------+
| Return Address (4) |
+------------------------+
| Saved EBP (4) |
+------------------------+
| |
| Hostname Buffer |
| (64 bytes) |
| |
+------------------------+ Lower addresses
| Other Variables |
+------------------------+
这可能允许攻击者覆盖路由器的返回地址和其他关键内存位置,从而导致不稳定甚至允许远程代码执行。
Stack Layout (Overflow Case)
+------------------------+ Higher addresses
| Previous Frame |
+------------------------+
| Overwritten Return |
+------------------------+
| Overwritten EBP | <- Unknown state corruption
+------------------------+
| Overflow Data | <- 127 bytes of 'A'
| ... |
+------------------------+ Lower addresses
| Other Variables | <- Potentially corrupted
+------------------------+
利用这些漏洞可能会对网络功能造成严重影响。一旦受到攻击,路由器可能会失去响应,导致互联网连接完全中断。
依赖路由器的 DHCP 服务获取 IP 地址的设备可能无法连接到网络,从而进一步加剧中断。
在许多情况下,路由器在崩溃后会尝试自动重新启动;但是,仍可能需要手动干预才能恢复功能。
这可能会导致网络停机时间延长,尤其是在多个设备依赖路由器的 DHCP 服务的环境中,从而导致广泛的用户不便。
缓解措施和建议
目前,TP-Link尚未发布官方补丁修复该漏洞,在此期间,建议用户采取以下缓解措施降低漏洞利用风险:
– 禁用 DHCP 服务器
:如果不需要 DHCP 服务,用户可以在路由器设置中禁用它,以防止攻击。
-
实施 DHCP 流量过滤
:网络管理员可以在网络边缘过滤 DHCP 流量以阻止恶意数据包。 -
考虑替代路由器
:如果可能,请考虑切换到不受此漏洞影响的替代路由器型号。
PoC:
https://github.com/Zephkek/TP-Thumper