Menú principal

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

viernes, 28 de septiembre de 2018

Safari víctima de un nuevo ataque spoofing

Hace unos meses un investigador descubrió una vulnerabilidad no parcheada en el navegador web de Safari. La vulnerabilidad en cuestión permitiría a un atacante controlar el contenido mostrado en la barra de direcciones. Este bug si es explotado correctamente podría permitir la construcción de un buen ataque phishing que resultaría muy difícil de identificar por cualquier usuario. Esta brecha de seguridad ha sido generada por un fallo en la actualización de la barra de búsqueda. El navegador de Apple permite a javascript actualizar la información de la barra de direcciones antes de que la página buscada acabe de cargar por completo.

El investigador Rafay Baloch ha sido capaz de reproducir esta vulnerabilidad únicamente en los buscadores Safari de Apple y Edge de Microsoft. Tras su descubrimiento Rafay no dudó en informar a los responsables de cada compañía, sin embargo solo Microsoft ha respondido con un parche de seguridad lanzado el pasado 14 de agosto que formaba parte de sus actualizaciones de seguridad. Apple recibió el aviso el día 2 de junio y 90 días después tras superar el periodo de no divulgación el bug se ha dado a conocer públicamente. 


Esta vulnerabilidad ya es conocida como CVE-2018-8383 y está esperando para ser puntada. Explotar esta vulnerabilidad requiere que el atacante engañe a la víctima para acceder a una página diseñada especialmente para suplantar la página buscada, algo que no resulta muy complicado. Retrasando la actualización de la barra de direcciones un atacante podría suplantar cualquier página web mientras que la víctima ve el dominio legítimo con sus respectivas marcas de autenticación. En la mayoría de los casos el cambio en la barra de direcciones se puede apreciar perfectamente, sin embargo esto pasa también con muchas páginas legitimas que aprovechan para cargar algunos elementos secundarios en background, haciendo que no resulte nada sospechoso.

miércoles, 26 de septiembre de 2018

Apple actualiza su guía de seguridad para iOS y añade nuevas entradas tras la llegada de iOS 12

Tras el lanzamiento de iOS 12 Apple ha hecho una revisión de su guía de seguridad para iOS, en la que se detalla el funcionamiento de las nuevas aplicaciones y mejoras incluyendo las sugerencias de Siri, la nueva aplicación de Shortcuts, Screen Time y mucho más. Según el historial de revisiones de la guía de Apple, en esta ocasión se han añadido un gran número de entradas nuevas incluyendo los accesorios para Homekit TV Remote. A continuación os haremos un breve resumen de algunas de las nuevas entradas contempladas en la guía.

Comenzamos con Siri, sus sugerencias y su funcionamiento con Shortcus ahora son generadas utilizando machine learning y enviando los datos recopilados de forma anónima a Apple con el fin de comprobar si la predicción ha sido acertada. En cuanto a los Shortcuts, desde que pueden correr javascript en determinadas páginas, las descargas de iOS te advierten de la posibilidad de contener malware con una notificación emergente que te da la opción de continuar o cancelar la descarga.

“Los Shortcuts son versátiles, se asemejan mucho a los scripts en los programas, se utiliza un sistema de cuarentena para aislar los Shortcust descargados de internet. El usuario es advertido la primera vez que intenta utilizarlos y se le da la oportunidad de analizarlo, incluyendo la información acerca de su origen”. Ha dicho Apple.

Figura 1: Shortcuts.

En la guía de seguridad también se ha incluido ScreenTime la nueva aplicación que mide el tiempo de uso de la pantalla, con esta aplicación los usuarios podrán controlar el tiempo y los datos consumidos por cada aplicación, además de fijar límites para ellos. Apple resalta que esta función puede usarse para controlar el tiempo y las aplicaciones utilizadas por los niños. En cuanto a las tarjetas exprés o los carnets de estudiante, Apple ha dicho que las funciones NFC funcionaran incluso cuando iOS este bajo un régimen mínimo (lo que sucede cuando se encuentra en modo de ahorro de batería), según la compañía incluso requiriendo ser cargado el dispositivo tendría energía suficiente para que el NFC funcione correctamente. Para hacerlo iOS ha hecho que no sea necesario autenticarse con Face ID o Touch ID ya que los sensores consumen una gran cantidad de energía.

Figura 2: ScreenTime.

Para terminar hablamos de Homekit TV Remote, en la guía se ha confirmado que en un futuro el control remoto recibirá soporte de Siri y hará que puedan utilizarse muchos de sus comandos. Cuando el usuario active la función del micrófono (utilizando el botón incorporado en el mando para ello) el audio será enviado a su Apple TV a través de una conexión de red local. Si queréis conocer todos los detalles acerca de las nuevas funcionalidades de iOS 12 podéis encontrar el White Paper en formato PDF en la página oficial de Apple.


jueves, 6 de septiembre de 2018

Apfell: Framework de post-explotación para macOS para el RedTeam

Apfell es un framework para macOS de post-explotación construido con Python3 y Javascript. Esta diseñado para proprocionar una interfaz colaborativa y fácil de usar para los usuarios y pentesters. Además, es muy útil para los Red Team, así como la generación de informes. La herramienta también se puede utilizar en sistemas GNU/Linux. En este artículo vamos a comentar brevemente el uso de Apfell y se recomienda verlo y probarlo en el Github oficial de la herramienta

