(路由后门) 供应链中的中国产植入物

来源: https://www.vulncheck.com/blog/zbt-darklantern-speakingstone

我们刚把设备架设起来,植入程序的信标信号便涌入了我们的监测系统。成百上千台路由器——绝大多数位于中国——正向一个已被遗忘的域名发送信标信号。我们是在亚马逊上从纽约一家小公司购入的一台路由器中,发现了这个被隐藏在固件里的域名的。如今,这个域名归我们所有,那些植入程序也尽在我们的掌控之中。

搜寻 ENDLESSDOORS

在我们之前的博文《ENDLESSDOORS 正在“呼叫总部”——请接听》

中,我们详细介绍了一种嵌入在 ZBT 路由器中、易受中间人攻击影响的“呼叫总部”(phone-home)植入程序。在本篇博文中,我们将追溯 ZBT 的供应链,而调查结果远超我们的预期。

在发布关于 ENDLESSDOORS 的报告后,我们想要探究 ZBT 供应链的覆盖范围。结果发现:其触角遍及全球。通过 FCC 备案文件、专利记录以及网页存档信息,我们将 ZBT 硬件与美国、加拿大、澳大利亚、菲律宾、德国及俄罗斯等地的多个品牌联系了起来。我们稍后将在本文中详细梳理这条供应链。但首先,我们需要确认哪些设备植入了 ENDLESSDOORS。为此,我们从一家美国供应商处购入了一台路由器。

上图所示的 Deep Orange 3G/4G/LTE 路由器,实际上是 ZBT-WE826-T2 型号的贴牌产品。我们利用其 Telnet 接口的一个漏洞,成功获取了该设备的 Root 权限。经检查发现,该路由器的固件构建于 2019 年,早于 ENDLESSDOORS 出现的时间,因此该设备并未被植入 ENDLESSDOORS。

不过,我们发现了另外两种植入程序。

SPEAKINGSTONE & DARKLANTERN

我们在该设备上发现了两个新的植入程序。SPEAKINGSTONE 与 ENDLESSDOORS 类似,是一种回连(phone-home)型植入程序,负责连接 ZBT 的云基础设施并接收远程指令。DARKLANTERN 则是一个后门程序,它在广域网(WAN)上进行监听并执行任意指令,且无需身份验证。这两个程序均使用 Nim 语言编写,通过 UDP 协议进行通信,并由同一个二进制文件——一个名为 inetdetect 的连接监控守护进程(connectivity watchdog)——负责启动。

DARKLANTERN

DARKLANTERN 以名为 infosrvd 的服务形式运行,监听 UDP 9992 端口。该路由器的默认防火墙明确允许来自互联网任意位置针对此端口的入站连接。根据设计,它可从外部网络访问。

/tmp # iptables -L udp_packets
Chain udp_packets (1 references)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere             udp dpt:9992

DARKLANTERN 协议(该二进制程序内部称为“revProto”)简单且既无身份验证也无加密。该协议包含两种数据包类型:信息探测包和命令包。

信息探测包

信息探测包大小为 19 字节。将其发送至 UDP 端口 9992,设备便会向 UDP 端口 8897 回传包含其型号、固件版本、MAC 地址、运行时间及其他识别信息的数据。这就是该信息探测包的完整内容:

0c 16 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01

无需身份验证。无需质询。无需会话。 No authentication. No challenge. No session.

下方展示了来自乌克兰某设备的真实 DARKLANTERN 响应。设备型号、MAC 地址、SSID 和公网 IP 均以明文形式呈现:

\0c\16\1fWE826-T2;19.0617;78a35165f294;733752;;0;0;0;0;0;3835201070;2639069874;;;295428312;5111713550;47586414082;2534543950;192.168.1.1;;_XPAM_;2;;10;;;;;;;2018-11-12;ffff;27199800;45.156.37.159;27028260;0;0;0;0;0

DARKLANTERN 仅需 19 字节就会暴露自己。

命令数据包

该命令数据包(类型 0x17)的有效载荷中包含一个 shell 字符串。服务程序将其直接传递给 system("/etc/exec/cmd " + payload) 执行。利用有效载荷中的分号,攻击者可以跳出固定的命令前缀,从而执行任意命令。该过程无长度限制,也无字符过滤,仅需发送一个数据包即可通过互联网获取 root 权限的 shell。

