Los routers abandonados reviven... Y se convierten en el arma 0-day perfecta

Los routers abandonados reviven... Y se convierten en el arma 0-day perfecta

Un solo archivo APK del pasado — y el sistema ya está bajo ataque.

image

En el marco de la primera competición DistrictCon Junkyard, analistas de Trail of Bits demostraron la grave amenaza que representan los dispositivos de red obsoletos que han quedado sin soporte. Durante el evento, comprometieron de forma remota dos equipos descatalogados —el router Netgear WGR614v9 y el Bitdefender Box V1— y obtuvieron un premio por uno de los escenarios de ataque más inusuales. Aunque inicialmente estos sistemas sólo podían ser accedidos desde una red local, ambos exploits lograron control total, un contexto realista tanto en hogares como en oficinas. Los detalles sobre las vulnerabilidades, las etapas del análisis y la demostración están disponibles en el repositorio oficial de Trail of Bits en GitHub.

El análisis del Netgear comenzó con una inspección física: los investigadores identificaron las ubicaciones de las interfaces de depuración y los chips de memoria, y posteriormente descargaron el firmware desde el sitio del fabricante. Usando herramientas como binwalk y unblob, extrajeron recursivamente el contenido de la imagen, realizaron un escaneo de puertos y accedieron a la consola UART, lo que les permitió examinar el kernel cargado, los procesos activos y los servicios en ejecución. Se prestó especial atención al demonio UPnP (upnpd), responsable de implementar el soporte Universal Plug-and-Play.

A través de la implementación de UPnP se llevaron a cabo tres ataques exitosos, basados en cadenas de vulnerabilidades: omisión de autenticación en el manejador SOAP, desbordamientos de búfer en los segmentos BSS y de pila, así como la inyección de comandos. Uno de los enfoques más ingeniosos, denominado bashsledding, consistió en insertar gadgets ROP con llamada a system(), donde la carga útil se escribía en la memoria no volátil (NVRAM) mediante el mecanismo de bloqueo de dominio. Para evitar la dependencia de desplazamientos exactos en el código, se emplearon largas cadenas de espacios que bash interpretaba hasta encontrar el comando útil.

En otro vector de ataque, llamado bigfish_littlepond, se utilizó un desbordamiento del segmento BSS para modificar el puntero a una cadena que se pasaba a la shell de comandos. Los investigadores descubrieron que upnpd invocaba un proceso auxiliar llamado bpa_monitor. Al sustituir el nombre del comando invocado e introducir la carga útil mediante una solicitud SOAP separada, lograron ejecutar código arbitrario.

El Bitdefender Box V1, que opera sobre una arquitectura distinta y con un modelo de seguridad diferente, también resultó vulnerable. Este dispositivo, diseñado para proteger redes domésticas y analizar tráfico, presentaba una falla en el sistema de actualizaciones: el firmware podía revertirse a una versión antigua sin necesidad de autenticación. Luego se explotó una vulnerabilidad en el mecanismo de verificación de suma de control, lo que permitió ejecutar comandos arbitrarios.

El análisis comenzó con un volcado físico del contenido del chip de memoria SPI Winbond W25Q128FV. Dado que los servidores oficiales de actualización no estaban disponibles, los investigadores recurrieron a archivos APK antiguos de la aplicación móvil y, usando VirusTotal, encontraron la versión 1.3.12.869, que contenía el firmware 1.3.11.490 firmado con una clave válida.

El análisis comparativo reveló la ausencia de filtrado de caracteres especiales en el parámetro md5, enviado en una solicitud HTTP al endpoint /check_image_and_trigger_recovery. Esto permitió insertar un comando que añadía la clave SSH de los investigadores al archivo authorized_keys, otorgándoles acceso remoto persistente.

La cadena de ataque incluyó los siguientes pasos: invocación del endpoint /update_auth_token (para restablecer la configuración y eliminar las restricciones de actualización), carga del archivo de firmware mediante /upload_backup_firmware, validación de la estructura a través de /decode_image y, finalmente, la inyección del comando en la fase /check_image_and_trigger_recovery.

Aunque el dispositivo incluía una verificación de firma basada en RSA, carecía de un mecanismo para validar la versión, lo que permitía el uso de una imagen antigua pero firmada. Esto hacía posible ejecutar código no seguro sin resistencia por parte del sistema.

Ambos incidentes —el de Netgear y el de Bitdefender— ilustran vulnerabilidades estructurales en el ecosistema del internet de las cosas. Las interfaces SOAP de UPnP a menudo carecen de filtrado, y los niveles de privilegio de estos servicios suelen ser excesivos. La combinación de fallos en UPnP con la ausencia de protección contra reversión en los sistemas de actualización convierte a muchos dispositivos en potenciales puntos de entrada.

Los organizadores de Junkyard destacan que el objetivo de estas competiciones no es sólo demostrar destreza técnica, sino también llamar la atención sobre el problema del equipamiento abandonado. A diferencia de concursos de élite como Pwn2Own, Junkyard se centra en la accesibilidad: se aceptan dispositivos fuera de soporte y de bajo costo. Se recomienda a los investigadores evaluar previamente el firmware, buscar interfaces de depuración, analizar certificados FCC y localizar imágenes o aplicaciones antiguas que contengan datos útiles.

La conclusión es clara: el fin del soporte oficial no implica el fin del riesgo. Cualquier router o filtro de red obsoleto, aunque parezca ofrecer protección, puede convertirse fácilmente en un eslabón vulnerable. Por ello, al elegir nuevo hardware, es crucial considerar no sólo sus funciones, sino también el plazo de seguridad que el fabricante está dispuesto a garantizar.

Las huellas digitales son tu debilidad, y los hackers lo saben

¡Suscríbete y descubre cómo borrarlas!