一个威胁数万用户GPON家用路由器 的RCE
字数 1388 2025-08-05 19:10:02

GPON家用路由器远程代码执行漏洞分析与利用教学

漏洞概述

本教学文档详细分析GPON家用路由器中的多个安全漏洞,包括Telnet后门和Web界面缓冲区溢出漏洞,这些漏洞可被组合利用实现远程代码执行(RCE)。

受影响设备

  • 设备类型:GPON光网络终端(ONT)设备
  • 供应商:阿尔卡特朗讯(现诺基亚)等多家供应商
  • 具体型号:I-240W-Q GPON家庭网关
  • 处理器架构:ARMv5tel (Feroceon 88FR131 rev 1)

漏洞背景

这些漏洞最初由vpnMentor于2018年5月披露(CVE-2018-10561, CVE-2018-10562),随后被多个僵尸网络武器化,包括:

  • Mettle
  • Muhstick
  • Mirai
  • Hajime
  • Satori

漏洞分析

1. Telnet后门漏洞

发现过程

  • 端口扫描显示22/TCP(SSH)和23/TCP(Telnet)端口被防火墙过滤
  • 分析WebMgr二进制文件发现后门代码

后门机制

webLoginCheck函数处理特殊命令:

  • ote命令:禁用Telnet端口的防火墙
  • otd命令:重新启用防火墙过滤

利用方法

发送HTTP GET请求启用Telnet:

http://<router_ip>/GponForm/webLoginCheck?ote

禁用Telnet:

http://<router_ip>/GponForm/webLoginCheck?otd

硬编码凭证

分析/bin/telnetd发现硬编码凭证:

  • root/admin
  • root/huigu309

这些凭证同样适用于SSH服务(Dropbear)

2. Web界面缓冲区溢出漏洞

漏洞位置

WebMgr二进制文件中处理"usb_Form"相关HTTP请求的子程序

易受攻击参数

以下参数未进行长度检查,直接使用strcpy()复制:

  • ftpusername
  • ftppassword1
  • ftpdirname
  • clientusername
  • clientpassword
  • urlbody
  • webdir

安全防护分析

  • 部分地址空间布局随机化(ASLR):堆栈、VDSO页面和共享内存区域随机化
  • 堆未随机化且可执行

利用条件

需要以下之一:

  1. 身份验证绕过(CVE-2018-10561)
  2. 有效的Web管理界面凭证

漏洞利用开发

利用思路

  1. 通过堆上的请求副本绕过ASLR
  2. 修改pc寄存器跳转到堆上的shellcode

PoC代码

GitHub上的漏洞利用代码:

# https://github.com/tenable/poc/blob/master/gpon/nokia_a-l_i-240w-q/gpon_poc_cve-2019-3921.py

利用步骤

  1. 触发DoS条件强制路由器重启:
curl -v -X POST "http://<router_ip>/GponForm/usb_Form" --data "clientusername=`python -c 'print "A"*1000'`"
  1. 构造特殊请求触发缓冲区溢出
  2. 通过修改pc寄存器执行堆上的shellcode

安全建议

对用户

  1. 立即检查并更新路由器固件
  2. 如无法更新,考虑更换设备

对厂商

  1. 实现完整的安全防护机制:
    • 完整ASLR
    • Stack Canaries
    • 不可执行堆栈(NX)
  2. 审查并移除所有硬编码凭证
  3. 替换不安全的字符串操作函数

漏洞披露

所有发现已根据漏洞披露政策报告给诺基亚安全团队,相关补丁已发布。

扩展阅读

  1. 原文地址: GPON Home Gateway RCE Threatens Tens of Thousands Users
  2. 相关CVE:
    • CVE-2018-10561
    • CVE-2018-10562
    • CVE-2019-3921

总结

本教学详细分析了GPON家用路由器中的多个高危漏洞,从发现过程到利用方法进行了全面讲解。这些漏洞由于影响广泛且利用门槛相对较低,已被多个恶意软件武器化,需要引起高度重视。

GPON家用路由器远程代码执行漏洞分析与利用教学 漏洞概述 本教学文档详细分析GPON家用路由器中的多个安全漏洞,包括Telnet后门和Web界面缓冲区溢出漏洞,这些漏洞可被组合利用实现远程代码执行(RCE)。 受影响设备 设备类型 :GPON光网络终端(ONT)设备 供应商 :阿尔卡特朗讯(现诺基亚)等多家供应商 具体型号 :I-240W-Q GPON家庭网关 处理器架构 :ARMv5tel (Feroceon 88FR131 rev 1) 漏洞背景 这些漏洞最初由vpnMentor于2018年5月披露(CVE-2018-10561, CVE-2018-10562),随后被多个僵尸网络武器化,包括: Mettle Muhstick Mirai Hajime Satori 漏洞分析 1. Telnet后门漏洞 发现过程 端口扫描显示22/TCP(SSH)和23/TCP(Telnet)端口被防火墙过滤 分析 WebMgr 二进制文件发现后门代码 后门机制 webLoginCheck 函数处理特殊命令: ote 命令:禁用Telnet端口的防火墙 otd 命令:重新启用防火墙过滤 利用方法 发送HTTP GET请求启用Telnet: 禁用Telnet: 硬编码凭证 分析 /bin/telnetd 发现硬编码凭证: root/admin root/huigu309 这些凭证同样适用于SSH服务(Dropbear) 2. Web界面缓冲区溢出漏洞 漏洞位置 WebMgr 二进制文件中处理"usb_ Form"相关HTTP请求的子程序 易受攻击参数 以下参数未进行长度检查,直接使用 strcpy() 复制: ftpusername ftppassword1 ftpdirname clientusername clientpassword urlbody webdir 安全防护分析 部分地址空间布局随机化(ASLR):堆栈、VDSO页面和共享内存区域随机化 堆未随机化且可执行 利用条件 需要以下之一: 身份验证绕过(CVE-2018-10561) 有效的Web管理界面凭证 漏洞利用开发 利用思路 通过堆上的请求副本绕过ASLR 修改 pc 寄存器跳转到堆上的shellcode PoC代码 GitHub上的漏洞利用代码: 利用步骤 触发DoS条件强制路由器重启: 构造特殊请求触发缓冲区溢出 通过修改pc寄存器执行堆上的shellcode 安全建议 对用户 立即检查并更新路由器固件 如无法更新,考虑更换设备 对厂商 实现完整的安全防护机制: 完整ASLR Stack Canaries 不可执行堆栈(NX) 审查并移除所有硬编码凭证 替换不安全的字符串操作函数 漏洞披露 所有发现已根据漏洞披露政策报告给诺基亚安全团队,相关补丁已发布。 扩展阅读 原文地址: GPON Home Gateway RCE Threatens Tens of Thousands Users 相关CVE: CVE-2018-10561 CVE-2018-10562 CVE-2019-3921 总结 本教学详细分析了GPON家用路由器中的多个高危漏洞,从发现过程到利用方法进行了全面讲解。这些漏洞由于影响广泛且利用门槛相对较低,已被多个恶意软件武器化,需要引起高度重视。