El servidor con el que se interactúa para utilizar la herramienta se pone a la escucha en el puerto 443 y, por norma general, en la interfaz de red 0.0.0.0. Como se puede ver en la imagen, la herramienta presenta una interfaz sencilla de utilizar y de manejar. Esto es importante a la hora de realizar ciertos trabajos.

Figura 1: Aplicación web de Apfell

Apfell utiliza JSON Web Token, JWT, para la autenticación. Cuando se usa el navegador se almacena sus tokens de acceso y de cookies. Dentro de la carpeta app en el Github oficial se puede encontrar los payloads disponibles de la herramienta. Una herramienta para probar en los sistemas macOS y GNU/Linux que pueden sumar y ayudar a los pentesters en su día a día.

miércoles, 25 de octubre de 2017

¡Warning! Nuevo Troyano para Mac OSX propagado por descargas maliciosas

La descarga de un popular reproductor multimedia para Mac OS X y su gestor de descarga han sido infectados por un troyano después de que los servidores de los desarrolladores fuesen hackeados. Elmedia Player, de Eltima cuenta con más de un millón de usuarios, muchos de los cuales al descargarlo también instalaron Proton, un troyano de acceso remoto cuyo propósito es espiar y robar contenido a dispositivos Mac. Los atacantes también infectaron otro de los productos de Eltima con el mismo troyano (Flox). La backdoor de Proton proporciona a los atacantes una vista casi general del sistema comprometido, permitiendo el robo de información de navegadores,  usuarios y contraseñas, y mucho más.

Un representante de Eltima afirmó que el malware fue distribuido a través de descargas debido a que sus servidores fueron hackeados después de que los atacantes usasen una brecha de seguridad en la librería tiny_mce de JavaScript. Este suceso salió a la luz el pasado jueves, cuando los investigadores en ciberseguridad de ESET descubrieron que Elmedia Player estaba distribuyendo Proton. Los usuarios que descargasen el software antes de las 3:15 pm de ese día podían haber sido infectados. A su vez se han publicado una lista de archivos o directorios que revelan si el troyano está instalado en nuestro dispositivo. Este caso es idéntico al que sufrió el software Transmission y del que hablamos en Seguridad Apple.
  • /tmp/Updater.app/
  • /Library/LaunchAgents/com.Eltima.UpdaterAgent.plist
  • /Library/.rand/
  • /Library/.rand/updateragent.app/ 
Figura 1: Archivo no legitimo de Elmedia Player

De alguna forma, los atacantes lograron construir una “envoltura” firmada sobre el reproductor multimedia que resultó con la unión de Proton al software legítimo. Todo esto ocurrió con el mismo Apple ID de desarrollador. Desde ese momento el ID de Apple ha sido revocado y Eltima y ESET están trabajando con Apple para ver cómo fue posible la realización del ataque. Un representante de Eltima ha asegurado que desde que el servidor fue registrado el 15 de octubre no había distribuido malware hasta el 19. Por suerte para algunos, los usuarios que hayan adquirido la última versión del software a través de una actualización automática no han sido infectados.

Ya hay una nueva versión de Elmedia Player libre de troyanos y se puede obtener desde la página oficial de Eltima y su seguridad está garantizada por ESET. En respuesta al incidente Eltima ha asegurado que ha tomado medidas para protegerse frente a posibles ataques de este tipo en un futuro y  ha incrementado la seguridad de sus servidores.

martes, 2 de mayo de 2017

El malware del movimiento que puede robarte las contraseñas

Un nuevo malware ha salido a la luz y se le ha puesto foco mediático debido a la forma que tiene de conseguir las contraseñas de un dispositivo móvil. La idea del malware es conseguir las contraseñas apoyándose en el sensor de movimiento del dispositivo móvil. Incluso, algunos sitios web hacen uso del sensor de movimiento o acelerómetro, por lo que dicha web podría conocer una contraseña tuya. Aunque esto parezca de ciencia ficción es muy real, tal y como puede leerse en el Paper publicado que demuestra la técnica

Para demostrar esta técnica los investigadores utilizaron un pequeño código escrito en Javascript, denominado PINLogger.js. Este código, a través del uso del acelerómetro, podía obtener los datos de las contraseñas introducidas por el usuario. En la imagen se puede ver la aplicación de prueba utilizada para llevar a cabo la investigación.

Figura 1: Prueba de concepto

Desde iOS 9.3, Apple no se ve afectado por este tipo de malware, el cual pone encima de la mesa los diferentes vectores que se pueden utilizar para llevar a cabo la materialización de amenazas. Vivimos en un mundo dónde la tecnología avanza diariamente, pero las nuevas amenazas surgen también diariamente debido al desarrollo y prosperidad de la tecnología. Por ejemplo, queremos referenciar a un tipo de evolución de ingeniería social y phishing, basado en los códigos QRCode, os dejamos un artículo dónde se puede visualizar el QRLJacking a WhatsApp.

martes, 18 de abril de 2017

macOS Hacking: Nuevo libro sobre seguridad en Apple de 0xword

Los compañeros de 0xword han publicado un nuevo libro y en esta ocasión le tocó a macOS. El nuevo libro de macOS hacking muestra al lector diferentes caminos, vectores y forma de realizar un pentest desde y a macOS. Las tecnologías Apple han pasado de ser minoritarias a estar en el mundo de la empresa en todos los rincones en los últimos diez años, y en los procesos de Ethical Hacking son cada vez más un objetivo a tener en cuenta. Hace más de 7 años que tenemos este blog y en él hemos estado hablando de la importancia de tomarse en serio la seguridad del mundo de la manzana mordida.

