Menú principal

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

jueves, 2 de mayo de 2019

5 Herramientas que te ayudarán mucho en un Pentest a iOS

A la hora de realizar un pentest, es necesario disponer de herramientas potentes con las que nos sentamos cómodos trabajando para así agilizar nuestro trabajo y tener mejores resultados. No es algo diferente en el mundo del hacking iOS, por ello, es necesario que nos actualicemos y probemos las herramientas existentes para escoger la que mejor se adapte a nuestras necesidades. Por ese motivo, hoy queremos dejar aquí este artículo facilitando unas herramientas disponibles en la red.

Queremos dejar las 5 que consideramos imprescindibles, no es el objetivo poner todas las herramientas existentes, es posible que consideres que falta tu favorita, puedes aportarla en un comentario. Comencemos  con nuestro listado:
  • Frida: no podía ser de otra forma, empezamos por una de las más conocidas. Esta herramienta va a permitir acoplarnos a la aplicación en tiempo de ejecución, inyectar nuestro script, ver o modificar la solicitud y la respuesta en tiempo de ejecución. 
  • Objection: se trata de una herramienta construida por Frida con el objetivo de ayudar a evaluar las aplicaciones móviles y su seguridad sin la necesidad de que el dispositivo tenga jailbreak  (ver Figura 1).
[Figura 1: iOS SSL pinning bypass - Objection]

  • Bfinject: es una herramienta de inyección de dylib para iOS, que nos permite cargar dylibs arbitrarios en las aplicaciones que se están ejecutando. Cuenta con soporte para descifrar aplicaciones que se encuentran en la App Store
  • Libimobiledevice: librería para comunicarse a través de protocolos nativos con los servicios de iOS. No necesita jailbreak, y permitirá ver información del dispositivo, los syslogs, capturar la pantalla, etc. 
  • MobSF: es una aplicación automatizada válida para Android, iOS y Windows, que es capaz de realizar análisis estáticos, análisis dinámicos, análisis de malware y pruebas de API (ver Figura 2). 
[Figura 2: Análisis estático a un archivo IPA - MobSF]

Para terminar, si deseas disponer de una herramienta que te permita instalar un IPA en tu dispositivo (o APK en Android), puedes usar Cydia Impactor. Son aplicaciones fáciles de utilizar y de las cuales encontraras documentación en la red. No dejes sin probar tus aplicaciones y mantente lo más seguro posible. Realizar las pruebas de seguridad es esencial, pero desde luego que a la hora de desarrollar las aplicaciones es fundamental hacerlo de manera segura

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.

jueves, 23 de agosto de 2018

Whitepaper de iBombShell disponible #macOS

Se ha liberado un paper en el que se habla de la idea, el aporte, la arquitectura, la modularización y los casos de uso de iBombShell. El paper se puede leer a continuación y está disponible en castellano y en inglés para su lectura. iBombShell proporciona acceso a un repositorio de pentesting con el que el pentester puede utilizar cualquier función orientada a la post-explotación y, en algunos casos, explotación de vulnerabilidades y aprovechamiento de debilidades. iBombShell es una shell de pentesting remota que se carga dinámicamente en memoria poniendo miles de posibilidades al alcance del pentester. En este artículo se puede comprender los modos de funcionamiento y qué es iBombShell.

Es una herramienta escrita en PowerShell que permite a un usuario disponer de un prompt o una shell con funcionalidades de post-explotación, en cualquier instante y sistema operativo. Además, también permite ejecutar funcionalidades de explotación de vulnerabilidades en algunos casos. Estas funcionalidades son cargadas dinámicamente, en función de cuando se necesiten, a través de un repositorio de Github.

La shell es descargada directamente a memoria proporcionando acceso a un gran número de características y funcionalidades de pentesting, las cuales serían descargadas directamente a memoria sobre el sistema, sin ser almacenado en disco. Las funcionalidades descargadas directamente a memoria lo hacen en un formato de función de PowerShell. Esta vía de ejecución es conocida como EveryWhere. Además, iBombShell proporciona una segunda forma de ejecución llamada Silently. Con esta manera de ejecución se puede lanzar una instancia de iBombShell, llamada warrior. Cuando el warrior es ejecutado sobre una máquina comprometida, éste se conectará a un C2 a través de protocolo HTTP. Desde el C2, el cual está escrito en Python, se puede controlar el warrior para poder cargar funciones a memoria dinámicamente y ofrecer la ejecución remota de funcionalidades de pentesting. Esto es ejecutado dentro del contexto de la fase de post-explotación. ¡A jugar!