有两个字段决定数据包是否被接受:令牌(token)和 MAC。这两者都很容易被攻破。

Crafting the Token

指令数据包要求针对有效载荷计算一个四字节的带密钥校验和。该校验和的计算方式是取 md5(“mqonu.com” + 有效载荷) 结果的最后四个十六进制字符。密钥 “mqonu.com” 在后门程序中被硬编码,因此无法更改。这意味着任何人都可以针对任意有效载荷计算出有效的校验和。

In Python:

import hashlib
token = hashlib.md5(b"mqonu.com" + payload).hexdigest()[-4:].encode()

键值“mqonu.com”似乎指向了 MoreQuick——即为我们的 ZBT-WE826-T2 设备开发固件的中国 OEM 厂商。这仅仅是一个静态“盐值”(salt),并非实际连接的 URL,但它确实将该植入程序的开发与 MoreQuick 直接关联了起来。

The MAC Filter (And Bypass)

命令数据包包含一个六字节的 MAC 地址字段。服务会将该字段与设备自身位于 /tmp/mac.txt 中的 MAC 地址进行比对;若不匹配,则丢弃该数据包。从理论上讲,这至少在一定程度上能有效阻止任意攻击者执行命令(暂且忽略探测响应会返回设备 MAC 地址这一事实)。

但存在一个小问题:代码中包含一个硬编码的绕过机制。如果命令数据包中的 MAC 字段全为零,校验便会通过,数据包随即进入处理队列。

由此可见,没有任何机制能阻止他人向 DARKLANTERN 实例发送命令。

在互联网上搜寻 DARKLANTERN

我们的互联网扫描工具“Target Intelligence”一直在利用 DARKLANTERN 探测指令扫描互联网并获取响应。由于此前未见关于该后门的公开技术文档,这些响应让我们得以首次公开了解 DARKLANTERN 在实际环境中的部署情况。

在 2026 年 8 月 18 日至 8 月 21 日期间,我们在 22 个国家发现了 203 个面向互联网的 DARKLANTERN 实例。

需要重申的是,这些设备无一例外都暴露了无需认证即可访问的 root shell(且可从公网直接访问),其防护机制仅依赖于任何人都能伪造的校验和,以及一个预留了绕过途径的 MAC 地址过滤功能。这是 ZBT 路由器出厂时便已存在的固有设计。

扫描结果还显示,DARKLANTERN 并非仅限于 ZBT-WE826-T2 这一款设备;响应扫描的设备涵盖了 16 种不同的型号。

这并非个别设备的问题,而是一个随多款产品一同出厂的固件级后门。这些属于旧型号,我们测试设备上的固件构建于 2019 年。我们发现的可能只是 DARKLANTERN 部署活动的尾声;其实际受影响的设备数量几乎肯定要多得多。

SPEAKINGSTONE

SPEAKINGSTONE 与 DARKLANTERN 不同:它不被动监听连接请求,而是主动发起连接。作为名为 yunmgrd 的服务运行,SPEAKINGSTONE 通过 UDP 协议向“命令与控制”(C2)服务器发送信标(beacon)信号,并等待指令。

对于远程操作者而言,这种设计远优于监听模式。像 DARKLANTERN 这样的监听型程序,要求路由器必须能从互联网直接访问;一旦设备位于防火墙、NAT 或企业网关之后,监听功能便会失效。而这种主动回连(phone-home)式的植入程序则不受此限制:它像常规互联网流量一样发起出站连接,因此在任何环境下都能正常工作——无论是处于多层防火墙、运营商级 NAT(CGNAT)还是私有网络之后,它依然能正常运行并向控制端回连。

在我们分析的 ZBT-WE826-T2 设备上,配置的 C2 服务器为 ac-link[.]com。该域名解析至 47.107.224[.]89,这是一个位于深圳的阿里云 IP 地址。该域名正是我们在 ENDLESSDOORS 研究中记录的域名,也是硬编码在 ENDLESSDOORS 初始化脚本中的 IP 地址。简而言之,ZBT 的云基础设施充当了该植入程序的命令与控制服务器。

The ZBT Protocol