En este blog hemos ido recogiendo los avances en el mundo de la seguridad y el hacking y hemos, por ejemplo, recogido diferentes pruebas de concepto interesantes a la hora de afrontar un análisis de seguridad de los sistemas. Hay que recordar el bypass a sudo que afectaba a OS X, como ser root en OS X con un exploit que cabía en un tuit o cómo explotar una vulnerabilidad en Firefox el cual es ejecutado en OS X. Además, hemos estado alineados con el libro Hacking iOS: iPhone & iPad, del cual se han vendido más de 1500 ejemplares.

Figura 1: macOS Hacking

Los autores nos comentan esto: "Centrándose en temas de seguridad, cada día es más común ver equipos Mac en conferencias como Defcon, BlackHat, Rooted Con o Ekoparty, entre otras, donde sólo se reúnen expertos en seguridad. La fuerte demanda de estos equipos y de su sistema operativo, ha hecho que se planteara la idea de escribir un libro que explicara en profundidad algunas de las características más esenciales de estos sistemas, enfocado siempre a la seguridad y el hacking. De esta manera, se busca dar a conocer multitud de funcionalidades ocultas del sistema, así como también un gran número de herramientas de hacking que permitirán tener un equipo Mac completamente preparado para realizar auditoría de seguridad y ataques hacking". Apúntate el libro macOS Hacking como recomendado.

miércoles, 29 de marzo de 2017

Warning: Scammers se aprovechan de los que visualizan porno en iOS

Es una de las noticias de la semaan en el mundo Apple, junto a la salida de las actualizaciones de los productos más importantes de la marca. Un grupo de estafadores explotaban un error de Safari con el objetivo de extorsionar a los usuarios de iOS que ven pornografía. ¿Cómo funcionaba esto? Los estafadores se han aprovechado de un fallo en el navegador de Safari para iOS para mostrar ventanas emergentes con Javascript.

En estas ventanas se hacía creer al usuario que estaban viendo porno que debían pagar una multa. El defecto consistía en la forma en la que Safari muestra las ventanas emergentes. Investigadores del proveedor de seguridad móvil Lookout describieron el código de explotación, el cual se encontraba implantado en diversos sitios web, y el cual causó que un bucle de interminables ventanas se mostrara de una manera que impedía que se usara el navegador. Las ventanas que emergían se presentaban como acciones de aplicación de la Ley y, de forma fraudulenta, se afirmaba que la única manera que tenían los usuarios para recuperar el uso del navegador era pagar una multa en forma de tarjeta de regalo de iTunes.

Figura 1: Ventanas emergentes y estafa

Para recuperarse del bucle de ventanas emergentes el usuario solo debía entrar en la configuración del dispositivo y borrar la caché del navegador. Esta solución es muy simple, pero, seguramente, muchos usuarios ante la vergüenza que pudieran sentir ante la situción no solicitarían ayuda externa. Los investigadores Andrew Blaich y Jeremy Richards comentaron: "Los atacantes utilizaron el miedo del usuario como un factor para obtener lo que querían antes de que la víctima se diera cuenta de que había poco riesgo real".

Apple ha corregido la vulnerabilidad en la nueva versión de iOS, la 10.3. El Javascript utilizado en el ataque muestra signos de ser utilizado para explotar el mismo defecto de Safari presente en iOS 8. Los atacantes compraron un gran número de dominios en un intento de atrapar a los usuarios que buscan contenidos pornográficos en Internet. Los usuarios de iOS que hayan sido víctimas o intento de víctimas solo tienen que entrar en los ajustes y borrar la caché de navegación.

jueves, 9 de junio de 2016

Campañas de phishing dirigidas a usuarios de Apple #Phishing #Apple

La empresa FireEye ha encontrado campañas de phishing dirigidas a los usuarios de Apple, entendiendo como objetivo la cuenta de iCloud de los usuarios. En las campañas se utilizaban dominios falsos. La empresa ha informado que desde Enero de este año, varias campañas de phishing se han dirigido a los usuarios de Apple con el objetivo de robar el Apple ID, generalmente en Reino Unido y China. Cualquier persona que tenga un Apple ID podrá acceder a la información del usuario, así como a sus datos.  FireEye explica que ha utilizado un sistema automático que detecta phishing y dominios potencialmente maliciosos.

Este sistema fue el que observó y registró estos dominios maliciosos de phishing. Estos dominios falsos de Apple estuvieron involucrados en los ataques de phishing contra los usuarios de iCloud en China y Reino Unido. En el blog de FireEye se puede ver el estudio y análisis que hicieron de la investigación y detección. La campaña que trata la gente de FireEye es la de Zycode. El phishing se denomina zycode debido al valor de una variable incrustada en el código Javascript. A continuación se muestra un listado de dominios maliciosos detectados por FireEye, los cuales, ninguno, apunta a la infraestructura de Apple

Figura 1: Dominios maliciosos

La lista de dominios muestra que los atacantes están intentado imitar los sitios web legítimos relacionados con iTunes, iCloud y Apple ID. La mayoría de los dominios aparecieron como una interfaz de inicio de sesión de Apple ID, iTunes e iCloud. Los dominios estaban altamente ofuscados con Javascript, el cual estaba creando el contenido HTML suplantando la identidad de Apple en el sitio web. Esta técnica es eficaz contra los sistemas antiphishing, los cuales se basan en el contenido HTML.

