Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Buscador

Entradas Mensuales

Suscripción

¿Quieres recibir las últimas novedades del blog en tu correo?

¡Suscríbete al feed!

Foro de elhacker.net - Noticias

elhacker.NET en Facebook

Entradas populares

PostHeaderIcon Varios routers D-Link con el servicio HNAP son vulnerables remotamente




CERT advierte de una implementación defectuosa de HNAP en los routers D-Link (CVE-2016-6563) que podrían ser explotados con ejecución remota de código. Se recomienda temporalmente deshabilitar la administración remota.





Home Network Automation Protocol (HNAP) 

La implementación del Protocolo de Automatización de Redes Domésticas (HNAP) de los routers D-Link se ve afectada por una vulnerabilidad de desbordamiento de búfer basada en pila registrada como CVE-2016-6563.

La falla podría ser explotado por un atacante remoto no autenticado para ejecutar código arbitrario con privilegios de root.

"El procesamiento de mensajes SOAP malformados al realizar la acción HNAP Login provoca un desbordamiento de búfer en la pila. Los campos XML vulnerables dentro del cuerpo de SOAP son: Action, UserName, LoginPassword y Captcha ", el asesor indica




parse_xml_value(char* request, char* XMLtag, char* tag_value)
(...)
.text:00412264     xml_tag_value_start = $s2
.text:00412264     xml_tag_value_end = $s1
.text:00412264 C30                 addu    xml_tag_value_start, $v0, $s0  # s2 now points to $value
.text:00412268 C30                 la      $t9, strstr
.text:0041226C C30                 move    $a1, xml_tag_value_end  # needle
.text:00412270 C30                 jalr    $t9 ; strstr
.text:00412274 C30                 move    $a0, xml_tag_value_start  # haystack
.text:00412278 C30                 lw      $gp, 0xC30+var_C20($sp)
.text:0041227C C30                 beqz    $v0, loc_4122BC
.text:00412280 C30                 subu    xml_tag_value_end, $v0, xml_tag_value_start  # s1 now holds the ptr to value$
.text:00412284 C30                 bltz    xml_tag_value_end, loc_4122BC
.text:00412288 C30                 addiu   $s0, $sp, 0xC30+xml_tag_var
.text:0041228C C30                 la      $t9, strncpy
.text:00412290 C30                 move    $a2, xml_tag_value_end  # n
.text:00412294 C30                 move    $a1, xml_tag_value_start  # src
.text:00412298 C30                 addu    xml_tag_value_end, $s0, xml_tag_value_end
.text:0041229C C30                 jalr    $t9 ; strncpy    # copies all chars in $value$ to xml_tag_var using strncpy
.text:004122A0 C30                 move    $a0, $s0         # dest
.text:004122A4 C30                 move    $a0, a2_ptr      # a2_ptr is a stack variable from hnap_main (passed as third argument to parse_xml_value)
.text:004122A8 C30                 lw      $gp, 0xC30+var_C20($sp)
.text:004122AC C30                 move    $a1, $s0         # src
.text:004122B0 C30                 la      $t9, strcpy # copies xml_tag_var into a2_ptr using strcpy
.text:004122B4 C30                 jalr    $t9 ; strcpy     # the stack of the calling function (hnap_main) is thrashed if 2408+ bytes are sent
.text:004122B8 C30                 sb      $zero, 0(xml_tag_value_end)
(...)

There are two overflows, therefore two choices for exploitation:
1) The local stack (on parse_xml_value) can be overrun with 3096+ bytes. This overflow occurs even though strncpy is used, because the argument to strncpy is simply the strlen of the value inside the XML tag.
2) Alternatively, it's possible to overrun the stack of the calling function (hnap_main), using only 2408+ bytes - this is because strcpy is used to copy the xml_tag_var onto the third argument received by parse_xml_value, which is a pointer to a stack variable in hnap_main. 






Los routers D-Link afectados por el defecto CVE-2016-6563 pertenecientes a la familia DIR son:

  • DIR-823
  • DIR-822
  • DIR-818L(W)
  • DIR-895L
  • DIR-890L
  • DIR-885L
  • DIR-880L
  • DIR-868L


Según el CERT, D-Link no ha solucionado el problema, la única solución es desactivar la administración remota.

La mala noticia es la disponibilidad de un código de explotación de prueba de concepto en Metasploit publicado por el experto en seguridad Pedro Ribeiro de Agile Information Security.


Ribeiro explicó que el tema que causó por los campos de aceptar arbitrariamente cadena larga que se copian en la pila.

"Varios enrutadores Dlink contienen una vulnerabilidad de desbordamiento de búfer de pre-autenticación de pila que se expone en la interfaz LAN en el puerto 80. Esta vulnerabilidad afecta al protocolo HAP SOAP, que acepta cadenas arbitrariamente largas en ciertos parámetros XML y los copia en la pila. Este exploit ha sido probado en los dispositivos reales DIR-818LW y 868L (rev. B), y ha sido probado usando emulación en el DIR-822, 823, 880, 885, 890 y 895. Otros podrían ser afectados, y esta vulnerabilidad Está presente en los dispositivos MIPS y ARM ". Es la descripción de las vulnerabilidades CVE-2016-6563 proporcionadas por Ribeiro" Los dispositivos MIPS son alimentados por procesadores Lextra RLX, que son los núcleos MIPS lisiados que carecen de unas pocas instrucciones de carga y almacenamiento. Debido a esto las cargas útiles tienen que ser enviadas sin codificar, lo que puede hacer que fallen, aunque el shell de enlace parece funcionar bien. Para los dispositivos ARM, el tcp inverso en línea parece funcionar mejor. Compruebe los enlaces de referencia para ver las versiones de firmware vulnerables. "

Ribeiro descubrió dos métodos para activar la vulnerabilidad, pasando a un campo vulnerable una cadena de más de 3096 bytes o superando la pila de la función llamante, hnap_main, con 2048+ bytes.

Esta no es la primera vez que los expertos encuentran un defecto en la implementación de D-link del HNAP, hace muchos años los expertos en SourceSec Security Research descubrieron problemas similares en el servicio.

http://www.dlink.com/uk/en/support/support-news/2015/april/13/hnap-privilege-escalation-command-injection


Fuente:
http://securityaffairs.co/wordpress/53231/hacking/cve-2016-6563-dlink.html


0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.