SPEAKINGSTONE 使用一种基于 UDP 的协议,该协议在二进制文件中被称为“zbtProtocol”。该植入程序通过 UDP 端口 10000 向预先配置的 C2 服务器发送信标(beacon)信号。信标中包含设备型号、固件版本、MAC 地址、SSID、局域网 IP、运行时间等信息,构成了完整的设备指纹。

The wire format:

在我们的 WE826-T2 设备上,外发消息使用单字节(0x1f)进行 XOR 混淆处理。正如后文所述,并非所有设备都采用这种做法,这表明该混淆机制要么是可选的,要么是后续添加的。来自 C2(命令与控制服务器)的入站指令始终以明文形式传输,既无加密,也无身份验证。该设备无法验证其通信对象是否为合法服务器,这意味着网络路径上的任何人都可能劫持这些植入程序。

设备会定期发送注册信标(消息类型 0x1001)。该信标包含 /tmp/info.txt 文件的全部内容,包括型号、固件版本、MAC 地址、运行时间、SSID、LAN IP、GPS 坐标等信息。C2 服务器会针对该信标下达指令作为响应。

与 DARKLANTERN 或 ENDLESSDOORS 相比,该植入程序具备更多功能。在许多方面,它的能力都远超上述两者。SPEAKINGSTONE 协议支持以下消息类型:

msgType Name Effect
0x1001 reg Device fingerprint beacon设备指纹信标
0x2507 cmdRun Execute arbitrary commands 执行任意命令
0x2502 pppoe Exfiltrate WAN PPPoE username and password 窃取 WAN PPPoE 用户名和密码
0x230b dnsSet Write DNS hijack list, activate via /usr/sbin/dns.sh 编写 DNS 劫持列表,并通过 /usr/sbin/dns.sh 激活。
0x2306 dnsGet Return current DNS hijack list 返回当前的 DNS 劫持列表
0x2405 onoff Open or close a reverse SSH tunnel 开启或关闭反向 SSH 隧道
0x2406 sshport Return current reverse SSH port 返回当前的反向 SSH 端口
0x2602 setBackup Update backup C2 server addresses 更新备用 C2 服务器地址

针对 ENDLESSDOORS,ZBT 声称该植入程序是一种“售后技术支持工具”。然而,没人会把 SPEAKINGSTONE 误认为是客户支持工具。它并非云管理工具。这类工具不会窃取 ISP 凭证,也不会劫持 DNS。它实际上是一个监控植入程序,能够获取其运行所在设备的根权限(root access)。

The Forgotten Domain

SPEAKINGSTONE 包含一个硬编码的备用 C2 域名。如果未配置主 C2,该植入程序默认使用 www.findmyipaddr[.]com。这并非一种故障转移机制;如果已配置 ac-link[.]com 但无法连接,植入程序并不会切换到备用域名,而是处于等待状态。只有那些最初未配置主 C2 的设备,才会去连接该备用域名。

该备用域名在 yunmgrd 二进制文件中经过了混淆处理,被拆分为多个片段:“ww”、“w.f”、“indmy”、“ipadd”、“r.co”和“m”。这本质上是一种旨在规避字符串搜索的简单隐藏手段。

在我们进行分析时,findmyipaddr[.]com 尚未注册,处于无人持有的状态。

我们注册了该域名。

The Sinkhole

我们注册了该域名,并搭建了一台服务器,运行 zbtProtocol 协议的逆向工程实现版本。这种做法被称为“黑洞劫持”(sinkholing):当研究人员接管一个被废弃的命令与控制(C2)域名时,所有试图向该域名发起回连的设备,实际上都会连接到研究人员的服务器上。信标信号随即开始涌入,每一个都包含了完整的设备指纹信息:设备型号、固件版本、MAC 地址、SSID、系统运行时间以及 IP 地址。

截至2026年8月21日,已有392台独立设备上报了信号。数据收集工作仍在进行中。其中390台设备位于中国。运行时间最长的一台设备已连续发送信号近两年,未曾中断。

在 392 台设备中,有 390 台位于中国。其中 83% 使用中国移动的网络。304 台设备广播的 SSID 以“CMCC”开头——这是中国移动面向消费者的品牌名称。

在总共 392 台设备中,有 363 台属于同一型号(L3_V2_8),且运行着相同的固件版本(3.0.0.4.528)。这并非市面上常见的零售路由器,而似乎是部署在中国移动网络中的运营商级 CPE(用户端设备)。型号相同、固件相同、运营商相同,且均位于中国境内。