Generalmente, las imágenes que imitan a una marca o la forma de recoger las credenciales robadas son rasgos claros que hacen que un phishing pueda ser detectado. En estos casos el Javascript apoya al atacante para ofuscar la respuesta y no revelar su verdadera intención al no ser ejecutada dentro de un navegador web o de un emulador de Javascript.

Figura 2: Código ofuscado

Esta cadena codificada strHTML pasa por una secuencia compleja de funciones, alrededor de las 23 de descifrado o decodificación. Las funciones incluyen conversiones de sistemas numéricos, modificadores de patrones pseudo-aleatorios seguidos de decodificación XOR con llave fija o contraseña "zycode". Los sistemas antiphishing que se basan únicamente en el HTML no detectarán el código generado utilizando esta técnica. Una vez cargado en el navegador web, el Javascript ofuscado crea una página de phishing de iCloud.

Figura 3: BurpSuite
En la imagen se puede visualizar el usuario y contraseña interceptada ocn BurpSuite, tras todo el proceso de ofuscación de código y generación de web. La noticia es importante, aunque seguramente este tipo de campañas se sigan replicando a lo largo del mundo. Los usuarios deben estar concienciados y disponer de unos conocimientos mínimos de seguridad a la hora de navegar y utilizar sus identidades digitales. Usar verificación en dos pasos en AppleID es algo fundamental, con el que mejorar exponencialmente la seguridad de nuestra identidad.

martes, 12 de abril de 2016

OS X: Parche de iMessage evita robo de historial de chats

El servicio de mensajería de Apple denominado iMessage proporciona un cifrado extremo a extremo para todas las comunicaciones realizadas, al igual que ahora hace Whatsapp. La robustez del cifrado hizo que unos atacantes buscaran el fallo en el cliente y no en la comunicación. Unos investigadores encontraron una vulnerabilidad que permitía obtener datos del usuario. Antes de liberarla públicamente, ellos informaron a Apple. La vulnerabilidad de iMessage ha sido parcheada por Apple y los datos de usuario están fortificados. Se puede encontrar más en su CVE-2016-1764.

La vulnerabilidad consistía en enviar al usuario un enlace falso, el cual cuando se hacía clic tiraba de los datos del usuario del cliente de iMessage de OS X y se podían subir a un servidor remoto. El trick de la vulnerabilidad solo podía ser activado después de que el usuario hiciera clic en el enlace, por lo que para asegurarse de que se hacía clic se enmascaraba la dirección URL maliciosa con un dominio conocido como facebook.com o google.com. El javascript hacía el resto como se puede ver en el video. Todo era un fallo en el CSP. Lo que no queda claro es si estos investigadores fueron los primeros o había alguien aprovechándose de dicha vulnerabilidad.

Figura 1: Demostración del robo de historial de chats

Es interesante ver la reacción que Apple ha tenido con este fallo de seguridad, el cual ha sido parcheado rápidamente. También la gravedad y como afectaba a la privacidad de los usuarios ha ayudado a que la Apple se tomara las cosas en serio. Hay que recordar que hace poco hablábamos de otro fallo, en este caso se permitía a un usuario desbloquear el terminal de otro sin estar autorizado y acceder a datos de éste.

sábado, 30 de enero de 2016

El malware para iOS podría evadir AppStore usando técnicas de Hot-Patching

Cada vez es más común que los desarrolladores utilicen herramientas que les permiten actualizar las aplicaciones de iOS sin pasar por el flujo común de validación de la AppStore para conseguir tener cambios en las apps sin los retrasos de pasar por Apple. JSPatch podría permitir a los desarrolladores - incluidos los maliciosos - eludir las funciones de control y revisión de Apple. ya que pueden modificar de forma remota el código en sus aplicaciones sin tener que pasar por el proceso normal de revisión.

Esto abre una puerta enorme a posibles abusos o intenciones maliciosas por parte de otros usuarios, al igual que un gran riesgo de seguridad. La técnica es una variación del parcheo en caliente que se desarrolló para solucionar bugs dinámicamente en un sistema o aplicación sin tener que reiniciarlo. En este caso, una aplicación iOS se actualiza sin que el desarrollador tenga que enviar una nueva versión a la tienda oficial de iOS y esperar el proceso de revisión de Apple.

Figura 1: JSPatch para iOS

El proyecto de código abierto JSPatch proporciona un motor para que los desarrolladores de aplicaciones puedan integrar en sus aplicaciones, lo que se llama puentes de códigos Javascript para Objective-C. Por ejemplo, después de añadir el motor JSPatch a su aplicación, se requieren sólo 7 líneas de código, los desarrolladores pueden configurar la aplicación para cargar siempre el código Javascript desde un servidor remoto. Este código es interpretado por el motor JSPatch y convertido a Objective-C.

El problema es que los parches en caliente están totalmente desalineados con el modelo de seguridad de iOS, que se basa en la revisión por parte de Apple del código. Estaremos atentos a todo lo que ocurra, y a la posible aparición de malware que se aproveche de los parches en caliente.

jueves, 28 de enero de 2016

El hipervínculo que crashea Safari, Chrome, iOS & OS X

Existe una vulnerabilidad en Safari, tanto en las versiones de iOS como en las de Mac, con la que un atacante puede hacer que nuestro navegador crashee, simplemente haciendo que visitemos un recurso web. La vulnerabilidad reside en una mala gestión por parte del navegador de una función que interactúa con la barra de direcciones URL. Ya existe un sitio web como crashsafari.com, el cual realiza la prueba de concepto y provoca la caída de los navegadores Safari y Google Chrome

