Menú principal

Mostrando entradas con la etiqueta Mavericks. Mostrar todas las entradas
Mostrando entradas con la etiqueta Mavericks. Mostrar todas las entradas

lunes, 4 de julio de 2016

Vulnerabilidades en mDNSResponder afectan a Bonjour de Apple

La semana pasada se publicó que vulnerabilidades en mDNSResponder afectaban a sistemas de Apple. Existían múltiples vulnerabilidades en el software open source de mDNSResponder, el cual está implementado por Bonjour en Apple. Las vulnerabilidades descubiertas podrían permitir a un atacante ejecutar código arbitrario en las máquinas dónde se encontrase instalada la aplicación. El protocolo mDNS se puede leer bajo el RFC 6762 y está implementado por Apple Bonjour y servicios del sistema operativo Linux nss-mdns.

Las vulnerabilidades que afectan al producto no son del año 2016, si no del año 2015. La comprobación errónea del tamaño de un buffer, CVE-2015-7987, en las funciones GetValueForIPv4Addr(), GetValueForMACAddr(), rfc3110_import() y CopyNSEC3ResourceRecord(). Otra vulnerabilidad del año pasado y que se encuentra en este software es la CVE-2015-7988, la cual es una referencia a null pointer. Ambas podrían permitir a un potencial atacante ejecutar código arbitrario o provocar una denegación de servicio provocando el crasheo en memoria. Ambos problemas afectan a las versiones de mDNSResponder 379.27 y superiores, aunque inferiores a la versión 625.41.2.

Figura 1: Security Update for mDNSResponder

Apple decidió anunciar y publicar un aviso de seguridad para indicar estos problemas. Tal y como se puede ver en su anuncio, las versiones actuales de productos Apple utilizan una versión de Bonjour sin estos problemas, pero versiones anteriores sí estaban afectadas. Las versiones afectadas de OS X son:
  • Versiones anteriores a OS X El Capitan 10.11.1.
  • Versiones anteriores a OS X Yosemite 10.10.5.
  • Versiones anteriores a OS X Mavericks 10.9.5.
Las versiones anteriores a iOS 9.1, watchOS 2.1 y AirPort Base Station Framework anteriores a 7.7.7 y 7.6.7. Se recomienda que los usuarios actualicen sus sistemas operativos, tanto OS X como iOS, watchOS y AirPort con el objetivo de no ser vulnerable a estas vulnerabilidades de mDNSResponder.

lunes, 9 de mayo de 2016

Bloquear la WiFi con Latch desde OS X & Raspberry Pi (Parte I de II) #RaspBerryPi #WiFi #OSX #Latch

Uno de los plugins que participaron en el concurso de Latch era Lockifi, un plugin que permitía al usuario habilitar y deshabilitar el acceso WiFi en el router. El objetivo es claro, cuando no vaya a utilizar la WiFi restrinjo el tiempo de exposición y la deshabilitó de forma automática gracias a la autorización con Latch. La idea nos gustó y decidimos migrar este plugin a un sistema OS X. Al principio nuestra idea fue migrar el plugin, por ejemplo a un lenguaje como Ruby, y crear un ítem en el inicio de sesión del usuario para que la aplicación estuviera preguntando automáticamente al iniciar sesión por el estado de Latch.

Tras echarle un poco de tiempo obtuvimos un código en Ruby que realizaba la misma operación que Lockifi para Windows y preparamos el entorno para que autoarrancara. Aquí tenéis el vídeo de Lockifi para que veáis su propuesta. El código de este plugin está disponible en GitHub: Lockifi.

FIgura 1: Plugin Lockifi para Windows

Paso 0: El código

Como se ha mencionado esto es una migración del plugin Lockifi, escrito por Samuel Rodriguez. Migrar el código a otro lenguaje no era tarea difícil y decidí utilizar Ruby. El objetivo era que se ejcutara de forma sencilla en OS X. La versión de OS X utilizada en este artículo ha sido El Capitan. Para llevar a cabo la migración se ha utilizado tres archivos más el SDK de Latch para Ruby. Además, debemos disponer de una cuenta de Latch en el área de desarrolladores, lo cual es gratuito. Deberemos crearnos una app dentro del área de desarrolladores. Como se puede ver en la siguiente imagen creamos una app con el nombre Lockifi OS X.

Figura 2: Creación de App Lockifi OS X en el área de desarrolladores

Nos tenemos que fijar en dos valores de la app que se acaba de crear: el Application ID y el secret. Estos valores serán necesarios para que nuestra aplicación Ruby pueda comunicarse con Latch y nuestra cuenta de usuario. Pulsando el botón con el icono del lápiz se puede editar y visualizar estos dos parámetros.

Figura 3: VIsualización de Application ID y Secret