这属于中国本土的监控技术,且已在中国境内的网络中进行了大规模部署。

同样的植入程序也在通过亚马逊销往美国的路由器上运行。

而且,这仅仅是那些连接到备用域的设备。主控端(C2)域名 ac-link[.]com 依然处于活跃状态。搭载 SPEAKINGSTONE 的设备总数尚不明确,但几乎可以肯定,实际数量要庞大得多。

追踪 ZBT 供应链

上述所有情况均发现于一款售价仅 88 美元的路由器上,该产品由纽约一家小型公司销售。Deep Orange 并非该路由器的制造商,而是采用了贴牌(白标)方式。路由器底部的标签显示其型号为 WE826-T,这与深圳智博通电子(ZBT)向 FCC 提交的备案资料中的型号相吻合;两款路由器的外观也完全一致。此外,确凿无疑的证据在于,Deep Orange 的这款设备所使用的 MAC 地址以 78:A3:51 开头,而该地址段正是分配给 ZBT 的。这款路由器正是通过 ZBT 的供应链“继承”了这些植入程序。

深圳智博通电子(Shenzhen Zhibotong Electronics,简称 ZBT)并非广为人知的消费级品牌。该公司主要生产硬件设备,由其他企业贴牌销售。本篇博文旨在列举部分转售 ZBT 硬件的品牌,并探讨这家相对低调的中国制造商如何实现全球化布局——毕竟,无论 ZBT 的硬件流向何处,其固件与植入程序往往也会随之进入这些设备之中。

ZBT-WE826 的普及

ZBT-WE826 的一大亮点在于其蜂窝网络连接功能。只需插入 SIM 卡,它几乎能在任何地点提供网络接入——无论是输油管道、路边广告牌、火车车厢,甚至是房车内。其 4G LTE 连接还可作为故障转移(failover)方案,在主网络连接中断时提供备用链路。对于销售终端(POS)或其他关键应用场景而言,这一功能至关重要,因为网络中断不仅可能导致收入损失,甚至可能危及生命安全。

鉴于其实用性与低廉的成本,该设备被贴牌销往全球各地也就不足为奇了。在美国,该平台已被应用于多款面向移动用户的产品中,例如 Lippert Components 的“WiFi On-The-Go”以及 Wave WiFi 的 MBR 500/550 系列。

澳大利亚的 OneX 将 ZBT-WE826 重新命名为“RV WIFI Route”进行销售。在加拿大,MOFI Network 销售的 MOFI4500-4GXeLTE 路由器,其提交给 FCC 的备案文件中包含了一份标有“ZBT-WE826”字样的原理图;此外,该路由器的 MAC 地址也属于 Zhibotong(智博通)的 78:A3:51 地址段。这种模式显而易见:同一款 ZBT 平台产品在不同国家、针对不同应用场景,以不同的名称进行销售。

这并不是说所有这些设备都包含 ENDLESSDOORS、DARKLANTERN 或 SPEAKINGSTONE 等后门程序——希望它们确实不包含。以 MOFI 为例,该公司开发定制固件,而我们检测过的 MOFI 固件并未发现任何植入程序。关键在于:即便你从未听说过“深圳市智博通电子”(Shenzhen Zhibotong Electronics)或 ZBT-WE826 这款产品,也不代表你未曾使用过此类设备。

鉴于 WE826 问世已久,它是最典型的例子,但它并非唯一一款以西方独立品牌名义销售的 ZBT 平台设备。德国厂商 Digineo 曾销售过一款名为 AC1200 Pro 的路由器,该产品基于 ZBT 的 WG3526 平台构建;另一家德国厂商 ALLNET 销售的 ALL-WR1200AC-WRT 路由器,经 OpenWrt 识别,实为 ZBT WG2626 平台的贴牌(OEM)版本。

更贴近 ZBT 的品牌

到目前为止,我们考察的都是以自有品牌销售 ZBT 硬件的独立公司。接下来要介绍的品牌则有所不同:随着观察的深入,我们发现越来越难以界定 ZBT 的业务边界与这些零售品牌业务的起点。

