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 HardenFlash, Adobe Flash Player a prueba de exploits y 0-days




Probablemente ya sepas lo malo que es para la seguridad Adobe Flash. Hace casi cinco años que a menudo escuchamos de los ataques de día cero basado en Flash, y todavía 5 años más tarde estamos enfrentando la misma situación (o aún peor, ya que estamos en la era "APT").








HardenFlash - Parche para el binario de Flash para detener exploits y 0days


En febrero 2013, un autor revela la técnica de explotación también conocido como "Vector Spray", que más tarde fue utilizada una y otra vez en casi todos los bugs de flash o de Internet Explorer ataque de día cero. Lamentablemente, Adobe - como vendedor - no ha tomado todavía ninguna acción para endurecer la debilidad en su gestión montón de encargo, la debilidad es tan evidente y ha sido abusado por más de 2 años.





El HardenFlash fue desarrollado de la idea de que debemos hacer algo para proteger a los usuarios de Flash en todo el mundo, especialmente para los usuarios de Internet Explorer. Porque IE no tiene una fuerte Sandbox. Nos enganchamos (a través de parches PE) el binario de Flash en ciertas funciones / direcciones por lo que sabemos cuando el SWF está haciendo algo malicioso.

Actualmente, se centra sólo en la detección del Vector Srpay anteriormente mencionado, ya que es "imprescindible" para todos los exploits de Flash que más hemos visto.

¿Por qué necesitamos herramientas como HardenFlash?


Algunos lectores pueden argumentar que ya hay algunas herramientas de protección de la explotación de punto final / productos por ahí, independientemente de que estén libres o comercial. Ejemplo típico es EMET de Microsoft. Sin embargo, una herramienta tan-EMET como generalmente se protege a nivel de la explotación o shellcode genérico. La técnica del Vector Spray permite al atacante a leer y escribir en cualquier bytes en el espacio de memoria del proceso, con tal capacidad "máxima", el atacante es capaz de derrotar a cualquier protección EMET fácilmente. De hecho, en la competencia PWN2OWN de este año, los investigadores ya han demostrado esto - con éxito sin pasar por tiempos par EMET. Todos éstos sugieren que un endurecimiento o la detección de aproximación desde el "nivel de Flash" es fundamental para proteger a los usuarios contra ataques basados en Flash.

Cómo instalar HardenFlash


Actualmente, sólo se ha liberado el binario parcheado para el siguiente ejecutable de Flash.

Flash 17.0.0.169 para Internet Explorer se ejecuta en Windows 7 (32 bits)

Funciona tanto en la de 32 bits y 64 bits versión de Windows 7, ya que la configuración predeterminada de Windows 7 de 64 bits del IE sólo utiliza el 32 bits de Flash Player para representar el contenido en Flash. Para Windows 8 +, ya que Flash es parte del sistema operativo, no he descubierto la manera de bloquear la actualización automática de Flash desde Windows Update, pero no bloquea ninguna otra actualización de seguridad. Para OS más viejos como Windows XP, el binario parcheado puede funcionar también, pero yo no hice ninguna prueba - una de las razones es que hay muchas otras maneras de comprometer su sistema si usted todavía está utilizando XP, que hacen que el HardenFlash no absolutamente necesario.

El binario parcheado se encuentra en el directorio "patched_binary", el hash SHA256 es el siguiente, lo utilizan para identificar que es una buena (no malicioso!) Versión:

158D5AE45A0A2FC8FF49713645B910192440244DDE7ADBBA905AD6F9D2EACCC0

Así pues, si usted es un profesional, es posible que sólo descargar el binario y lo utilizan para reemplazar la oficial de Adobe. Si usted no es un profesional, he escrito un script de Python (HardenFlash-deploy.py) para hacerlo automáticamente.

Tenga en cuenta que usted necesita para ejecutar esta secuencia de comandos con privilegios de "administrador" en Windows. Y, usted necesita tener el Flash Player para Internet Explorer instalado en el sistema por primera vez.



1. A usted siempre se le pedirá que puede optar por desactivar función de actualización automática del Flash Player o no, esto se debe a que el binario parcheado será reemplazado si instala cualquier versió futura Flash. Si decide no para desactivar la función de actualización automática, en un momento futuro, es posible que en realidad no está ejecutando el HardenFlash porque ha sustituido por un nuevo binario de Flash de Adobe.

Por supuesto, la desactivación de la actualización automática le bloquear aceptar cualquier actualización de Adobe, que puede corregir las vulnerabilidades de seguridad. No hay forma de que el autor de mantener la actualización del binario parcheado ya que esto sólo es un proyecto de "tiempo libre" y Adobe menudo actualiza Flash Player. Así, hablando de la balanza, en opinión del autor, ya que los bloques HardenFlash a nivel de la explotación, es "bien" para seguir utilizando el "anticuado" HardenFlash si no es "tan anticuada", porque incluso si el atacante utiliza una conocida la vulnerabilidad que él / ella va a fallar en la etapa de explotación, siempre y cuando no hay un desvío significativo revelada para HardenFlash. Por otra parte, la protección contra las amenazas a través de Flash vulnerabilidades de fijación se ha demostrado ser una estrategia fallida como hemos visto tantas flash cero días en estos años. Después de todo, esto es sólo la opinión personal del autor, la decisión final quedará en manos del usuario.