Los archivos son los siguientes:
  • main.rb. Este fichero se encarga de pedirnos un token para parear nuestra app de Latch con nuestra aplicación Ruby. El resultado que devolverá el main.rb es el Account ID. Este Account ID deberá ser utilizado también por nuestra aplicación Ruby para comunicarse con Latch
  • ssh_latches.rb. Este fichero implementa cuatro métodos que podrán ser utilizados para interactuar con Latch. El método status devolverá el estado de Latch pasándole el Account ID. El método pair nos facilita el pareo y será utilizado por main.rb. Esta clase se basa en el SDK de Latch para implementar sus métodos.
  • ssh.rb. Este fichero implementa la lógica que proponemos para cada X tiempo consultar el estado de Latch y en función de éste habilitar o deshabilitar la WiFi previa conexión al router
Paso 1: main.rb

En primer lugar hay que echar un vistazo al código del main.rb. El objetivo es sencillo, un pequeño programa que nos pida un token y haga el pair con la app de Latch. El resultado será el Account ID, si todo va bien.

Figura 5: Código de main.rb

El programa main necesita del Application ID y el Secret para poder llevar a cabo su acción de parear. El método pair está invocado a través del SDK de Latch. En la imagen se puede ver un pequeño ejemplo de su invocación. Al introducir el token que generamos desde Latch, main nos devolvería el Account ID que necesitaremos utilizar en ssh.rb.

Figura 6: Obtención del Account ID

Paso 2: Lógica de ssh.rb

El archivo ssh.rb implementa toda la lógica necesaria para llevar a cabo el control sobre la WiFi del router. La estrategia o algoritmo es sencilla. Mediante la realización de consultas periódicas al estado de nuestro Latch podremos detectar cuando éste ha cambiado de estado. En el momento que se detecte que se ha cerrado el Latch el fichero ssh.rb lanzará una conexión al router por medio del protocolo SSH y "tumbará" la interfaz. El algoritmo quedaría algo como así:

Mientras true
         Compruebo estado de Latch
         Si Latch está Abierto
                Indico que está abierto
                Levanto la interfaz WiFi del router
        Si no
                Indico que se cerrará 
                Apago interfaz WiFi del router
        Fin Si
Fin Mientras

Como se puede ver es un algoritmo realmente sencillo. Haciendo una pequeña prueba antes de crear una aplicación con Automator y configurarla para que arranque al inicio de sesión del usuario. Cuando abrimos el cerrojo de Latch en Lockifi OS X y visualizamos las peticiones que hace ssh.rb observaremos que nos indica "Open" y la WiFi seguirá operativa.

Figura 7: Lockifi OS X abierto

Para esta prueba hemos mostrado el texto en un terminal bash en OS X. El mensaje es claro, cuando comprueba el estado, cada 20 segundos por ejemplo, y detecta el cerrojo abierto nos indica "Open". Cuando cerramos el cerrojo y la aplicación detecta esto nos indicará "No Open" y llevará a cabo el proceso de deshabilitar la WiFi del router a través de una conexión SSH al dispositivo.

Figura 8: Mensajes que proporciona Lockifi OS X

Antes de pasar al siguiente paso, vamos a hacer hincapié en una zona del código de ssh.rb importante. Cuando se comprueba el estado de Latch y no se encuentra abierto nos iremos por la rama else de nuestro algoritmo. Esta parte es realmente la importante, la que deshabilitará a través del router la posibilidad de conectarnos a nuestra WiFi de casa u oficina.

Observando el código se ve que se crea un objeto SSH cuya configuración para la conexión es la dirección IP del router, el segundo parámetro es el usuario y el tercer parámetro es la contraseña. La conexión por SSH se lanza a través del método exec! y ejecuta un ifconfig para "tumbar" la interfaz WiFi. Hay que tener en cuenta que esto en otros modelos de routers puede cambiar, pero no la estrategia.

Figura 9: Snippet de código de ssh.rb que deshabilita el WiFi del router

Paso 3: Automatizando la ejecución del programa en OS X

Ahora que tenemos el programa funcional decidimos hacerlo autoejecutable al comienzo de la sesión del usuario. De este modo, cuando nuestro OS X inicie sesión podremos comprobar si queremos que la WiFi esté disponible para otros usuarios o no.

Para llevar a cabo esta tarea utilizamos Automator, el cual viene con OS X y permite automatizar tareas y flujos de trabajo de manera muy sencilla. El primer paso es arrancar la herramienta, la cual puede ser fácilmente localizada a través de Spotlight. Una vez arrancada debemos elegir, entre sus opciones, "Ejecutar el Script Shell". Esto nos abrirá un recuadro a la derecha dónde podremos escribir un script de shell, por ejemplo para bash.

Figura 10: Creando script de shell para automatizar con Automator

Es importante invocar, dentro del script de shell, a Ruby con su path completo. Una vez escrito el script se puede probar con el atajo CMD + R. Esto ejecutará el contenido del script. Ahora debemos convertir este script en una app. Para esto, Automator, proporciona la posibilidad de guardarlo directamente como una aplicación, tal y como puede verse en la siguiente imagen.

Figura 11: Creación de aplicación

Una vez creada la aplicación debemos ir a "Preferencias del sistema" -> "Usuarios" y en este apartado seleccionar "Ítems de Inicio". Aquí podremos añadir, fácilmente, la aplicación generada con Automator, tal y como se puede ver en la imagen.

