En una serie de dos artículos, el investigador Zack Cutlip (@zcutlip) ha localizado vulnerabilidades en la versión 4 del router inalámbrico Netgear WNDR3700. Estas, entre otros impactos, permitirían acceder a la interfaz de administración sin necesidad de …

  … autenticación y la inyección de comandos al sistema operativo del dispositivo. Están confirmadas en las versiones 1.0.1.42 y 1.0.1.32 del firmware. 

 
Cutlip desgrana, a través del estudio del manejo de las peticiones, las diferentes vulnerabilidades descubiertas. Cuando se pide un recurso al router, se comprueba que su nombre coincida con el patrón asociado a uno de los manejadores MIME. Esto se hace buscando el patrón como subcadena del recurso. Si se encuentra, se le aplica su manejador de autenticación asociado. 
 
Poniendo como ejemplo el mismo que se utiliza en el articulo, una de las entradas en la tabla de patrones MIME es "BRS_". La función de autenticación para estos recursos es un puntero nulo. Por tanto, cualquier recurso que contenga la cadena "BRS_" no necesita autenticación. Son muchas las páginas que cumplen esta condición en la interfaz. Como ejemplo, la que muestra la contraseña de la conexión WPA del dispositivo. 
 
Otras páginas permiten el salto de las restricciones de autenticación con el mismo método. Para controlar qué páginas requieren autenticación, comprueban que el patrón (que no es más que el nombre de la página), sea subcadena *de la petición*, y no comparan con el nombre de recurso en si. Esto se permite que se sirvan páginas restringidas si la petición contiene el nombre de una de las páginas que no lo están. Por ejemplo, en una petición como http://router/pagina_protegida.htm?foo=unauth.cgi se podría acceder a la página protegida, ya que unauth.cgi, que salta las restricciones, se encuentra como subcadena. 
 
Como colofón, Cutlip termina con un salto de restricciones persistente. 
En este dispositivo, el valor de la variable hijack_process controla si se debe aplicar la autenticación en todas las páginas de la interfaz. 
Esta funcionalidad se aplica durante el primer inicio del router. En vez de usar una contraseña por defecto, directamente se deshabilita la autenticación hasta que esté configurado. Cuando se configura, hijack_process toma el valor 3, con el que indica que la autenticación debe aplicarse. 
 
Sin embargo, existe una página pública de la interfaz del dispositivo (BRS_02_genieHelp.html) que da a hijack_process un valor distinto de 3, con lo que una sola petición a esa página permitiría desactivar la autenticación en todo el dispositivo. Como la variable se guarda en RAM no volátil, este estado permanece aunque el dispositivo se reinicie. 
 
Además, también se ha encontrado una vulnerabilidad que permite la inyección de comandos al sistema operativo subyacente del router a través de la página de ping a direcciones IPv6. El comando con la dirección dada por el usuario se le pasa a la función system, que llama a /bin/sh. Por tanto, si pasamos en lugar de la IP una cadena de la forma "; comando;", la ejecución del ping falla, pero podemos inyectar código. Ya se ha publicado una prueba de concepto que abre una conexión telnet y permite el acceso como administrador sin autenticación. 
 
Las vulnerabilidades se han probado en la versión 4 del modelo WNDR3700 de Netgear, con los firmwares 1.0.1.42 y 1.0.1.32, y en el 4700. 
El autor acredita a Jacob Holocomb (que encontró la esta misma vulnerabilidad en el modelo WNDR4700) y Craig Young, que hizo este descubrimientos el pasado abril pero no lo publicó (https://twitter.com/zcutlip/status/393752865187328000). 
 
Según el portal The Register, Netgear ha prometido un parche que solucione la vulnerabilidad en el plazo de un mes, aunque apunta que solo es explotable si el atacante se encuentra en la misma red que el dispositivo. 
 
Opina sobre esta noticia: 
http://unaaldia.hispasec.com/2013/10/salto-de-restricciones-e-inyeccion-de.html#comments
 
Más información:
 
Complete, Persistent Compromise of Netgear Wireless Routers
http://shadow-file.blogspot.com.es/2013/10/complete-persistent-compromise-of.html
 
Netgear Root Compromise via Command Injection
http://shadow-file.blogspot.com.es/2013/10/netgear-root-compromise-via-command.html
 
Netgear router admin hole is WIDE OPEN, but DON’T you dare go in, warns infosec bod
http://www.theregister.co.uk/2013/10/25/netgear_security_snafu/

Fuente: 

Francisco López
flopez@hispasec.com
Laboratorio Hispasec
www.hispasec.com

Imagen:
Fotos Digitales Gratis
www.fotosdigitalesgratis.com
 
Logos/Imágenes MR Respectivas Compañías mencionadas en la noticia.
Portal de Seguridad Informática, Tecnología e Internet
Descargas Antivirus/Antimalware
www.antivirusgratis.com.ar