2. Si el script comprueba que la versión HardenFlash no es exactamente el mismo que en el funcionario de Flash que ha instalado desde Adobe, se le dio la oportunidad de decidir. La sugerencia del autor es que si la versión de Adobe es más antiguo que el HardenFlash, debe instalar el HardenFlash. De lo contrario, es la misma situación que hemos discutido en el anterior, si continúa, se le instaló un "anticuado", pero "endureció" Flash, tienes que decidir por su mejor interés.

Aquí hay un ejemplo de uso del "HardenFlash-deploy.py"

[*] This Flash Player binary on your OS will be replaced: C:\Windows\system32\Macromed\Flash\Flash32_17_0_0_169.ocx
[*] HardenFlash binary (158D5AE45A0A2FC8FF49713645B910192440244DDE7ADBBA905AD6F9D2EACCC0) will be downloaded from: https://g
ithub.com/HaifeiLi/HardenFlash/raw/master/patched_binary/Flash32_17_0_0_169.ocx
[*] We suggest to disable Flash Player's auto-update feature since in future installing a new Flash Player will uninstall Ha
rdenFlash.
[*] However, we'd like to ask you to decide: 'y' to disable Flash auto-update, 'n' to keep [y/n]
y
[*] Downloading patched binary from https://github.com/HaifeiLi/HardenFlash/raw/master/patched_binary/Flash32_17_0_0_169.ocx

   16955056  [100.00%]

[*] Checking the downloaded binary is legal
[*] The binary is ready to deploy
[*] Removing deny-write security permission
processed file: C:\Windows\system32\Macromed\Flash\Flash32_17_0_0_169.ocx
Successfully processed 1 files; Failed processing 0 files
[*] Replacing C:\Windows\system32\Macromed\Flash\Flash32_17_0_0_169.ocx with C:\HardenFlash\Flash32_17_0_0_169.
ocx
[*] All done!
[*] In future, installing the official Flash Player from Adobe (https://get.adobe.com/flashplayer) will uninstall the Harden
Flash automatically


Después de la instalación, usted es libre de utilizar IE como de cosutmbre y se espera que no trae ningún impacto para usos normales. Sin embargo, cuando el binario flash parcheado detecta un riesgo potencial de Flash intenta explotar o ataque de día cero, que será darle un diálogo de advertencia como el siguiente: 




¿Cómo funciona HardenFlash?

 La idea es simple, de hecho. En definitiva, se trata de hookear la función que crea una instancia de un objeto vectorial (constructor), y luego nos cuenta cómo se han instanciado muchos objetos vectoriales en un corto período de tiempo.

Si el número total es mayor que el valor umbral nos propusimos, decimos que este es un spray vector, ya que por lo general un SWF normal, no necesita crear una instancia de una gran cantidad de objetos vectoriales en poco tiempo.

Esta es la función que crea una instancia de un objeto vectorial, en la L64 de https://github.com/adobe-flash/avmplus/blob/master/core/VectorClass-impl.h.

template
OBJ* TypedVectorClass::newVector(uint32_t length, bool fixed)
{
    OBJ* v = (OBJ*)OBJ::create(gc(), ivtable(), prototypePtr());
    v->m_vecClass = this;
    if (length > 0)
        v->set_length(length);
    v->m_fixed = fixed;
    return v;
}
En el binario liberado, la función anterior se compila en 4 direcciones diferentes, desde Flash implementa 4 tipos de objetos vectoriales, son

  • Vector. int
  • Vector. uint/li>
  • Vector. number
  • Vector. object

¿Qué se ha modificado?

Se añade una nueva sección PE llamado ".hard".

El punto de entrada del binario Flash está enganchado, y salta a nuestro código adicional en la sección ".hard" para preparar las direcciones de algunas APIs para su uso posterior.

Como se discutió en la sección anterior, 4 funciones son enganchadas, y serán todos llevaron al siguiente código en nuestra sección PE añadido.

Efectividad

Hasta el 22 de junio de 2015, HardenFlash recibe una tasa de detección del 100% de éxito desde su estreno el 30 de abril 2015 - una fuerte prueba de su eficacia. En concreto, se detiene los siguientes exploits de Flash como:

  • CVE-2015-0336
  • CVE-2015-3090
  • CVE-2015-3105
  • CVE-2015-3104
  • CVE-2015-3113

Fuente:
https://github.com/HaifeiLi/HardenFlash

Visto también en;
http://www.securitybydefault.com/2015/05/flash-securizado-hardenflash.html

0 comentarios :

Publicar un comentario en la entrada

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.