Se  ha puesto de moda enviar el enlace vía WhatsApp o Twitter con el fin de gastar una broma a los amigos. ¿Qué hay detrás de esto? El código es Javascript y es bastante sencillo. Aprovechando la función history.pushState se provoca la anexión a la dirección URL, sin modificar el contenido que se visualiza.

Figura 1: Código que provoca el crasheo en Safari

El tamaño que se puede conseguir en datos es de 25 GB en memoria, lo cual es una barbaridad. Teniendo en cuenta que cada entrada del historial puede ser alrededor de 250 KB, y que se hace más de 100.000 iteraciones, el tamaño es descomunal. Es recomendable de matar el proceso mediante kill -9 y volver a la normalidad.

En la mayoría de los casos esto provocará una caída del navegador, aunque en otros casos el navegador se quedará "tostado" y consumiendo una alta carga de CPU. Incluso, en algunos terminales Android o iOS este bug provoca que el dispositivo se quede inestable y bloqueado, por lo que haya que reiniciarlos con el fin de recuperar la normalidad. A día de hoy no se conoce parche para este fallo incómodo.

jueves, 17 de septiembre de 2015

iOS 9 soluciona 101 bugs de seguridad (Ahí es nada)

El sistema operativo de iOS ha sido liberado con un gran número de agujeros de seguridad parcheados. A Apple ya le ha pasado varias veces que cuando comienza un nuevo número de versión, en este caso de la 8 a la 9, la descarga es más grande de lo normal. Por ejemplo, la versión 8.4.1 estaba en 50 MB o en OTA a través de 1,2 GB. La nueva versión está alrededor de los 2 GB en lo que a fichero IPSW se refiere realizando la descarga completa del firmware

Los cambios y nuevas características de seguridad que forman parte de la seguridad de iOS 9 son las siguientes:
  • Passcode de 4 dígitos a 6: De esta forma el tiempo y las combinaciones de fuerza bruta aumentan exponencialmente.
  • Doble factor de autenticación (2FA) en iOS 9: Necesita el uso de El Capitan OS X 10.11, la cual se encuentra aún en beta.
  • Bloqueo de extensiones en el navegador Safari.
En realidad las partes más importantes que se han solventado o mejorado en términos de seguridad son las actualizaciones que se han tenido que liberar en esta versión. Otros de los bugs que se solventan en iOS 9 hacen indicar que el software saldría sin ellos parcheados, siendo parcheado el día 16 de Septiembre. 

Figura 1: Cambio del nuevo Passcode de 6 digitos

En estas actualizaciones hay todo tipo de vulnerabilidades que han sido parcheadas, como por ejemplo: 
  • Ejecución de código remota potencialmente explotables a través del WebKit y el núcleo de Javascript.
  • Leaks. El acceso a la memoria del kernel puede provocar estas fugas de información.
  • Denegar el servicio o crashear el dispositivo.
  • Suplantaciones de identidad enviando un correo electrónico falso que parece provenir de un contacto de la libreta de direcciones. 
  • Visualización de tráfico que circula a través de conexiones TLS debido a un error en el manejo de un certificado. 
  • Spoofing. Falsear un sitio web que parece que se encuentra con la dirección URL legítima.
En la lista podemos encontrar 101 entradas de vulnerabilidades, aunque quizá haya una que se lleve el premio, y es una vulnerabilidad que permite determinar una clave privada a un atacante. Se puede deducir tras la observación de muchos intentos de firma o de descifrado qué clave privada RSA se tiene.

Figura 2: 101 bugs solucionados en iOS 9

Como se puede ver la salida de iOS 9 trae muchas novedades y muchos agujeros de seguridad tapados, más de 67 importantes. Por esta razón, os recomendamos actualizar vuestro sistema y poder estar un poco más seguros con el nuevo sistema operativo.

martes, 5 de mayo de 2015

[PoC] Explotar un bug de Command Injection a través del cliente Mail de iOS

Hace ya años hablamos de una debilidad en el gestor de correo electrónico que por defecto trae iOS, el cliente Mail. Este cliente permitía al abrir un correo electrónico cargar automáticamente las imágenes, por lo que las etiquetas img en html son ejecutadas por el cliente intentando buscar el origen de la imagen. Ya se mostró en el artículo como era sencillo obtener la versión del sistema operativo de un target, incluso jugando con el ISP podríamos cercar una ubicación.

En el año 2012, un año después del artículo dónde se mostraba la debilidad, Apple decidió quitar esta funcionalidad por defecto, lo cual supuso una mejora de seguridad en el cliente de correo, la cual se introdujo en la versión 6 de iOS.

Carga de imágenes en mensajes de correo electrónico

En muchas ocasiones, hay usuarios que prefieren tener habilitado la carga de imágenes por defecto, y lo ven como una costumbre. ¿Qué se puede llegar a hacer con esta debilidad? Lo que se muestra en este artículo es una combinación fatal en la que gracias a un tercero, en este caso el usuario que abre un email con el cliente de correo de iOS, se puede llevar a cabo un ataque con consecuencias devastadoras para una empresa que tiene alguna que otra vulnerabilidad web, como ya vimos en el ejemplo de explotar un CSRF en el panel de administración de un router, o un ataque SQL Injection en la intranet de la empresa, o un bug en los sistemas de votaciones, así como que te hagan tracking de tu ubicación en todo momento. Hoy veremos un ejemplo con la explotación de un Command Injection