Figura 12: Adición como Ítem de Inicio
Paso 4: Comprobación final

Ahora, solo falta comprobar que al iniciar sesión se está ejecutando nuestra aplicación correctamente. Para esta prueba dejamos el cerrojo abierto e iniciamos sesión en nuestro OS X. Si tenemos habilitado en nuestra aplicación de Latch que nos avise cuando haya un intento de acceso cuando el Latch esté abierto nos llegará una notificación, como la que se muestra a continuación.

Figura 13: Acceso al servicio Lockifi OS X

Para verificar que nuestra aplicación Ruby Lockifi OS X está corriendo, lo mejor es abrir un terminal en nuestro OS X y ejecutar, por ejemplo, ps aux | grep ruby. Debemos observar que la instrucción que introdujimos cuando creamos el script de shell con Automator se encuentra levantada. En este caso se puede ver de forma sencilla y nuestro programa está en ejecución y realizando consultas a Latch para comprobar si tiene que deshabilitar la WiFi o habilitarla.

Figura 14: Comprobación de proceso ssh.rb

En el siguiente artículo realizaremos modificaciones para integrar en casa una Raspberry que levante un punto de acceso WiFi. La Raspberry la conectaremos al router de casa mediante un cable Ethernet. Nuestro programa no se ejecutará en nuestro equipo, si no que se ejecutará en la Raspberry. Cuando desde la Raspberry nuestro programa detecte que se ha bloqueado el acceso a la WiFi "tirará" la interfaz WiFi. Lógicamente, el router de casa tendrá que tener deshabilitado la WiFi para que esto tenga sentido. El esquema es sencillo, los usuarios de casa se conectarán al punto de acceso de la Raspberry y está hará forwarding de paquetes hacia el router, el cual nunca tendrá habilitado la interfaz Wireless. Es un esquema con el que cualquier usuario de casa podría desbloquear y bloquear la WiFi con Latch y lo tienes publicado aquí: Bloquear la WiFi con Latch desde Raspberry Pi.

viernes, 6 de mayo de 2016

Instalador oficial de Metasploit en OS X ya disponible

El crecimiento y cuota de mercado de los equipos de Apple es innegable. La gente de Rapid7 ha decidido sacar un instalador oficial de Metasploit para los equipos de Apple. En su wiki de Github la gente de Rapid7 presenta el instalador oficial para OS X con unas breves y sencillas instrucciones. Se puede llevar a cabo una instalación rápida a través de consola o utilizar una instalación con entorno gráfico. Hay que recordar que un entorno de Metasploit tiene una fuerte dependencia de un entorno Ruby y PostreSQL para el almacenamiento de la información. 

Hace unos días pude ver la siguiente imagen en Twitter, esto es lo que me alertó de la novedad de los instaladores en OS X. Hay que tener en cuenta que hasta hace poco la instalación de Metasploit se realizaba de manera no oficial como ya vimos. Sin duda es un avance hacia la comodidad y el saber que Rapid7 se encuentra detrás del soporte en OS X ayuda. 

Figura 1: Tuit publicando el instalador oficial de Metasploit en OS X
La instalación rápida

La instalación rápida se lleva a cabo a través de la invocación o ejecución de un script proporcionado por Rapid7. Este script puede ser obtenido de la siguiente manera:
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \ chmod 755 msfinstall && \ ./msfinstall  
La instalación gráfica

Por último, la instalación gráfica puede ser llevada a cabo a través de la descarga y ejecución del paquete metasploitframework-latest.pkg. El historial de estos paquetes se puede encontrar en el dominio que Rapid7 ha preparado para OS X. Con la instalación gráfica todas las dependencias se instalarán y se llevará a cabo una instalación sencilla y limpia. El framework quedará instalado en /opt/metasploit-framework/ y su binario de consola se encontrará en bin/msfconsole dentro del directorio anterior.

lunes, 25 de enero de 2016

Reverseando el bug de syslogd en OS X El Capitan

Hace unos días se libero un conjuntos de actualizaciones para OS X El Capitan, Yosemite y Mavericks. En el boletín se describían vulnerabilidades relacionadas, en su mayoría, con el kernel e IOKit. Uno de los problemas de seguridad que se solventan trata de un problema de corrupción de memoria en syslog, el cual podría provocar la ejecución de código arbitrario, es decir, ejecución de un payload que permita realizar acciones sobre la máquina vulnerable. Estas acciones o código ejecutado sería con permisos de root, lo cual hace que se ponga aún más interesante. 

En el blog de Reverse Engineering Mac OS X han publicado un artículo en el que se lleva a cabo la ingeniería inversa de la vulnerabilidad. La excusa para llevar a cabo la prueba de concepto es que Apple no informa mucho de sus actualizaciones de seguridad, no dicen si es explotable en instalaciones OS X por defecto o requiere condiciones particulares. Tras la lectura del artículo se puede ver como el error no es explotable en instalaciones OS X por defecto. La herramienta Diaphora creada por Joxean Koret permite obtener las diferencias entre un binario vulnerable y la actualización. El binaio de syslogd se encuentra en /usr/sbin/syslogd. En la imagen se puede ver como difiere en poco código.