以 WiFlyer 为例。根据美国专利商标局(USPTO)的记录,WiFlyer 商标归深圳智博通电子(Shenzhen Zhibotong Electronics,简称 ZBT)所有。WiFlyer 路由器并非衍生自 ZBT 产品,它们本质上就是 ZBT 生产的设备,通过亚马逊(Amazon)和新蛋(Newegg)在美国销售。ZBT 还在 USPTO 注册了 WORDFI 和 HomeMyfi 商标。其中,WORDFI 主要通过 Shopee 在菲律宾市场销售,而 HomeMyfi 似乎尚未投入使用。

Cioswi 品牌的历史相对更久,情况也更为特殊。其现已停用的网站 cswlink.com 曾明确显示该品牌与 ZBT 关系密切:一个存档的支持页面将用户引导至 [email protected] 邮箱。该品牌至今仍在运营,包括在速卖通(AliExpress)开设店面;店面展示了英语和西里尔字母,表明其目标客户群涵盖俄语区。此外,该品牌还在亚马逊上设有店面,不过相对低调。

CroSkylink 在企业归属关系上较难查证,但其产品辨识度很高。下图展示了 Zbtlink Z8102AX-T 和 CroSkylink CS-Z8102AX-M2-T 两款产品。它们看起来是同一款路由器,只是贴了不同的品牌标签。CroSkylink 甚至还提供“欧洲版”和“全球版”供选择。

KuWFi 的情况与之类似,尽管其产品线似乎混杂了来自多家制造商的硬件。其中一些产品显然采用了 ZBT(中博特)的平台方案;例如,KuWFi WG3526 所使用的平台,与 WiFlyer WG3526 和 Zbtlink WG3526 销售的产品完全相同。

在这种情况下,品牌名称似乎变得无关紧要。这些公司中,有的独立运营,有的与 ZBT 关系密切,还有的似乎仅仅是换个名字转售同样的平台产品。其共同点在于,ZBT 的硬件不断出现在各种渠道中,而买家却可能根本从未听说过 ZBT 这个品牌。

结论

针对 ENDLESSDOORS,ZBT 回应称:“该组件旨在仅应客户明确请求和授权的情况下,协助客户进行设备故障排查与配置。”这一说法很难站得住脚。我们并未发现任何允许客户明确请求或授权此类访问的机制。ENDLESSDOORS 的设计类似于一种植入程序,且某些变体依赖于 wikaba 等动态 DNS 提供商——这种基础设施通常与恶意软件而非正规客户支持联系在一起。对于单个植入程序而言,这种辩解已显牵强;而如今我们已发现了三个。

ZBT 还声称:“该组件从未被用于未经授权的访问。”即便我们姑且信之,这一说法也毫无意义。这些植入程序均不支持安全通信。网络路径上的任何人都可能劫持 ENDLESSDOORS 或 SPEAKINGSTONE。我们已证实了这一点:我们注册了一个 SPEAKINGSTONE 备用域名,结果数百台设备向其发出了回连信号。至于 DARKLANTERN,只需破解一个静态密钥即可利用。ZBT 无法知晓这些植入程序是否被用于未经授权的访问,因为对它们的访问并不在 ZBT 的控制之下。

目前,我们已在 ZBT 的多个固件版本中发现了三类植入程序:ENDLESSDOORS、SPEAKINGSTONE 和 DARKLANTERN。其供应链覆盖了美国、加拿大、澳大利亚、菲律宾、德国和俄罗斯。我们在以色列、乌克兰、中国大陆、中国香港、土耳其和中国台湾也发现了相关系统。这些硬件可能以无法显示其原产地信息的品牌进行销售。并非所有设备都带有植入程序,但确实有部分设备携带了它们——而这数量已经太多了。

试想一下这些植入程序能实现什么。拥有 SPEAKINGSTONE 访问权限的操作者可以重定向路由器的 DNS,将网络中的所有设备引导至攻击者控制的服务器。他们可以窃取用于连接认证的 ISP 凭证。他们可以建立反向 SSH 隧道并直接登录。他们可以在远程且静默的状态下,对任何回连(向控制端发送信号)的设备执行上述所有操作。

这些设备不应出现在美国的网络中。它们是在中国制造、销往不知情消费者的路由器,却内置了监控功能,并留有极易被发现并利用的后门。这些并非理论上的风险或微不足道的漏洞,而是确凿无疑、有据可查的植入程序。我们掌握了回连信号(beacons)的证据,拥有扫描数据,并获取了系统的根权限(root access)。