El esquema del ataque es el siguiente:
  1. El atacante conoce la existencia de una vulnerabilidad crítica, como es un Command Injection, en un servidor de la empresa target
  2. El atacante prepara un email para un usuario que utiliza el cliente mail de iOS. Dentro del cuerpo del mensaje existirá una etiqueta img que solicitará una imagen a una fuente, la cual es el servidor vulnerable.
Figura 1: Preparación HTML del correo electrónico

Existe una vulnerabilidad de Command Injection en el parámetro domain de la aplicación web. Aprovechando esto y sabiendo que el atacante quiere la dirección IP que quede registrada en el ataque no sea la suya, y sí la de un dispositivo iOS, se ejecutan 4 instrucciones en la petición al parámetro vulnerable. La primera vuelca un contenido en un fichero en /tmp denominado pay.txt. Este fichero contiene nuestro payload. La segunda instrucción decodifica el contenido del fichero y lo vuelva en un fichero. Este fichero ya es código binario. La tercera instrucción cambia los permisos del fichero binario que acabamos de crear, mientras que la cuarta instrucción ejecuta el código en el servidor remoto. Cuando el binario se ejecute, devolverá el control de la máquina a dónde el usuario que lo generó con el módulo que se verá a continuación haya indicado.

¿Qué es el "chorro" de números y letras que se muestra después del echo y que acaba en un signo "="? Es una Meterpreter en base64. Para generar este tipo de soluciones en ataques web, nuestro compañero Pablo González realizó un pequeño módulo para generar payloads ya encodeados en base64. En su libro de Metasploit para Pentesters podéis encontrar ejemplos como éste en la introducción al desarrollo de módulos para el framework. En la imagen se puede visualizar una prueba de cómo utilizar este módulo, y es realmente interesante utilizar estos códigos en ataques web de tipo CI.

Figura 2: Creación de un payload en base64 con generator_payload_base64

Antes de suponer el envío del email reflejemos el escenario final del ataque. En la siguiente imagen se puede comprobar los pasos a seguir por el atacante y el resultado del mismo si todo va bien. Como se dijo anteriormente hay una serie de condiciones que se deben cumplir, pero el resultado del ataque es crítico.

Figura 3: Esquema global del ataque

Una vez el email se envía, el usuario con iOS lo abrirá. Cuando el e-mail es abierto, y siempre y cuando la opción de carga de imágenes se encuentre activa se realizará una petición al servidor que se indique en el atributo src de la etiqueta img. Si la carga automática no se encuentra activa, el usuario puede decidir cargar las imágenes también, aunque ya requiere acción por parte del usuario.

Figura 4: Obtención de un Meterpreter en un sistema Linux

En definitiva, tenemos que tener cuidado con la carga de fuentes externas, ya que es común que ejecutemos contenido externo de otros sitios web, por ejemplo archivos Javascript que ejecutan código en nuestro navegador.

jueves, 26 de marzo de 2015

[PoC] Proxy Prototype Privileged Javascript Injection con Metasploit: Ownear un OS X explotando un bug de Firefox

Hace unos días los investigadores de seguridad de Rapid 7 anunciaron un nuevo módulo que permite aprovecharse de una vulnerabilidad, catalogada con el código CVE-2014-8636, que afecta desde la versión 31 a la version 34 del popular navegador de Internet Mozilla Firefox. Esta vulnerabilidad es independiente de la plataforma, por lo que puede ser explotada en OS X. Visto esto, es más que recomendable consultar en la ayuda de Mozilla Firefox la versión que tienes instalada. 

Desde Exploit-DB se puede descargar el módulo de Metasploit que aprovecha esta vulnerabilidad. Al final la inserción del módulo al framework no es más que un copy and paste dentro de una carpeta, en este caso exploit/multi/browser. La vulnerabilidad se encuentra en una implementación de XrayWrapper la cual no interactúa correctamente con el objeto DOM, pudiendo permitir a un usuario ejecutar código Javascript arbitrario.

Figura 1: Cabecera del módulo Proxy Prototype Privileged JS Injection para Firefox

El ataque es de tipo Client-Side, por lo que cualquier usuario que utilice una versión de Mozilla Firefox vulnerable corre el riesgo de acceder a un sitio web malicioso que se encuentra preparado para lanzar el exploit. La configuración del módulo en Metasploit es sencilla, simplemente debemos indicar el valor del atributo URIPATH y configurar el payload. Una vez configurado esto con ejecutar el comando exploit estaríamos creando un sitio web malicioso con el que al recibir una petición enviaremos el exploit.

Figura 2: Acceso al sitio web malicioso con Firefox

Algo a tener en cuenta es que por defecto el módulo trae configurado un target cuyo payload será una shell, pero si ejecutamos la instrucción show targets podemos ver que se podrán ejecutar otro tipo de payloads nativos, es decir, en función del sistema operativo. Aquí es dónde podremos configurar un payload para OS X, por ejemplo osx/x86/isight/reverse_tcp, y poder espiar al usuario. Recuerda ponerte sexy ante iSight.

Figura 3: Targets en Metasploit

Como se comentó anteriormente, es altamente recomendable actualizar el navegador, ya que podemos ser víctimas de diferentes tipos de ataques a través de este tipo de vulnerabilidades. Si quieres aprender más sobre el framework de Metasploit puedes consultar el libro de nuestro compañero Pablo González.