Figura 1: Diferencias en los binarios syslogd vulnerable y actualizado

El código fuente de syslogd para OS X El Capitan 10.11.2 puede descargarse desde el dominio opensource.apple.com. El parche se encuentra realizado en el tamaño de asignación de reallocf(). El detalle del proceso de ingeniería inversa puede ser observado en el artículo, el cual recomendamos la lectura con una taza de café.

El lenguaje C es poderoso, pero pequeños errores pueden suponer la ejecución de código arbitrario, e incluso la escalada de privilegio. El programador de la pieza de código cometió un pequeño error, y su arreglo puede ser tan simple como el añadir un conjunto de parentésis. La función vulnerable se encuentra en add_lockdown_session(), y para llegar a ella se puede visualizar este árbol de funciones.

Figura 2: Árbol de llamadas en syslogd

Cómo se puede visualizar el proceso de ingeniería inversa puede ser una tarea altamente compleja. La vulnerabilidad en syslogd se encontraba en una función, la cual con la configuración por defecto de OS X no es vulnerable, pero que dicha vulnerabilidad estaba ahí. Como se menciona anteriormente se recomienda la lectura de todo el proceso de reversing llevado a cabo y estar atentos al mínimo detalle.

miércoles, 20 de enero de 2016

Actualizaciones de seguridad: OS X El Capitan 10.11.3, Security Update 2016-001, iOS 9.2.1 y Apple Safari 9.0.3

Cuando Apple se pone a liberar actualizaciones una cosa está clara y es que libera en volumen. Hoy nos despertamos. Casi 30 vulnerabilidades han sido resueltas con este pack de actualizaciones a diferentes tecnologías de la empresa de Cupertino. Tanto el sistema operativo OS X El Capitan, como iOS han sufrido actualizaciones, las cuales detallaremos a continuación. Por último, también hay que tener en cuenta la actualización que ha sufrido el navegador Apple Safari.

En primer lugar, se han corregido 9 vulnerabilidades críticas en OS X El Capitan 10.11.3, a través del Security Update 2016-001, el cual como indica la nomenclatura es el primero del año. Estas vulnerabilidades permitían a un usuario malicioso conseguir ejecutar código arbitrario en la máquina. Esto podía permitir a un usuario conseguir el control remoto de una máquina, y en algunos casos realizar una elevación de privilegios dentro de ésta. 

Figura 1: 9 vulnerabilidades parcheadas con OS X El Capitan 10.11.3 y Security Update 2016-001

Otra de las actualizaciones que debemos tener muy presente es la de iOS, el cual llega a su versión 9.2.1. En esta actualización se han solventado 13 vulnerabilidades, de las cuales la mayoría permitía la ejecución de código arbitrario en el dispositivo. Los elementos afectados en esta actualización han sido Disk Images, IOKit, el propio Kernel de iOS, el webkit, libxslt y syslog.

Figura 2: 13 vulnerabilidades resueltas en la actualización a iOS 9.2.1

Por último hablar de la actualización a Safari 9.0.3. La actualización del navegador presenta el parcheo de 6 vulnerabilidades. Las vulnerabilidades de Safari afectaban a los siguientes sistemas operativos: OS X Mavericks 10.9.5, OS X Yosemite 10.10.5, OS X El Capitan 10.11.2 e inferiores.

Figura 3: 6 vulnerabilidades resueltas con la nueva versión de Safari 9.0.3
Se recomienda que se actualicen los sistemas lo antes posible y que se disponga de software actualizado para una mejor experiencia en Internet. Para realizar la actualización se puede utilizar la Mac App Store, en el caso de Safari y OS X El Capitan, o desde el propio iOS en Ajustes - General - Actualización de Software.

domingo, 20 de diciembre de 2015

Fue Noticia en Seguridad Apple: Del 7 al 20 de Diciembre

Diciembre está siendo un mes cargado de novedades. Han sido muchas las noticias relevantes que han ocurrido en el sector de la seguridad informática, así que tal vez sea buena idea detenerse por un instante para recapitular lo visto durante las últimas dos semanas. Como solemos hacer en Seguridad Apple, os presentamos el mejor resumen de las publicaciones de este blog, así como los mejores contenidos de otros sitios de referencia.

Para comenzar, el lunes 7 os presentamos un detallado estudio de Veracode que demuestra que 4 de cada 5 de las apps de iOS tienen algún fallo de cifrado, y por tanto alguna vulnerabilidad criptográfica.

El martes os detallamos iNetTools, una suite de herramientas de seguridad para hacer diagnósticos de red desde tu dispositivo iOS, permitiendo escaneos ARP, de puertos o pings

El ataque backstab, que permite el robo de información sensible de las víctimas, centró nuestra atención a mitad de semana, puesto que  de nuevo es posible realizarlo en dispositivos iOS, según demuestra un informe de la empresa Palo Alto Networks