martes, 31 de julio de 2018

ibombshell: Creando una función para macOS

El otro día hablamos en el blog de ibombshell, una herramienta escrita en Powershell que proporciona al pentester un prompt dinámico sin necesidad de instalar en memoria las herramientas que vaya a utilizar. En ese post ya mencionamos que gracias a la llegada de Powershell a macOS y Linux, la herramienta puede ser ejecutada en todas estas plataformas además de su entorno predilecto, Windows. Hoy vamos a indagar un poco más en como añadir nuevas funcionalidades que pudiéramos necesitar en ibombshell, en este caso enfocado a macOS. Powershell Core apareció en este sistema operativo en su versión 6.0 junto con ciertas funcionalidades destinadas a poder adaptar scripts a estas nuevas plataformas.

Las variables $IsWindows, $IsLinux, $IsOSX y $IsCore fueron incluidas para poder aplicar diferentes funcionalidades en scripts dependiendo del sistema operativo, junto con nuevos cmdlets adaptados a los sistemas operativos recién integrados. Uno de ellos es ‘system_profiler’, que al ejecutarlo en macOS obtenemos toda la información relativa al sistema. Este comando es muy extenso y pesado, por ello acepta argumentos para filtrar información relativa a una parte del sistema. Conociendo esto, vamos a incluir una nueva funcionalidad en ibombshell para sacar la información más general de un mac, la información del hardware y la de red.

Creando una función de ibombshell everywhere