sábado, 7 de junio de 2014

Hazy para OS X: Un ofuscador JavasScript, HTML y PHP

Los ofuscadores de código son herramientas que tienen como primer y único objetivo evitar la lectura fácil del código de un programa. No son herramientas que pongan una medida de seguridad insalvable, ya que los analistas de seguridad y especialistas en ingeniera inversa tienen el conocimiento y las herramientas necesarias para poder desofuscar el código, o directamente hacer el seguimiento desofuscado. Si tu objetivo es simplemente no ponérselo fácil a los lectores que miran el código, puedes usar cualquier ofuscador. Mirando en la Mac App Store en busca de alguna de estas herramientas dimos con Hazy para OS X.

Esta sencilla herramienta para OS X permite ofuscar rápidamente el código de una web usando las funciones eval y unescape, algo similar a lo que ya hemos visto con muchos exploits kits, como es el caso de Black Hole.

Figura 1: Código JavaScript de Apple.com sin ofuscar

Su funcionamiento es sencillo, este de aquí es el código de un fichero JS que utiliza la web de Apple.com para detectar el navegador de Internet. Se guarda, se arrastra a Hazy y se guarda como fichero JS ofuscado haciendo clic en el botón Save As. Eso es todo.

Figura 2: Se hace drag and drop y se guarda el fichero ofuscado

Una vez que se visualiza el código, se puede ver que ha utilizado un sistema basado en eval y unescape para ofuscar todo el contenido. Si hay algún WAF filtrando código o un usuario quiere desofuscarlo, deberá pararse a utilizar un poco de tiempo para ver qué es lo que ponía ahí.

Figura 3: El mismo código pero ofuscado

Recalcamos que un ofuscador no es una medida más que para hacer menos evidente lo que hace el código, y que solo ayuda a pasar desapercibido a los ojos menos expertos y por medidas de seguridad de análisis automático concretas. Algunos WAF ya detectan código ofuscado para generar alertas de seguridad.

lunes, 31 de marzo de 2014

OSX 10.9.2 y Apple Safari 7.0.2: Fallos con la memoria

A mediados de este mes de Marzo, en la lista BugTraq, se publicó un artículo que apunta a una vulnerabilidad de denegación de servicio remota en OS X 10.9.2, Apple Safari 7.0.2, Mozilla Firefox 27 y el antivirus Kaspersky. El bug se encuentra en los controles de memoria en las la función regcomp() de BSD, en GNU/libc() y en los sistemas operativos Apple en regcomp/libc(). Esto quiere decir que una función que llame recursivamente a expresiones regulares puede generar problemas en la memoria llevando a un consumo excesivo y al bloqueo de la aplicación vulnerable.

Para probarlo se pusieron disponibles varias PoC para OS X 10.9.2 y Apple Safari 7.0.2, que nosotros hemos querido testear. El código que se propone en el caso de Apple OS X Mavericks 10.9.2 es una expresión regular lanzada desde la consola de comandos. Como se puede ver, se produce un error en la función de gestión de memoria no controlada, lo que muestra que este defecto está presente en la librería.

Figura 1: Este comando genera un error en la reserva de memoria.

Para el código HTML/JavaScript que se propone en Apple Safari, sí que hemos podido ver que la web se queda pesada y tarda mucho tiempo en responder, pero en ningún momento hemos visto que hubiera que cerrar el navegador - si la pestaña -.

Figura 2: Código HTML/JavaScript para la PoC

En cuanto al consumo de memoria, se puede ver en el comando top que no es excesivo en el sistema, aunque según informan en plataformas Microsoft Windows se han llegado a consumos de 4 GB.

Figura 3: Consumo de la PoC en Apple Safari 7.0.2 sobre OS X Mavericks 10.9.2

En cualquier caso, este problema no está solucionado aún, y deberemos esperar a la nueva versión de OS X Mavericks con una actualización de Apple Safari a ver si lo solucionan.

lunes, 30 de diciembre de 2013

Prueba un Mac Plus Clásico con Mac OS desde Internet

Estas navidades estamos un poco en modo retro. Hace poco os hablamos de OpenEmu, el emulador de juegos de consolas clásicas para Mac OS X, y luego de Mactracker, la app que te permite tener toda la historia de los productos hardware y software de Apple en tu iPhone o Mac OS X. Hoy, además, queremos que probéis la sensación de manejar un equipo MacPlus Clásico corriendo con Mac OS desde un emulador que funciona en tu navegador. Este equipo con el que puedes trastear es el mismo del que os hablamos hace poco porque habían conseguido conectarlo a Internet con una Raspberry Pi.

Figura 1: El emulador de Mac Plus en la web corriendo un Mac OS System 7

El emulador está hecho en JavaScript - llamado PCE.js - y es un port del emulador PCE de Macintosh a plataforma web. Con el, puedes acceder a diferentes equipos puestos online, como un Mac Plus con Mac OS System 7 en el que puedes dibujar un rato con las aplicaciones clásicas.

Figura 2: Dibujando con MacPaint en Mac OS System 7 sobre un Mac Plus emulado

También puedes conectarte a otra copia de un Mac Plus con Mac OS System 7 pero en el que podrás disfrutar un rato con jugos clásicos como esta guerra de cañones que si eres un poco "veterano" seguro que te ha quitado muchas horas de tu vida.

