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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/umbertodellamonica/linksys-wrt54gl-exploitation
Seguridad de Sistemas EmbebidosSeguridad IoTAnálisis de VulnerabilidadesExplotaciónIngeniería InversaDepuradoresPruebas de PenetraciónSeguridad de HardwareAnálisis 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
Aprendizaje y Educación
Desarrollo de Payloads
Análisis de Firmware
GitHubumbertodellamonica/linksys-wrt54gl-exploitation

Linksys-WRT54GL-Exploitation

Del soldador al shell: explotación completa del hardware del router Linksys WRT54GL (CVE-2022-43973)

Ver Repositorio
2217hace 4 mesesAún no revisado

Del soldador a la shell: explotación completa del hardware del router Linksys WRT54GL (CVE-2022-43973)

Un viaje de investigación de seguridad embebida en 10 fases: desde el descubrimiento de pines JTAG hasta la ejecución remota de código en un router doméstico basado en MIPS.

AutorUmberto Della Monica
RolEstudiante de Máster en Ciberseguridad — Investigador de seguridad embebida
FechaMayo 2026
RepositorioLinksys-WRT54GL-Exploitation

Aviso legal: Esta investigación se realizó únicamente con fines educativos y de investigación sobre hardware de mi propiedad personal. No se accedió a ningún sistema no autorizado. Todas las técnicas descritas aquí solo deben reproducirse en dispositivos que sean de tu propiedad o sobre los que tengas autorización escrita explícita para realizar pruebas. El autor no asume ninguna responsabilidad por el mal uso de la información presentada. Cumple siempre con las leyes, normativas y prácticas de divulgación responsable aplicables.


Índice

  • Resumen ejecutivo
  • Descripción general del dispositivo objetivo
  • Fases 1–2: Reconocimiento de hardware y descubrimiento de pines
  • Fases 3–4: Depuración JTAG y extracción de firmware
  • Fases 5–6: Análisis y emulación de firmware
  • Fase 7: Investigación de vulnerabilidades — CVE-2022-43973
  • Fase 8: Desarrollo del payload — Reverse shell MIPS
  • Fase 9: Entrega del exploit y shell root
  • Fase 10: Análisis de red y de sesión
  • Herramientas y tecnologías
  • Conclusiones clave
  • Referencias
  • Documentación detallada
  • Licencia

Resumen ejecutivo

  • Objetivo: Linksys WRT54GL v1.1 — un router doméstico ampliamente desplegado basado en el chipset Broadcom BCM5352 (arquitectura MIPS de 32 bits)
  • Vulnerabilidad: CVE-2022-43973 — Ejecución remota de código mediante inyección de comandos en la interfaz de gestión HTTP
  • Alcance: Cadena de explotación completa de hardware a software que abarca 10 fases, desde el acceso físico por JTAG hasta una shell root remota
  • Resultado: Shell root remota completa obtenida mediante un payload personalizado de reverse shell MIPS
  • Herramientas: JTAGulator, Attify Badge, OpenOCD, Ghidra, binwalk, FirmAE, Docker con el toolchain de compilación cruzada Broadcom MIPS

Linksys WRT54GL v1.1


Descripción general del dispositivo objetivo

El Linksys WRT54GL es uno de los routers domésticos más icónicos que se hayan producido. Su soporte de firmware de código abierto lo convirtió en un favorito tanto de entusiastas como de investigadores. A pesar de su antigüedad, sigue en uso activo en todo el mundo, lo que lo convierte en un objetivo relevante para la investigación de seguridad embebida.

EspecificaciónValor
ChipsetBroadcom BCM5352
Reloj de CPU200 MHz
ArquitecturaMIPS de 32 bits (Little Endian)
Memoria Flash4 MB NOR (mapeada en memoria en 0xbfc00000)
RAM16 MB
InalámbricoIEEE 802.11b/g, 54 Mbps
Red4x LAN + 1x WAN, firewall NAT con SPI
SOBasado en Linux (BusyBox)
BootloaderCFE (Common Firmware Environment)

Arquitectura interna


Fases 1–2: Reconocimiento de hardware y descubrimiento de pines

El primer paso en cualquier evaluación de seguridad de hardware es la inspección física. Tras abrir la carcasa del dispositivo, identifiqué dos interfaces de depuración en la PCB:

  • Un conector JTAG de 12 pines (sin poblar) para depuración a nivel de hardware
  • Un puerto serie (UART) de 10 pines que opera a niveles TTL de 3.3V

Como el conector JTAG no estaba poblado, soldé un conector de pines temporal para acceder a la interfaz de depuración. Con un multímetro, identifiqué las líneas de tierra y Vcc y confirmé que el objetivo opera a niveles lógicos de 3.3V, algo fundamental para evitar dañar el chipset.

Descubrimiento de pines JTAG con JTAGulator

Para mapear las señales JTAG, utilicé un JTAGulator de Grand Idea Studio, una herramienta de hardware diseñada para identificar automáticamente interfaces de depuración probando todas las combinaciones posibles de pines.

El JTAGulator identificó correctamente la siguiente distribución de pines JTAG:

board: wrt54gl_v1.1
device: Linksys WRT54GL v1.1
pins:
  TCK: PA3
  TMS: PA4
  TDI: PA1
  TDO: PA2
  TRST: NC
  SRST: PB0
notes: "Header JP3 — verified 3.3V logic."

Primer plano del puerto JTAG

Descubrimiento de pines con JTAGulator

Conexión física: Linksys a JTAGulator


Fases 3–4: Depuración JTAG y extracción de firmware

Con los pines JTAG identificados, conecté una Attify Badge — una herramienta de evaluación de seguridad de hardware de código abierto (GNU GPL v3.0) con un chip FTDI FT2232H — al conector JTAG del router.

Ejecuté OpenOCD (Open On-Chip Debugger) con una configuración personalizada adaptada al objetivo BCM5352, ya que las configuraciones oficiales eran incompatibles con esta revisión específica de hardware.

Distribución de la memoria flash

La configuración personalizada de OpenOCD define la distribución de particiones flash del router:

ParticiónDescripciónDirección de inicioTamaño
CFEBootloader0xbfc00000256 KB
FirmwareKernel + sistema de archivos raíz0xbfc40000~3.7 MB
NVRAMConfiguración0xbfff000064 KB

Volcado de firmware

Tras detener la CPU, realicé un volcado completo de 4 MB de la memoria flash NOR mapeada en memoria:

> target halt
> dump_image ./dumps/wrt54gl.bin 0xbfc00000 0x00400000

Attify Badge

Extracción de firmware con OpenOCD


Fases 5–6: Análisis y emulación de firmware

Análisis estático con binwalk

Utilicé binwalk para analizar el volcado de firmware e identificar sistemas de archivos embebidos, segmentos comprimidos y la imagen del kernel:

Descargar herramienta