Un par de días después de hablar de iNetTools, os presentamos otra herramienta similar denominada Joe's Network Diagnostics Analyzer Monitor Scanner, disponible en iTunes para dispositivos iPhone y iPad.

El viernes os contamos las novedades de la actualización iOS 9.2, que resuelve más de 50 bugs de seguridad, evitando así diversos ataques de ejecución de código arbitrario y escalada de privilegios en dispositivos iOS.

El día 14 os detallamos las novedades incluidas en otras tres actualizaciones, esta vez dirigidas a sistemas operativos OS X El Capitan, Yosemite y Mavericks. Además se liberó la versión 9.0.2 de Safari, solventando 12 vulnerabilidades.

El martes os hablamos de la predicción de la firma de seguridad Simantec, que informa que, basándose en las estadísticas recientes, habrá un aumento de las amenazas contra dispositivos Apple en 2016.

Un bombazo acaparó nuestra atención a mitad de semana: MacKeeper fue vulnerado por un investigador de seguridad, obteniendo acceso a los datos de más de 13 millones de usuarios, en un leak de 21 Gb.

El jueves 17 os explicamos cómo investigadores de Google han demostrado una vulnerabilidad crítica en FireEye que permite acceso total de los atacantes a redes internas corporativas.

La liberación de la versión beta de iOS 9.2.1 por parte de Apple fue la noticia de nuestro post del viernes. Dicha beta ya está disponible para descarga en el Apple Developer Center.

En el mundo de la seguridad informática hemos podido disfrutar con otras noticias que no dejan indiferente a nadie. A continuación se muestra un listado de noticias que recomendamos que leáis desde Seguridad Apple:
Y esto fue todo. Esperamos veros dentro de otras dos semanas en esta misma sección y cada día en los artículos que publicamos en Seguridad Apple. Bueno domingo para todos.

lunes, 14 de diciembre de 2015

OS X El Capitan 10.11.2, Security Update 2015-005 Yosemite y Security Update 2015-008 Mavericks

Más de 50 vulnerabilidades han sido parcheadas con la liberación de OS X 10.11.2 y los diferentes Security Updates para OS X Yosemite y OS X Mavericks. Toda la información referente a estas nuevas versiones de los sistemas operativos de Apple puede encontrarse en su sitio web. Casi la mitad de las vulnerabilidades permitían la posibilidad de ejecutar código arbitrario, lo cual ponía en riesgo los sistemas. Además, Apple ha decidido liberar Sarafi 9.0.2, el cual parchea 12 vulnerabilidades

En el documento de Security Update se puede encontrar las diferentes aplicaciones y componentes del sistema que han sido actualizadas. Por ejemplo, el módulo de PHP para Apache ha sido actualizado ya que presentaba 2 vulnerabilidades. La Sandbox, el Bluetooth, la herramienta Disk Images, EFI, Hypervisor, iBooks, etcétera. Han sido parcheados. Como se ha comentado anteriormente, la mitad de las vulnerabilidades prácticamente eran de ejecución de código arbitrario, con todo el riesgo que ello conlleva. 

Figura 1: OS X El Capitan 10.11.2 y Security Updates

Por otro lado, 3 vulnerabilidades presentaban la posibilidad de que el sistema cayera, es decir, quedará sin posibilidad de dar servicio. La aplicación del sistema con más parches y que tiene un documento propio para sus actualizaciones es el navegador Safari. La actualización del navegador es importante, ya que presenta vulnerabilidades críticas que permiten la ejecución de código arbitrario en la máquina, tal y como puede verse en la imagen.

Figura 2: CVE de Safari 9.0.2 de ejecución de código

El componente afectado en Safari es el Webkit, el cual tiene 11 vulnerabilidades que permiten ejecutar código y una que permite revelar información sobre la navegación del usuario, es decir, afecta a la privacidad de éste. Se recomienda que se actualicen los sistemas lo antes posible y que se disponga de software actualizado para una mejor experiencia en Internet.

viernes, 23 de octubre de 2015

OS X El Capitan 10.11.1, Security Update 2015-007, Apple Safari 9.0.1 y Apple iTunes 12.3.1 suman 81 bugs

Apple esta semana ha lanzado al mercado una buena cantidad de actualizaciones de seguridad, y si tienes la última versión de OS X en tu Mac, debes ponerte todas las que te afectan, que son varias. Hoy os traemos las que tienen que ver con OS X El Capitan, que llega a us versión 10.11.1 arreglando un total de 60 CVEs de seguridad, muchos de ellos de severidad crítica. Para las versiones anteriores de OS X se ha puesto en circulación la Security Update 2015-007 que trae los parches para OS X Yosemite y OS X Mavericks. Recordad que los sistemas anteriores ya están sin soporte. Todos los bugs los tienes descriptos en le Security Advisory asociado.

Figura 1: Security Advisory de OS X El Capitan 10.11.1 & Security Update 2015-007

También Apple ha actualizado Apple Safari 9.0.1 con un total de 9 CVEs de seguridad de severidad crítica, así que hay que actualizar lo antes posible. La lista de bugs corregidos está descrita en el siguiente Security Advisory:

Figura 2: Security Advisory de Apple Safari 9.0.1

Por último Apple iTunes también viene en su nueva versión con bugs de seguridad. Un total de 12 CVEs han sido corregidos en la nueva versión en el mercado Apple iTunes 12.3.1, que ya tienes disponible vía Mac App Store.

Figura 3: Security Advisory de Apple iTunes 12.3.1

Aún ha puesto Apple más actualizaciones de seguridad, así que este fin de semana te traeremos la lista completa para que puedas dejar todos tus sistemas al día. La verdad es que esta forma de actualizar todo el software de Apple al mismo tiempo nos hace trabajar, pero hay que tener los sistemas protegidos y al día.

sábado, 3 de octubre de 2015

iOS 9.0.2 disponible y Safari 9 solventan 46 Security Bugs

Apple sigue liberando nuevas versiones. Siempre que hay un salto de dígito en el sistema operativo móvil de iOS nos encontramos con versiones que van arreglando pequeños desajustes. La semana pasada tuvimos el iOS 9.0.1 y esta semana contamos ya con la versión 9.0.2 del sistema operativo. La nueva versión, según indica su Security Advisory indica que se parchea una vulnerabilidad que permitía acceder a contenido multimedia, por ejemplo fotografías, incluso con la lock screen habilitada. 

El componente afectado por la actualización, como hemos comentado es el lock screen o pantalla de bloqueo del dispositivo. La actualización se encuentra disponible para dispositivos iPhone 4S y superiores. La vulnerabilidad permite a un potencial atacante con acceso físico al dispositivo acceder a los contactos y fotografías desde esta pantalla de bloqueo.

Figura 1: Security Advisory de iOS 9.0.2

Por otro lado tenemos el Security Advisory de Safari 9 con 45 vulnerabilidades que se parchean sobre el navegador. Un gran número de vulnerabilidades permitían la ejecución de código arbitrario, por lo que es importante que se actualice lo antes posible. Safari 9 está disponible para OS X Mavericks 10.9.5, OS X Yosemite 10.10.5 y OS X El Capitan 10.11.


Como se puede ver los equipos de TI tienen mucho trabajo actualizando sistemas operativos de Mac y de iPhone & iPad, además de actualizar componentes o software base como el navegador del sistema operativo OS X.

miércoles, 1 de julio de 2015

Cómo instalar Metasploit en OS X Mavericks

Homebrew permite al usuario de OS X instalar gran cantidad de paquetes que Apple no proporciona a sus usuarios. Para poder instalar Metasploit en OS X utilizaremos paquetes que podemos obtener con Homebrew de manera sencilla. Es importante que para llevar a cabo la instalación de Metasploit en OS X no se disponga de MacPorts instalado en el equipo, ya que seguramente se tenga problemas con ellos y las dependencias. La instalación de Metasploit puede resumirse en los siguientes pasos que se muestran a continuación:
  • Instalación de Command Line Development Tools Xcode 5 en Mavericks
  • Instalación de Java
  • Instalación de Homebrew
  • Instalación de Ruby 2.1
  • Instalación del escáner Nmap
  • Instalación de la base de datos de PostgreSQL y su configuración
  • Instalación de Metasploit Framework
Como se puede ver la lista de acciones a realizar es grande, pero si seguimos esto paso a paso no deberíamos tener problemas para instalar el framework en OS X Mavericks. En primer lugar hay que asegurarse de que se encuentran instaladas las Command Line Developer Tools y para ello se puede abrir un terminal y ejecutar la siguiente instrucción xcode-select –install, instalándose las herramientas automáticamente. 

Figura 1: Instalación de las Command Line Developer Tools

Hay que asegurarse de tener la última versión de Java, en este caso Java JDK 8. Esto puede ser descargado desde el sitio web de Oracle. Para asegurarse de que se tiene la versión adecuada se puede ejecutar en un terminal la siguiente instrucción java –version. Además, si se quiere comprobar dónde está instalado se puede utilizar el comando whereis.

Ahora, instalaremos Homebrew pudiéndose descargar desde su sitio web. En este punto, y tras instalar Homebrew hay que asegurarse de que los binarios instalados por éste son los primeros que se encuentran en la variable de entorno $PATH. Por ello se ejecutan las siguientes instrucciones echo PATH=/usr/local/bin:/usr/local/sbin:$PATH >> $HOME/.bash_profile; source $HOME/.bash_profile; brew tap homebrew/versions

Para instalar Ruby 2.1 utilizaremos Homebrew, y es tan sencillo como ejecutar la siguiente instrucción brew install homebrew/versions/ruby21. Una vez ejecutada la instrucción se comprueba la versión ejecutando la orden ruby –v en la terminal. Existen otras formas de instalar Ruby en OS X, pero quizá está es una de las más sencillas para los usuarios.

Para instalar Nmap también utilizaremos Homebrew. Con este proceso su instalación es trivial y muy rápida. La instrucción que debe ser ejecutada es brew install nmap en la terminal. Nmap puede ser utilizado desde la consola de Metasploit por lo que es importante su correcta instalación y Homebrew simplifica y mucho el proceso.

