Por:zuk avraham
Sigue a Zuk Avraham (@ihackbanme)joshua drake
Sigue a Joshua Drake (@jduck)
El año pasado, revelamos una serie de vulnerabilidades críticas dentro del código de procesamiento multimedia de Android: libstagefright. Prometimos lanzar el exploit con fines de prueba y rápidamente publicamos nuestro exploit para CVE-2015-1538 dirigido al Galaxy Nexus con Android 4.0.4. Entregamos este exploit a través de MMS para ayudar a los operadores a simular y bloquear un posible escenario de gusano basado en MMS. Ahora estamos listos para lanzar nuestro exploit CVE-2015-3864 basado en navegador para probarlo, pero primero veamos qué motivó esta decisión.
El impacto en Android
Google respondió rápidamente cuando les notificamos por primera vez las vulnerabilidades que descubrimos. Ellos:
- parches rápidamente aceptados proporcionados a AOSP
- actualizó las aplicaciones Hangouts y Messenger para eliminar el procesamiento automático de medios
- comenzó a publicar actualizaciones y boletines mensuales de Nexus y
- empujó a los OEM y los transportistas a mejorar la forma en que manejan y remedian las vulnerabilidades
A pesar de las mejoras en el ecosistema (felicitaciones donde se merecen), actualizar los dispositivos Android sigue siendo un desafío y deja los teléfonos de muchos usuarios finales expuestos a vulnerabilidades graves. Las vulnerabilidades relacionadas con multimedia han aparecido en todos los Boletines de seguridad de Nexus/Android hasta la fecha. El Boletín de seguridad de Android más reciente de septiembre incluyó 11 vulnerabilidades que afectaron a Mediaserver entre los 55 CVE mencionados. Antes de eso, se habían revelado 460 CVE que afectaban a la plataforma Android (159 críticos, 191 altos, 68 moderados y 5 con gravedad baja). Por lo general, un atacante necesita entre una y cinco vulnerabilidades para tomar el control total de un dispositivo. Mantener los dispositivos actualizados nunca ha sido más importante.
El equipo de seguridad de Android de Google ha invertido mucho en responder a los problemas de seguridad relacionados con los medios al fortalecer Mediaserver (y también el sistema operativo) de manera significativa en Android Nougat. Desafortunadamente, la tasa de adopción de nuevas versiones de Android es muy lenta. Casi un año después de su lanzamiento inicial, Android Marshmallow (6.0) solo se ejecuta en el 18,7 % de los dispositivos del ecosistema. Si esta tendencia continúa, Android Nougat solo se usará en aproximadamente la misma cantidad de dispositivos el próximo año. Cualquier dispositivo que no esté actualizado no se beneficiará de la mayoría de las mejoras que Google ha realizado en respuesta a nuestra investigación (y la de otros) relacionada con el procesamiento multimedia. Imploramos a los responsables de publicar actualizaciones que hagan todo lo posible para rectificar esta situación.
El último esfuerzo, emprendido por nuestro Joshua J Drake, culminó en un módulo Metasploit que explota CVE-2015-3864 a través del navegador web. Este módulo es capaz de explotar un dispositivo vulnerable utilizando solo tres solicitudes HTTP rápidas y admite 29 versiones diferentes de dispositivo/firmware simultáneamente, una mejora significativa con respecto al Explotación de la metáfora. Colaboramos con Rapid7 para integrarnos con la carga útil «mettle» muy reciente desarrollada por el equipo de Metasploit. Esta carga útil se ejecuta únicamente en la memoria, lo que permite operar dentro de la política de SELinux que restringe el servidor de medios en Android 5.x para producir una sesión de meterpreter.
Las siguientes compilaciones son compatibles con el módulo en este momento:
- Nexus 7 (Wi-Fi) (maquinilla de afeitar) con Android 5.0 (LRX21P)
- Nexus 7 (Wi-Fi) (maquinilla de afeitar) con Android 5.0.1 (LRX22C)
- Nexus 7 (Wi-Fi) (maquinilla de afeitar) con Android 5.0.2 (LRX22G)
- Nexus 7 (Wi-Fi) (maquinilla de afeitar) con Android 5.1 (LMY47O)
- Nexus 7 (Wi-Fi) (maquinilla de afeitar) con Android 5.1.1 (LMY47V)
- Nexus 7 (Wi-Fi) (maquinilla de afeitar) con Android 5.1.1 (LMY48G)
- Nexus 7 (Wi-Fi) (maquinilla de afeitar) con Android 5.1.1 (LMY48I)
- Nexus 7 (Móvil) (razorg) con Android 5.0.2 (LRX22G)
- Nexus 7 (Móvil) (razorg) con Android 5.1 (LMY47O)
- Nexus 7 (Móvil) (razorg) con Android 5.1.1 (LMY47V)
- Nexus 5 (cabeza de martillo) con Android 5.0 (LRX21O)
- Nexus 5 (cabeza de martillo) con Android 5.0.1 (LRX22C)
- Nexus 5 (cabeza de martillo) con Android 5.1 (LMY47D)
- Nexus 5 (cabeza de martillo) con Android 5.1 (LMY47I)
- Nexus 5 (cabeza de martillo) con Android 5.1.1 (LMY48B)
- Nexus 5 (cabeza de martillo) con Android 5.1.1 (LMY48I)
- Nexus 6 (shamu) con Android 5.0 (LRX21O)
- Nexus 6 (shamu) con Android 5.0.1 (LRX22C)
- Nexus 6 (shamu) con Android 5.1 (LMY47D)
- Nexus 6 (shamu) con Android 5.1 (LMY47E)
- Nexus 6 (shamu) con Android 5.1 (LMY47I)
- Nexus 6 (shamu) con Android 5.1.1 (LYZ28E)
- Nexus 6 (shamu) con Android 5.1 (LMY47M)
- Nexus 6 (shamu) con Android 5.1.1 (LMY47Z)
- Nexus 6 (shamu) con Android 5.1.1 (LVY48C)
- Nexus 6 (shamu) con Android 5.1.1 (LMY48I)
- Nexus 6 (shamu) con Android 5.1.1 (LYZ28J)
- Nexus 6 (shamu) con Android 5.1.1 (LVY48E)
- Samsung Galaxy S5 (VZW SM-G900V) con Android 5.0 (LRX21T)
Nuevos desarrollos
El 7 de septiembre, un día después de la publicación del Boletín de seguridad de Android de septiembre, el investigador de Google Project Zero, Mark Brand, publicó un análisis de y explotar para CVE 2016-3861. Cuando observamos el exploit de Brand, notamos que usó una técnica casi idéntica a la que usó Josh en este módulo. Curiosamente, Brand encontró el mismo error informado por Josh el 15 de agosto de 2015. El parche propuesto por Josh para esta vulnerabilidad es aquí. El bicho el informe se marcó accidentalmente como obsoleto. Creemos que si dos investigadores independientes encuentran exactamente el mismo error y desarrollan exactamente las mismas técnicas, la probabilidad de que esas técnicas se utilicen para ataques dirigidos es alta. Como resultado, aceleramos el lanzamiento de nuestro exploit al público en general para que los equipos de seguridad, los administradores y los evaluadores de penetración puedan probar si sus sistemas siguen siendo vulnerables o no. Damos la bienvenida a la comunidad de seguridad para que siga desarrollando este trabajo y ayude a mantener este módulo.
Durante nuestra investigación, identificamos formas en que Google puede hacer que este ataque sea menos exitoso. Ya le hemos comunicado estos métodos a Google y estamos felices de trabajar con otros proveedores y operadores a través de ZHA para discutir estos métodos también.
Para descargar el exploit CVE-2015-3864, simplemente actualice su Metasploit. Si aún no tiene Metasploit, puede obtenerlo siguiendo las instrucciones del Documentos para desarrolladores de Metasploit.
Cronología de la divulgación:
- 4 de mayo de 2015: Joshua informó CVE-2015-3824 al equipo de seguridad de Android de Google
- 13 de agosto de 2015: Google publica una corrección para CVE-2015-3824
- 13 de agosto de 2015: Exodus revela CVE-2015-3864 (duplicado de un informe de Project Zero)
- 15 de agosto de 2015: Joshua informó lo que finalmente se convirtió en CVE-2016-3861
- 9 de septiembre de 2015: Google publica una solución para CVE-2015-3864
- 24 de marzo de 2016: lanzamiento de Metaphor exploit (que muestra la omisión de ASLR)
- 2 de mayo de 2016: el informe de Josh de CVE-2016-3861 se marcó accidentalmente como obsoleto
- 6 de junio de 2016: Josh compartió nuestro módulo Metasploit CVE-2015-3864 con el equipo de seguridad de Google/Android
- 12 de agosto de 2016: exploit compartido con proveedores y operadores a través de socios de ZHA
- 29 de julio de 2016: detalles compartidos sobre el exploit con GSMA Device Security Group
- 9 de agosto de 2016: detalles compartidos sobre el exploit en WOOT en el discurso principal del día 2
- 6 de septiembre de 2016: Google publica el boletín de septiembre
- 7 de septiembre de 2016: Google Project Zero lanzó el exploit de Mark Brand para CVE-2016-3861 usando técnicas casi idénticas
- 9 de septiembre de 2016: el equipo de seguridad de Android ofreció una recompensa de $3000 por CVE-2016-3861
- 13 de septiembre de 2016: el equipo de seguridad de Android dona $6000 a EB Research en nombre de Josh (igual que la recompensa de $3000)
- 23 de septiembre de 2016: lanzamiento público
Clientes de Zimperium:
El motor z9 de Zimperium detecta este ataque, el exploit CVE-2016-3861 de Mark Brand y mucho más sin necesidad de ninguna actualización. Para obtener más información sobre nuestra tecnología galardonada, lea sobre nuestros productos.