Añadir una nueva funcionalidad en ibobmshell es un proceso relativamente sencillo, pero involucra una serie de pasos en los que es necesario tener una cuenta de GitHub y modificar determinadas URL en el proyecto. Los pasos son los siguientes: 
  1.  Crear un fork del repositorio oficial de ibombshell
  2. Cambiar la URL donde apunta la consola, y el módulo de python a nuestro nuevo fork. (Adicionalmente la función de bypassuac también apunta al repositorio principal, tendría que cambiar la url si es necesario su uso). 
  3. Crear una nueva función. En este caso creamos una carpeta nueva llamada macOS (data/functions/macos) con el fin de separar lógicamente funcionalidades orientadas a este sistema operativo con el resto y dentro de ella añadimos un nuevo fichero sin extensión (data/functions/macos/sys-info
  4. Añadir la función al fichero ‘functions.txt’ indicando el path. (macos/sys-info
  5. Realizar un commit con los cambios y subirlo a nuestro fork.
Figura 1: Función de Powershell para macOS

Una vez completado, solo queda probar la herramienta desde nuestro equipo con macOS. Hay que recordar que nuestra consola se encuentra en una url distinta a la oficial, por lo que debemos apuntar a nuestro repositorio.

> pwsh 
> iex (new-object net.webclient).downloadstring(‘https://raw.githubusercontent.com/lucferbux/ibombshell/master/console’)

Figura 2: Función ejecutada

Creando el módulo para el modo Silently

ibombshell tiene una funcionalidad muy interesante para ejecutar remotamente código desde un módulo escrito en python. El funcionamiento de este modo está descrito en el repositorio oficial, donde se explica como funciona la conexión entre el host principal y todas las máquinas controladas remotamente, llamadas warriors.

Para añadir una nueva funcionalidad solo es necesario crear un nuevo archivo python, añadir las opciones de ejecución para indicar el warrior a seleccionar, indicar el tipo de información a obtener y la función que queramos ejecutar.

Figura 3: Módulo en el modo Silently ejecutado

Una vez creado lo ejecutamos para comprobar que funcione correctamente, para ello creamos un nuevo warrior en una consola de powershell mientras ejecutamos el nuevo módulo creado en la herramienta de ibombshell en python.

jueves, 19 de julio de 2018

ibombshell: Tu shell de pentesting en macOS con Powershell

Hace ya un tiempo hablamos de la llegada de Powershell al mundo Mac y al mundo Linux. Una llegada más que interesante por la potencia y flexibilidad que proporciona esta línea de comandos en el mundo Windows. Lo que no teníamos tan claro es si, realmente, se le podría sacar el mismo partido que en la plataforma de Microsoft. Lo cierto es que de primeras, en Windows viene instalada por defecto, mientras que en Linux o Mac tienes que instalarla tú. Esto ya es un handicap, pero aún así puede ser más que interesante el instalarla. 

Recientemente hemos liberado una herramienta escrita, al menos gran parte, en Powershell, llamada ibombshell, cuyo objetivo es proporcionar al pentester un prompt dinámico con el que trabajar en un pentest en el que no tiene herramientas a mano o no tiene la posibilidad de utilizarlas. Con Powershell el pentester se descarga remotamente el prompt directamente a memoria y puede ejecutar funciones de pentesting. Todo en memoria.



Como se puede ver en el video, el pentester puede descargar desde el Github de ElevenPaths el prompt copiando y pegnado una línea en la PowerShell que ejecuta en su macOS. Una vez hecho esto, tiene disponible en memoria una función llamada console que al ejecutarse devuelve un prompt con funcionalidades de pentesting. La herramienta se encuentra en su versión 0.0.1b, es decir, en beta, por lo que poco a poco se va trabajando sobre ella y ofreciendo nuevas posibilidades y funcionalidades.  Cuando se selecciona una función nueva, ésta es descargada por la función console y se dispone en memoria para su ejecución. Como ejemplo en el video, se puede visualizar que se obtiene la función Invoke-PortScan del repositorio de Powersploit en Github. Esto es algo que es interesante y es la posibilidad de utilizar cualquier script que se quiera cargar.

miércoles, 27 de diciembre de 2017

ElevenPaths Talks: Pentesting con FOCA Open Source

El próximo 28 de diciembre de 2017, tenemos un nuevo ElevenPaths Talks, en esta ocasión un Special Edition, dónde hablaremos sobre la "nueva" FOCA. En este caso, será Pablo González el que llevará el timón del talk. Le acompañará Fran Ramirez. El talk Pentesting con la "nueva" FOCA nos enseñará las nuevas características de la nueva FOCA Open Source, cómo llevar a cabo la descarga y la instalación y casos de uso. Sin duda un exquisito talk para finalizar la tercera temporada de ElevenPaths Talks.

FOCA se creó hace diez años y es, a día de hoy, una de las herramientas de pentesting más descargadas y utilizadas por los desarrolladores. Esta versión renovada incluye, entre otros, un nuevo diseño y un código mejorado. FOCA Open Source se ha desarrollado con el objetivo de aumentar y actualizar las funcionalidades que ya tenía la primera versión de esta herramienta. Así, hemos logrado también mejorar la auditoría pentesting driving en la búsqueda de las vulnerabilidades más comunes. Si quieres profundizar en FOCA, puedes ver el libro de 0xword.

Figura 1: Pentesting con FOCA

La sesión comenzará a las 15.30, hora española. El talk dura unos 50 minutos, divididos entre 10 minutos de comentarios sobre noticias interesantes relacionadas con las diferentes temáticas, 30 minutos de debate entre dos de nuestros CSA y 10 minutos sobre consejos y herramientas. Se publicarán en nuestro canal de Youtube. Si te perdiste algún capítulo de la primera temporada o de la segunda temporada puedes revisarlos en el canal de Youtube de Eleven Paths. Además, no pierdas la ocasión de exponer tus ideas y hablar con otros usuarios en la Community de Eleven Paths ¡Te esperamos!

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.

martes, 23 de agosto de 2016

ZAP, Burp & Charles: 3 Proxies para pentesting en OS X

En el día a día del pentester seguramente tenga que hacer uso de los proxies. Seguramente conozcas estos tres tipos de proxies, Burp o ZAP son altamente conocidos en la comunidad de seguridad. En algunas ocasiones nos han preguntando por este tipo de software y su compatibilidad con OS X, por lo que hoy os traemos 3 proxies totalmente compatibles con OS X y que pueden ayudaros en vuestras auditorias y pentesting

El primero del que hablaremos es Burp Suite, quizá uno de los más populares debido al potencial que proporciona al usuario. La gente de Burp considera la herramienta como una plataforma de security testing para aplicaciones web, trabajando con varias herramientas a la vez bajo la misma plataforma. Tiene diferentes versiones, una gratuita y otra de pago. En su versión gratuita se limita el uso del Intruder, Scanner o el Analyzer, por lo que si te dedicas profesionalmente a esto te recomendamos la versión profesional. 

Figura 1: Burp  Suite

El segundo es ZAProxy, el cual es gratuito y pertenece al proyecto OWASP. El proyecto está mantenido por cientos de voluntarios alrededor del mundo. ZAProxy puede encontrar automáticamente vulnerabilidades en aplicaciones web mientras los desarrolladores testean sus aplicaciones. Además, puede ser utilizado por pentesters.

Figura 2: OWASP ZAProxy

El tercero es Charles, un proxy multiplataforma bastante potente, flexible y sencillo de utilizar. Tiene versiones para Windows u OSX y permite realizar pruebas de seguridad de forma sencilla. Tiene características interesantes como soporte para SSL y HTTPS, organiza las peticiones, cookies, headers y respuestas y registra todo el tráfico entre el navegador e Internet.

Figura 3: Charles Proxy

Como se puede ver son tres proxies interesantes y potentes que os ayudarán en vuestras auditorias o pruebas de seguridad en el proceso de desarrollo. ¿Cuál eliges?

domingo, 8 de mayo de 2016

En Junio las apps de iOS funcionarán en IPv6: Sí o Sí

Apple ha anunciado el proceso de transición hacia IPv6 Only, con lo que dejará de aprobar apps en el market de AppStore que funcionen sobre IPv4. Esto va a hacer que cuando los servicios de Apple dejen de funcionar sobre IPv4 muchas apps sin soporte dejen de funcionar sobre las plataformas de iOS. Pero esto puede ser aún peor para los dipositivos iPhone, iPod Touch o iPad antiguos sin soporte que están haciendo uso de servicios de Apple. Muchos usuairos tienen dudas de si dejarán de ser útiles si Apple hace la migración definitiva a IPv6 que ya se intuía con la aplicacación de Happy EyeBalls como algoritmo por defecto.

Figura 1: Apple comienza la transición hacia IPv6 Only

Lo que sí que es cierto es que, para auditores y pentesters, va a ser fundamental conocer cómo funciona en profundidad el protocolo IPv6, del que ya se conocen muchos ataques y formas de sacarle partido en determinados entornos, así que para que te pongas a trabajar desde ya, te dejamos una serie de recuros que pueden ser de utilidad, como esta conferencia que impartió nuestro compañero de Eleven Paths Rafael Sánchez sobre IPv6.

Figura 2: Montar un escenario de hacking IPv6 por 2 €

O algunos artículos con ataques man in the middle a iPhone & Android usando ICMPv6, nuestra herramienta Evil FOCA que explota otros muchos de estos ataques, o el buscador Mr Looquer creado por nuestros compañeros Fran y Rafa que busca servidores IPv6 en Internet. También puedes leer el libro de Ataques en redes de datos IPv4&IPv6 donde nuestro compañero Chema Alonso escribé sobre  IPv6 para describir los ataques que mostró en esta conferencia en DefCON.


Figura 3: Fear the Evil FOCA

Al final IPv6 iba a llegar y con la eclosión de los dispositivos IoT no es que se haya acelarado, es que se ha hecho fundamental aplicar IPv6 ya o la evolución de la conexión no dará más de sí con el esquema actual. Abraza IPv6.

martes, 17 de noviembre de 2015

Un error de Apple en la gestión de certificados provoca que los usuarios de OS X tengan que re-instalar aplicaciones

La gestión de certificados digitales en los servidores lleva a que los usuarios tengan que eliminar y volver a instalar todas las aplicaciones que han comprado o descargado de la Mac App Store. Algo extraño ocurrió, pero los usuarios de OS X se enfrentan a problemas con sus aplicaciones, ya que el certificado digital que utiliza Apple para prevenir que le suplanten la identidad o engañen a los usuarios expiró el miércoles. Esto no es la primera vez que le ocurre, y es algo bastante grave y que afecta a todos los usuarios que descargan o compran aplicaciones de su Store.

Las aplicaciones descargadas de la Mac App Store estuvieron temporalmente fuera de servicio en el Reino Unido hace unos días, cuando el certificado de seguridad expiró, 5 años después de su creación y si un reemplazo posible inmediatamente. Incluso, una vez que Apple fijo el error y emitió un nuevo certificado para las aplicaciones, el cual vence el mes de Abril de 2035, los usuarios podrían tener problemas aún. Los que no pueden conectarse a Intenet no pudieron verificar el nuevo certificado, mientras que los que se habían olvidado su contraseña de iCloud no pueden utilizar las aplicaciones descargadas hasta que puedan iniciar sesión. 

Figura 1: Error al arrancar aplicaciones

Algunos usuarios se vieron obligados a eliminar y volver a instalar todas sus aplicacones. Como se puede ver, algunos mostraron su frustración vía Twitter. El certificado caducado fue descubierto por un desarrollador de OS X e iOS llamado Paul Haddad.

Figura 2: Certificado caducado

En definitiva un problema de planificación en Apple. Este tipo de debilidades pueden afectar a la imagen corporativa y afectar gravemente a la seguridad de los usuarios.

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.

jueves, 8 de enero de 2015

Metasploit: Listado de módulos disponibles para OS X

Cada día que pasa Metasploit y su comunidad se hacen más y más grande, por ello hemos querido recopilar un listado de módulos, tanto de explotación como post-explotación, con los que ayudar a los pentesters que se enfrentan a los sistemas de Apple. Aunque para algunos puede parecerle que Metasploit es sinónimo de ataques a sistemas Microsoft, no es del todo cierto, ya que existe bastante contenido en lo que se refiere a los sistemas de Apple

Como prueba de esto en Seguridad Apple hemos publicado algunos artículos referenciando precisamente este hecho, por ejemplo bypasseando sudo en un OS X con el módulo sudo_passsword_bypass, como obtener los backups de iPhone e iPad con Metasploit, o como ponerse sexy antes de ser fotografiado por iSight gracias a una prueba de concepto generando un binario malicioso.

Los Módulos para OS X

Si visitamos el Github de Metasploit podemos observar diversos módulos, pero si nos centramos en la plataforma podemos listar los módulos para OS X. También debemos tener en cuenta qué tipo de módulo queremos para OS X, es decir, si queremos consultar un módulo de tipo exploit o post-explotación. En la ruta modules/exploits/osx podemos encontrar un listado de módulos de tipo exploit para los sistemas Apple.

Figura 1: Menú de exploits para OS X

En esta ruta encontramos una serie de carpetas que proporcionan al pentester una clasificación por protocolo o tecnología, es decir, si buscamos un módulo de tipo exploit para el protocolo FTP, o alguna aplicación que implemente dicho protocolo, que se ejecute en OS X deberíamos acudir a modules/exploits/osx/ftp. Podemos encontrar exploits para protocolos como HTTP, FTP, Samba, AFP, para el navegador Safari, pero también podemos encontrar exploits locales. En la ruta modules/exploits/osx/browser, referentes a navegadores, podemos encontrar:
  • mozilla_mchannel. 
  • safari_file_policy.
  • safari_metadata_archive.
  • safari_user_assisted_download_launch.
  • software_update.
De los comentados anteriormente el más nuevo es safari_user_assisted_download_launch que es de Marzo de 2014. Con este módulo se fuerza al navegador a descargar un paquete .app el cual contiene el payload.

Otra rama interesante a observar son los módulos de explotación local. Para lanzar estos módulos debemos tener una sesión abierta en la máquina remota con nuestro Metasploit. A continuación enumeramos los módulos:
  • iokit_keyboard_root.
  • nfs_mount_root.
  • persistence.
  • setuid_tunnelblick.
  • setuid_viscosity.
  • sudo_password_bypass.
  • vmware_bash_function_root.
El módulo sudo_password_bypass dispone de una prueba de concepto en Seguridad Apple. El módulo vmware_bash_function_root explota la vulnerabilidad de Shellshock en OS X. Para el protocolo Samba:
  • lsa_transnames_heap.
  • trans2open.
Figura 2: WebSTAR FPT Server User Overflow

Por último, para el protocolo HTTP se dispone de evocam_webserver, mientras que para FTP tenemos webstar_ftp_user. Son módulos de explotación de aplicaciones que se ejecutan en OS X, pero no son vulnerabilidades del sistema, por ejemplo la de webstar_ftp_user explota un buffer overflow.

Autor: Pablo González (@pablogonzalezpe)
Escritor del libro "Metasploit para Pentesters"

sábado, 27 de septiembre de 2014

ShellShock afecta a todas las versiones de OS X

Bash 3.2.51 en OSX 10.9.5
Seguramente has oído hablar del bug de ShellShock que afecta a todas las versiones Bash desde 1994 hasta la versión 4.3 que ha sido actualizada esta semana. Por supuesto, también afecta a las versiones de OS X, concretamente a todas desde Mac OS X 10.1 hasta OS X Mavericks 10.9.5. Este fallo permite que, en la definición de variables se pueda introducir comandos de consola después de que ha terminado la definición de la misma, lo que permitiría a un atacante remoto ejecutar lo que quiera si se inyecta dentro de esa definición.

Esto es algo tan sencillo como lo que puedes ver en la siguiente captura en la que después de la definición de la variable se ejecuta otra bash para que se haga un echo. Podría haberse lanzado cualquier aplicación o script que se hubiera querido.

Figura 1: Cuando acaba la definición, se ejecuta el comando

Esto abre las puertas a ataques remotos vía web, tal y como se ha podido ver en el blog de Eleven Paths donde se han explicado con detalle todas las formas de sacar partido de esta vulnerabilidad en un servidor web. En el sistema de pentesting persistente Faast se introdujo un plugin de detección de este bug en las primeras horas de vida para que nuestros clientes pudieran estar informados de qué servidores se veían afectados por este fallo.

Figura 2: Inyección de una shell en una web vulnerable vía USER-Agent usando ShellShock

En los sistemas OS X, se podría explotar o bien vía servidor web con aplicaciones cgi corriendo sobre un OS X Server, o bien sobre un cliente que tenga habilitado el acceso de invitado. Por eso os recomendamos que deshabilitéis ese usuario. Lo peor es que Apple no va a sacar parches para los sistemas OS X anteriores, así  que un bug tan grande obligaría a los usuarios de Snow Leopard o anteriores a erradicar esta shell de su sistema... o atenerse a las consecuencias.

viernes, 14 de febrero de 2014

K0SASP: Pentesting desde Mac OS X

Muchos de los que utilizamos Mac OS X y nos dedicamos al mundo de la seguridad no nos queda otro remedio que utilizar máquinas virtuales para poder hacer las auditorías. Normalmente lo que más se suele utilizar es una disto tipo Kali Linux si no optamos por instalar un sistema operativo desde cero y cargarlo con todas las herramientas que más nos gusten y que mejor nos convengan en una máquina virtual que llevamos siempre encima copiadas en el disco duro en algún disco USB. Pero estas soluciones no dejan de ser en máquinas virtuales.

Si bien es cierto que la gran mayoría de los programas que se encuentran para Linux o Windows, en cuento a seguridad, pentesting y hacking, los podemos encontrar también para OS X, muchas de ellas requieren de su compilación e instalación. Por no hablar de que para todos nosotros es mucho más cómodo algo donde ya venga instalado todo, y no tengamos que buscar cada una de las herramientas, instalarlas y compilarlas una a una. De esta idea nace K0SASP.

Figura 1: K0SASP en Mac OS X

K0SASP es un paquete de instalación que incluye un gran numero de programas como los que se encuentran en Kali Linux o Back Box, pero portados a Mac OS X, ordenados y organizados por categorías. Sin la necesidad de tener que buscarlos ni compilarlos. Por debajo de este Paquete de Instalación corren una serie de scripts que son los encargados de desplegar cada una de las aplicaciones. Gracias a éstos también se instala el software de terceros que se requiera para la el funcionamiento de otras aplicaciones. Su uso y configuración son sencillos ya que como en cualquier otra instalación que incluya más de un software nos permitirá seleccionar cuál de ellos queremos instalar.

Figura 2: Instalación de K0SASP

Cuando la instalación haya terminado se mostrará la carpeta donde se almacenan todos los programas listos para su uso. Aunque la capeta incluya todo el software ordenado y categorizado, se han creado enlaces simbólicos para poder lanzar cada programa desde la Terminal, facilitando el uso de las herramientas, puesto que existen herramientas como Metasploit o weevely que siempre tendrán que ser lanzadas desde el Terminal.

Figura 3: KOSASP en Mac OS X

Esta es la primera versión que sale de K0SASP, su imagen tiene un tamaño aproximado de unos 800MB, aunque tras su instalación ocupa casi 2Gb. ¿Qué software incluye?

Information Gathering   
TheHarvester
- Nmap
- Zenmap
- Maltego
- Knock-scan
- Keepnote
- Dnsmap(new)

Web Exploitation
- Burp Suite
- Sqlmap
- ncat
- Fimap
- weevely(new)
- Slowhttptest(new)


Sniffing
- TCPDump
- Wireshark
- Sslstrip(new)

Password Cracking
- Hydra
- John The Ripper

Connections
 -Cyberducks(new)
- DBeaver(new)

Forensic Analysis(new)
- Binary Cookie Reader
- iExplorer
- SQLite Pro Reader

Network Exploitation
- Metasploit(new)
- Setoolkit(new)

Vulnerability Analysis
- Owasp ZAP
- Vega
- Nikto
- Joomscan
- GoLISMERO(new)

Anonymity
- Tor+TorBrowser

Software requerido
- PyGTK
- XQuartz
- Command Line Tool

Aunque ya haya salido su primera versión aun le queda un largo recorrido para llegar a tener un amplio abanico de programas que puedan cumplir con las necesidad de cada auditor. Entendemos que en futuras versiones se irán implantando nuevas mejoras y más programas.

Figura 4: Metasploit, nmap, SQLmap y Weevely corriendo en Mac OS X
Autor: Ismael González

lunes, 10 de febrero de 2014

DViA: Damn Vulnerable iOS Application

Al igual que existen entornos web de prueba para que los pentesters puedan analizar sus herramientas y conocimientos de seguridad, desde Cyberhades nos han informado de la existencia de Damn Vulnerable iOS Application, una app para iOS llena de vulnerabilidades para que puedan probarse los principales fallos encontrados en las apps hoy en día, algo que como hemos visto en múltiples ocasiones es bastante común entre los desarrolladores menos preocupados por la seguridad. Esto no solo afecta a pequeños desarrolladores, sino que aparece en apps de Dropbox, Starbucks o incluso en las apps que se integran con tus cuentas de Twitter generando un gran riesgo.

El proyecto ha incluido en una sola app vulnerable los siguientes fallos de seguridad, reconocidos todos ellos en el OWASP Mobile Security Proyect - Top Ten Mobile Risks. Esta es la lista de vulnerabilidades que debes localizar en esta app de prueba:
  1. Insecure Data Storage
  2. Jailbreak Detection
  3. Runtime Manipulation
  4. Transport Layer Security
  5. Client Side Injection
  6. Information Disclosure
  7. Broken Cryptography
  8. Application Patching
De todas estas vulnerabilidades hemos hablado largo y tendido en este blog, pero puedes aprender más en los libros de Desarrollo de apps para iOS: Essentials y Hacking iOS: iPhone & iPad, y además puedes aprender más en la página web del proyecto, con el objeto de que tus apps no acaben apareciendo en una de las listas de seguridad por tener un fallo gordo.

lunes, 13 de enero de 2014

Estudio revela graves fallos en las apps de banca para iOS

Casi todos los bancos hoy en día, por no decir todos, cuentan con apps para el sistema operativo iOS que permita a sus clientes gestionar sus cuentas desde terminales iPhone o iPad. Con 40 de las apps, pertenencientes todas ellas a bancos del Top 60 mundial, el investigador Ariel Sánchez, de la conocida empresa consultora en seguridad informática IOActive, decidió hacer un estudio mirando la calidad y seguridad de las mismas. Las apps fueron elegidas de bancos distribuidos geográficamente por todo el mundo, tal y como se puede ver en este gráfico.

Figura 1: Distribución de los bancos dueños de las apps auditados en este estudio

En solo 40 horas de trabajo, probando una serie de tests de seguridad orientados a validar la seguridad únicamente del código del cliente, es decir, sin mirar ni probar nada en el lado del servidor. Para las pruebas se utilizaron las herramientas ootol, el popular Burp Pro y conexiones SSH al terminal con jailbreak sobre el que se corrieron las apps. El resultado del número de bugs encontrados está recogido en la siguiente gráfica.

Figura 2: Resumen de vulnerabilidades encontradas en las apps

Según se publica en los resultados, algunos datos arrojan apps peligrosas:

- 40 % de las apps no validan la autenticidad del certificado del servidor: Es decir, que no hacen las validaciones oportunas para comprobar que es el correcto, como podría ser hacer un uso de Certificate Pinning lo que dificultaría la posibilidad de hacer ataques Man in the middle. Esto es algo que en el pasado le ocurrió a la propia app de Paypal para iOS.

- 90 % de las apps contienen links en las UIWebViews que no van bajo SSL: lo que permite interceptación de datos e inyección de comandos JavaScript/HTML en el cliente para hacer ataques que permitan robar datos e incluso enviar mensajes SMS o e-mails desde el terminal.

Figura 3: Códigos JavaScript/HTML inyectados bajo un ataque man in the middle

Entre otros ataques, por supuesto está como se ve en la imagen superior la posibilidad de inyectar un falso formulario de login que haga phishing a través de la UIWebView para robar las credenciales. El formulario de este ejemplo es el siguiente código inyectado.

Figura 4: Código inyectado para hacer el robo de credenciales con un falso login

- El 70 % de las apps no tenían una autenticación de segundo factor disponible: En estos casos hace referencia a que los usuarios se pudieran autenticar con tokens RSA, validación con mensajes enviados por SMS o el uso de alguna tecnología similar a Latch para aprobar si la cuenta está activa o desactivada - puedes probarlo en el banco de pruebas Nevele Bank -.

- Ficheros de log con información sensible: La mayoría de los ficheros de log cuando se produce un crash de la app contenían información sensible filtrada que podrían ayudar a un creador de exploits a preparar un 0day contra esa app en el cliente en un esquema de ataque APT client-side.

Figura 5: Informe de crash con información leakeada

A esto hay unir que menos del 20 % de las apps no tenían activadas las opciones de Position Independent Executable (PIE) y Stack Smashing Protection que ayudarían a dificultad la creación de exploits consistentes.

- Uso incorrecto de información de debugging en el ASL: También la mayoría de las apps hacían el uso abusivo de datos al Apple System Log, dando como resultado fugas de información que podrían ser accedidas por otras apps dentro del mismo terminal.

En una segunda parte del estudio se hizo un análisis estático de las apps utilizando las herramientas de ingeniería inversa como gdb, IDA Pro, Clutch o IPCU, pudiendo sacar datos más que jugosos de cómo están construidas algunas apps, como pueden ser los siguientes:

- Credenciales de desarrollo hardcoded en el código: En una app se pudo acceder a un usuario y contraseña utilizado en proceso de desarrollo de la app que se había quedado en la compilación.

Figura 6: Credenciales usadas en el desarrollo de la app almacenadas en el código

- Fuga de información de infraestructura: En muchas apps era posible conocer la estructura del sitio del servidor sólo con analizar el código, donde se puede acceder a URLs internas de la organización escritas en él.

Figura 7: Información de URLs de las apps

- Fugas de informaciones menores: También algunas apps contenían información de los servidores internos utilizados y rutas de ficheros de los equipos de los desarrolladores.

Figura 8: Direcciones IP internas y rutas locales de usuarios desarrolladores

Por último, muchas de las apps hacen uso de almacenamiento inseguro de información, algunas de ellas en bases de datos SQLite sin cifrar que permiten acceder a datos de las cuentas de los clientes de las apps de forma muy sencilla.

Figura 9: Bases de datos SQLite con información sensible sin cifrar

Hay que recordar que el uso de bases de datos SQLite puede llevar a que mucha de la información que de ellas se borra pueda ser recuperado por servicios como Recover Messages que es capaz de localizar las páginas borradas y recomponer los datos para extraer qué registros fueron borrados de cualquier base de datos SQLite.

domingo, 12 de enero de 2014

iNalyzer: Un framework para analizar aplicaciones iOS

Dentro de la revista de Hack in the Box Magazine #10 - de la que hablamos hace poco por aquí sobre el artículo de cazar rootkits de Mac OS X en memoria - hay otro interesante artículo que merece la pena destacar. En este caso es sobre iNalyzer, un framework para analizar apps de iOS de forma cómoda y eficiente. La idea de iNalyzer es conectar el un equipo con el terminal iOS para poder ejecutar las aplicaciones de auditoría a las que están acostumbrados los pentesters, como pueden ser Burp Intruder, los editores de todos los formatos o las herramientas de debuging en tiempo real.

El artículo se encuentra al final de la revista, pero se basa en una presentación que se hizo en OWASP 2012 en Israel por la empresa AppSec, que puede ser descargada desde aquí. El framework de iNalyzer necesita una app que puede ser descargada desde Cydia gratuitamente, por lo que necesariamente se necesita contar con un terminal con Jailbreak para correr este entorno de auditoría.

Figura 1: Análisis de apps para iOS con iNalyzer

En el siguiente vídeo se puede ver una pequeña demostración de como iNalyzer se utilizar para saltarse en tiempo real la pantalla de Login de iSafePlay, haciendo un bypassing de la autenticación en tiempo real.


Figura 2: Con iNalyzer haciendo un bypass de login a iSafePlay

Si te dedicas o quieres dedicarte a analizar la seguridad de apps de iOS, debes echarle un vistazo sin duda, pues ofrece utilidades que tal vez puedan ayudarte o completar el arsenal de ellas que ya tengas.

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