La instalación del motor de base de datos PostgreSQL y su configuración es un paso también crítico, ya que después será utilizado por la consola de Metasploit. La instalación se llevará a cabo desde Homebrew con la instrucción brew install postgresql –without-ossp-uuid. Una vez instalado se debe configurar. Para ello hay que inicializar el motor de base de datos con la siguiente instrucción initdb /usr/local/var/postgres. Para configurar PostgreSQL se lanzarán varias instrucciones cuyo objetivo es copiar una configuración al entorno de usuario. Las instrucciones son:
mkdir –p $HOME/Library/LaunchAgents
cp /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist $HOME/Library/LaunchAgents/
launchctl load –w $HOME/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Una vez realizado esto debemos crear un usuario para la base de datos llamado msf que utilizaremos con Metasploit. Para realizar esto ejecutamos la instrucción createuser msf –P –h localhost. Además, se debe crear la base de datos con la instrucción createdb –O msf msf –h localhost.

Ahora toca descargarse el framework con Git. Para obtener la copia del repositorio ejecutaremos la instrucción git clone https://github.com/rapid7/metasploit-framework.git. En este punto ya estaríamos cerca de poder arrancar la consola de Metasploit. Creando el directorio /usr/local/share/metasploit-framework y copiando todo lo que se descarga desde Git podemos crear un enlace simbólico para poder utilizar día a día con facilidad Metasploit. Para todos los binarios que empiezan por msf* de la carpeta de Metasploit se hace un enlace simbólico a la ubicación /usr/local/bin y de este modo aparecen en $PATH y son fácilmente invocables. Una instrucción sencilla sería ejecutar lo siguiente for file in $(ls msf*); do ln –s /usr/local/share/metasploit-framework/$file /usr/local/bin/$file; done.

Ahora damos permisos al resto de usuarios de escritura sobre el fichero /etc/profile, por ejemplo con chmod go+w. Por último hay que configurar la base de datos para que se integre con Metasploit y para ello añadimos al fichero /etc/profile la siguiente instrucción sudo echo export MSF_DATABASE_CONFIG=/usr/local/share/metasploit-framework/config/database.yml >> /etc/profile.

Figura 2: Metasploit en OS X
Utilizamos bundle install para instalar las versiones de las gemas soportadas por el framework. Editamos el fichero /usr/local/share/metasploit-framework/config/database.yml con la siguiente información:
Production:

adapter: postgresql

database: msf

username:msf

password:

host: 127.0.0.1

port: 5432

pool: X (un número que se quiera dar, por ejemplo 75)

timeout: 5
Ejecutamos source /etc/profile y source $HOME/.bash_profile para que todo quede actualizado y podremos lanzar msfconsole. No es un proceso rápido y puede resultar costoso, pero disponer del framework de explotación de Metasploit en tu OS X Mavericks merece la pena.

viernes, 8 de mayo de 2015

Apple libera Safari 8.0.6, Safari 7.1.6 y Safari 6.2.6

Apple ha liberado nuevas versiones de su navegador Safari para las distintas versiones de OS X, como son Mountain Lion, Mavericks y Yosemite. En esta actualización se resuelven 5 bugs de seguridad, 3 de los cuales fueron descubiertos o reportados por el propio Apple. La actualización puede descargarse desde la Mac App Store o desde el sitio web de Safari. Se puede obtener más información sobre las vulnerabilidad en el sitio web de Apple.

Figura 1: Actualización de Safari y vulnerabilidades

A continuación se listan los CVE que se han resuelto en esta actualización y una breve descripción de lo que un atacante podría realizar si explotase la vulnerabilidad:
  • CVE-2015-1152. Visitando un sitio web malicioso se puede provocar el crasheo de la aplicación o la ejecución de código arbitrario.
  • CVE-2015-1153. Un atacante puede preparar un sitio web malicioso con el que provocar la caída de Safari.
  • CVE-2015-1154. Un atacante puede preparar un sitio web y cuando el usuario lo visite provocar una excepción no controlada que provoque el cierre inesperado del navegador. En este caso se puede llegar a provocar la ejecución de código arbitrario, por lo que la criticidad es grande.
  • CVE-2015-1155. Descubierta por Joe Vendix de Rapid7. Un atacante puede configurar un sitio web malicioso y extraer información del sistema de archivos a través del navegador. Afecta a la confidencialidad y privacidad de los usuarios. No se conoce forma de ejecutar código arbitrario en esta vulnerabilidad.
  • CVE-2015-1156. Visitando un sitio web malicioso, un atacante puede realizar spoofing sobre la interfaz de usuario.
Desde Seguridad Apple recomendamos que se actualice cuanto antes el navegador Safari, sobretodo si es el que se utiliza en su navegación diaria. 

lunes, 4 de mayo de 2015

OS X Yosemite 0day: Buffer Overflow que crashea fontd