Figura 3: Echando una partida a la guerra de cañones. Recordad es que para dos jugadores.

También puedes jugar al Risk, o probar las herramientas de Microsoft Office clásicas de Excel o Word en los equipos Mac OS 7. Vamos, que te puedes perder enredando todas tus vacaciones.

Figura 4: Aplicaciones ofimáticas, incluidos PageMaker, MS Word, MS Works, y MS Excel

Por último, si ya no quieres moverte de delante del navegador, conéctate a este Mac Plus con Mac OS System 6 donde podrás jugar al Prince of Persia, Star Wars, Tetris, Test Drive II, etcétera, etcétera, etcétera...

Figura 5: Puedes jugar a todos estos juegos en un Mac Plus con Mac OS System 6

Y todo para sentirte un rato yendo años atrás  en el tiempo y no hacia delante como vamos ahora en la casi entrada del año 2014. Si te gustan las microhistorias de la historia de Apple, disfruta de estos momentos antes de que el mundo entero se haga un año más viejo y estemos un año más distantes de aquellos días en que se estaba creando la informática de hoy en día.

martes, 1 de octubre de 2013

Bug de Javascript Execution en Mailbox.app para iOS

MailBox.app para iOS
Mailbox.app es una aplicación de gestión de emails gratuito para iOS en la que en su versión 1.6.2 se ha descubierto una vulnerabilidad que permite ejecutar cualquier código Javascript que introducido dentro del BODY de un mensaje de correo electrónico enviado en formato HTML. Esta vulnerabilidad permite técnicas avanzadas para realizar campañas de spam, realizar tracking de acciones de usuario, o un session hijacking con sólo abrir un e-mail.

Si pensamos en los dispositivos con Jailbreak la cosa puede ser aún peor. Además, este gestor también carga imagenes externas automáticamente al abrir un e-mail como el cliente Mail de iOS sin mostrar la opción de deshabilitar dicho comportamiento, lo que abre una miriada de ataques client-side como los descritos en el libro de Hacking iOS: iPhone & iPad. En el video siguiente se muestran algunos ejemplos de explotación de dicha vulnerabilidad.  

Figura 1: Vídeo demostrativo con explotación de la vulnerabilidad en Mailbox.app

Cronología de un ataque, que parece que no fue bien mitigado

El día 25 de Septiembre de 2013 representantes de la aplicación Mailbox.app reconocieron el error, al cual restaron importancia a la gravedad de los ataques que podrían aprovecharse de este fallo. Un portavoz dijo que un parche sería lanzado antes de que finalizara ese día.

El día 26 de Septiembre de 2013 otro representante comunicó que habían implementado un proceso por el cual se eliminaba el contenido Javascript antes de entregar los emails en las bandejas de entrada de los usuarios. Esta funcionalidad se encuentra disponible en los servidores de correo y realizan el filtro. Además, informaron que la implementarían para otras plataformas, ya que esta vulnerabilidad podría ser un problema grave. En este instante la versión oficial del día anterior cambió radicalmente, pasó de ser algo no excesivamente grave o tener una importancia mayor. Fechas después de la liberación del parche, se puede comprobar como la nueva versión de Mailbox.app ya no ejecuta código Javascript que se inserta en el BODY, ni las imágenes cargan automáticamente.

Figura 2: Mailbox.app confirmando el segundo parche

El autor de la vulnerabilidad afirmó disponer de una vía para evitar esta restricción y seguir siendo capaz de ejecutar Javascript sin ninguna interacción con el usuario, situación altamente crítica. Él comunicó de manera privada a Mailbox.app sobre este hecho y quedo a la espera de la comunicación de la empresa. La empresa notificó horas después que resolvió el bypass que el hacker realizó, tal y como se ve en la Figura 2.

En conclusión, la explotación de esta vulnerabilidad es crítica, especialmente para los dispositivos con Jailbreak, mientras que para los dispositivos sin Jailbreak, el impacto no pasará de la sandbox dónde se ejecuta la app pero sí que afectaría seriamente a la privacidad del usuario y permitirá esquemas de client-side. Si usas esta app, actualiza cuanto antes.

jueves, 5 de septiembre de 2013

Exploit Apple Safari 6.0.1 Heap Buffer Overflow iOS & OSX

A través del programa de recompensas Packet Storm Security ha publicado un exploit para la vulnerabilidad CVE-2012-3748 existente en Apple Safari 6.0.1 para iOS y para OS X. Dicha vulnerabilidad es un Heap Buffer Overflow que permite la ejecución de código en plataformas iOS y Mac OS X por medio de un bug en JavaScriptCore de WebKit, concretamente en el método JSArray::sort(...). Esta vulnerabilidad, probablemente esté presente tambien, según se explica en el expediente de seguridad Packet Storm Advisory 2013-0903-1 en versiones anteriores del navegador.

El exploit se puede descargar desde la web de Packet Storm, y está compuesto por un código JavaScript para explotar la vulnerabilidad en equipos OS X y otro código para explotar la vulnerabilidad en terminales iOS. El código está preparado para utilizar distintos payloads en formato ARM/x64 directamente en el código JavaScript.

Figura 1: Exploit para Apple Safari Heap Buffer Overflow

En breve es más que probable que este exploit esté disponible en el popular framework de explotación de vulnerabilidades Metasploit, y queremos recordar que esta vulnerabilidad está parcheada desde hace tiempo por Apple en las versiones más modernas de Apple Safari.

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