Menú principal

jueves, 19 de marzo de 2015

Cómo saltarse la protección de Gatekeeper de OS X

Revisando un poco como se encuentran los exploits públicos de ámbito local de los sistemas OS X queríamos hacer hincapié en este que fue publicado a finales del mes de Enero, aunque Apple fue notificado mucho antes. El CVE-2014-8826 detalla la posibilidad de bypassear el mecanismo de protección Gatekeeper vía un JAR malicioso. Esta vulnerabilidad ha sido reportada a Apple a mediados del año pasado por la empresa Amplia Security. 

Cómo funciona GateKeeper en OS X

Gatekeeper es una característica que se encuentra disponible desde la versión OS X Lion 10.7.5 y versiones posteriores. Gatekeeper realiza chequeos sobre archivos y aplicaciones descargados desde Internet para prevenir la ejecución de código malicioso o no firmado. Por defecto, Gatekeeper solo se pueden ejecutar aplicaciones que provienene de la Mac App Store y desarrolladas por desarrolladores identificados. La vulnerabilidad que la empresa Amplia Security descubrió sobre Gatekeeper afecta a los siguientes sistemas operativos, aunque de acuerdo con la propia Apple OS X Mountain Lion 10.8.5 también sería vulnerable:
  • OS X Lion. 
  • OS X Mavericks.
  • OS X Yosemite.
Si un usuario descarga una aplicación desde una fuente no segura y la ejecuta, Gatekeeper evitará su ejecución mostrando un mensaje de alerta, como el siguiente:

Figura 1: Alerta de protección de Gatekeeper para OSX

Un atacante puede hacer un bypass de esta característica y ejecutar código malicioso no firmado por un desarrollador, incluso si Gatekeeper está configurado para ejecutar sólo aplicaciones que vengan de la Mac App Store. La técnica no es difícil y tiene como condición que Java se encuentre instalado en el equipo de la víctima.

¿Cómo realizar el bypass

Lo primero de todo es crear un fichero JAR que contenga el código que se quiere ejecutar. La gente de Amplia Security nos proporciona un código de ejemplo para esta PoC.

Figura 2: Código clase AmpliaTest

Hay que asegurarse de que el código está compilado con una versión menor o igual a la que se encuentra en el equipo de la víctima. Una vez realizado esto hay que crear una imagen de disco en formato DMG, ejecutando la siguiente instrucción:
 hdiutil create -size 5m -fs HFS+ -volname PoC PoC.dmg.
Ahora hay que montar la imagen DMG y renombrar el UnsignedCode.jar a UnsignedCode, es decir, eliminar la extensión. Copiar el fichero UnsignedCode a PoC, y desmontamos la imagen. Una vez hecho esto, debemos subir el fichero DMG a un servidor web y probar a descargarlo con Apple Safari y abrirlo. Si todo ha ido bien se habrá realizado el bypass de Gatekeeper.

No hay comentarios:

Publicar un comentario en la entrada

Entrada destacada

En el futuro iPhone podrá recopilar biometría y fotos de los ladrones

Apple ha obtenido una patente el pasado jueves en la que se describe un método de almacenamiento de datos biométricos de un usuario no...

Otras historias relacionadas

Entradas populares