Hace unas semanas se publicó algunos fallos de seguridad que afectaban, entre otras cosas, al font daemon de los sistemas OS X, tanto en sus versiones Yosemite, Mavericks y Mountain Lion. Con estas vulnerabilidades un atacante podía ejecutar código arbitrario con privilegios de root, por lo que los bus podían ser tomadas como críticas. Los CVE publicados referentes a estas vulnerabilidades se enumeran a continuación:

Figura 1: Tuit publicado sobre el exploit y la vulnerabilidad

El pasado 30 de abril se publicó un código escrito en C, con el que el demonio que se encarga de gestión de fuentes puede crashear debido a un buffer overflow. Nosotros lo hemos encontrado en pastebin dónde se muestra el código para poder llevar a cabo la prueba de concepto.

Figura 2: OS X 0day Buffer Overflow

No existe mayor detalle sobre el exploit, ya que no se indica a qué versión afecta, solo podemos encontrar un mensaje que dice que funciona sobre la última versión, sin detallar el número exacto de Yosemite. Por esta razón, aconsejamos actualizar en cuanto sea posible. El exploit provoca el crasheo de fontd, por lo que se puede entender como una prueba de concepto, pero según indica su autor podría ejecutar un payload.

viernes, 10 de abril de 2015

Actualiza tus "Apples": iOS 8.3, OS X 10.10.3, Apple Safari, Apple TV, XCode & Security Update 2015-004

Esta semana ha sido la elegida por Apple para desplegar gran cantidad de actualizaciones, tanto de iOS y OS X como de otras aplicaciones. Además, el Security Update 2015-004 proporciona un gran número de actualizaciones de seguridad, que viendo el número de CVEs, era algo inminente. Más de 100 CVEs parcheados en esta ocasión vuelve a dejar claro que Apple sigue ganando en interés, y que cada día más gente investiga y prueba sus productos encontrando fallos de seguridad.

OS X 10.10.3 con iCloud Photo Library y la nueva app photos

El pasado martes Apple liberó OS X 10.10.3 con iCloud Photo Library y la nueva app photos. Como se comentaba anteriormente, más de 100 vulnerabilidades son parcheadas en el nuevo Security Update de Apple. Gran cantidad de estas vulnerabilidades permitían ejecutar código arbitrario, tanto en el sistema como en aplicaciones del propio sistema. Lo que llama la atención es que algunos CVEs son del año 2013, lo cual vuelve a indicarnos que hay software nativo en el sistema operativo que utiliza librerías antiguas. Se puede ver el detalle de las vulnerabilidades a través de la lista de email de Apple con el asunto Apple-SA-2015-04-08-2 OS X 10.10.3 and Security Update 2015-004.

Figura 1: Vulnerabilidades solucinonadas en OS X 10.10.3

Actualiza a Yosemite, en Mountain Lion y Mavericks sigue Rootpipe

La polémica de esta actualización viene porque en el Security Update 2015-004 NO se ha solucionado RootPipe ni para OSX Mountain Lion, ni para OS X Mavericks, así que cualquier usuario local puede convertirse en root en tu sistema con enviar un nil a la API privada oculta que tienen estos sistemas operativos. Un gran fallo de Apple.


Figura 2: Explotación de RootPipe en OS X

iOS 8.3 liberado

iOS 8.3 está disponible para su descarga, además de XCode 6.3 y una actualización de Apple TV a la versión 7.2. En iOS 8.3 se han parcheado un gran número de CVEs, casi 60 vulnerabilidades solventadas, en concreto 58 CVEs, en esta versión. El detalle de las vulnerabilidades solventadas está publicado en el Security Advisory Apple-SA-2015-04-08-3 iOS 8.3.

Figura 3: Vulnerabilidades parcheadas en iOS 8.3

Una novedad interesante que trae iOS 8.3, es que en la nueva versión se podrá reportar a un remitente como Spam directamente desde la app de iMessages, cuando el contacto no esté en nuestra agenda.

Figura 4: Reporte de Spam en iMessages de iOS 8.3

Apple Safari también se actualiza

El navegador de Apple también ha sido actualizado, en este caso a la versión 8.0.5 en OS X Yosemite, a la versión 7.1.5 en OS X Mavericks y a la versión 6.2.5 en OS X Mountain Lion. En este caso se han parcheado 10 vulnerabilidades, de las cuales la mayoría permitían crashear el navegador, y en algunos casos afectaban a la confidencialidad de las comunicaciones. El detalle completo de las vulnerabilidades puede verse en el sitio web de Apple.

Figura 5: Vulnerabilidades corregidas en las nuevas versiones de Apple Safari

Os animamos a que actualicéis todos vuestros dispositivos de Apple, ya que como podéis comprobar tenéis trabajo por delante. Los departamentos de IT tendrán trabajo esta semana poniendo a tono a los sistemas OS X e iOS de los directivos y otros empleados de la empresa, todo sea por estar lo más seguro posible.

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.

Entrada destacada

Proteger tu cuenta de Google y de Gmail con Latch Cloud TOTP #Latch #Gmail #Google

La semana pasada se liberó la nueva versión de Latch y nuestro compañero Chema Alonso hizo un repaso de todo ello en su artículo Latch...

Otras historias relacionadas

Entradas populares