El día 1 de Septiembre se hizo noticia la vulnerabilidad publicada por el investigador
Rafay Baloch detectada en dispositivos
Android previos a la versión
4.4, que había sido identificada con el
CVE-2014-6041. En ésta se reporta que el componente
WebView de versiones anteriores al
framework 4.4 permiten la evasión de su mecanismo de seguridad
SOP (
Same Origin Policy o
Política del Mismo Origen), que es un control que deben implementar los clientes web para limitar que sólo ante determinadas circunstancias un documento web pueda cargar o modificar código en otro si estos están ubicados en orígenes diferentes.
El
alcance de esta vulnerabilidad es notable ya que se estima que actualmente en torno al
75% de los dispositivos
Android se encuentran en versiones anteriores a la
4.4, y en estos dispositivos suele estar instalado de serie el cliente
Web Android Open Source Browser, el cual implementa este componente
WebView vulnerable, y además el
bug no se reduce únicamente a este componente, ya que como se ha hecho público en
otros estudios realizados existen más clientes web vulnerables como
Maxthon Browser o
CM Browser.
En cuanto a la vulnerabilidad reportada, cabe destacar lo simple que es realizar una explotación como
Prueba de Concepto ya que lo único que hace falta para evadir el
SOP en este componente es incluir un
byte nulo en un manejador con el código que queremos ejecutar en el contexto del origen de destino:
|
Figura 3: Inserción del null byte \u0000 para lograr el salto de SOP |
Si accedemos a la página con el código anterior desde un navegador que contenga este componente vulnerable veremos cómo somos capaces de ejecutar el
script insertado en el manejador
onclick.
|
Figura 4: Código ejecutado saltándose la política SOP |
Este método podría ser usado tanto para extraer información como el contenido
HTML de una página web desde la sesión de un usuario, el envío de formularios sin el consentimiento del usuario, o ataques de
session hijacking, entre otros.
Sea como sea la historia de esta vulnerabilidad no acabó en su publicación y desde el día 7 de Septiembre disponemos de un
módulo para Metasploit que en su configuración por defecto extraerá la
cookie y el contenido
HTML que el usuario ve al acceder a la página web.
|
Figura 6: Extracciíon de la cookie de sesión con el módulo de Metasploit |
Es interesante destacar las opciones adicionales que incluye el módulo, ya que nos permitirán jugar con certificados, ejecutar nuestro propio código
script si lo definimos en la opción del módulo
CUSTOM_JS. Es en este punto donde los más juguetones están aprovechando para mediante una campaña, por ejemplo de
spam enviado a usuarios de versiones
Android vulnerables, cargar otros
scripts tan interesantes como
BeEF para hacerse una JavaScript Botnet de dispositivos Android, además de ofrecer otros mecanismos menos sutiles para hacer por ejemplo evasión de las cabeceras
X-Frame-Options.
|
Figura 7: Inyección de scripts personalizados de control |
Si a este grave fallo de seguridad le sumamos la fragmentación de la plataforma
Android y el abandono por parte de proveedores de dispositivos y adaptaciones del sistema operativo, nos damos cuenta de que estamos ante una situación muy complicada ya que aunque se han publicado parches para corregir este fallo (
aquí y
aquí) un alto porcentaje de dispositivos no serán actualizados y mantendrán esta vulnerabilidad.
Autor:
Miguel Ángel García (@nodoraiz)
Developer en
Eleven Paths
2 comentarios:
waoo entonces son muchos los terminales que estan expuestos y yo que por donde vivo no conozco ninguno que pase de la version 4.2 que es con la que viene de fabrica.... gracias por la info...
¿Y que navegadores se podrian utilizar para evitar el fallo? Yo poseo un Samsung Galaxy Note N-7000 y un Samsung Galaxy Ace, ambos con versiones anteriores a la 4.4.
Gracias
Publicar un comentario