Pentesting de aplicaciones móviles: iOS. Parte 2

Buenas a todos, en el post de hoy continuaremos con nuestra cadena de artículos sobre pentesting de aplicaciones móviles en iOS, hablando sobre la instalación de Burp para comenzar a interceptar peticiones, paso en el que nos quedamos en el último post.

Partiendo de nuestro acceso al dispositivo como usuario root, vamos a instalar desde Cydia los siguientes elementos:
  • BigBoss: Que contiene una lista de herramientas de línea de comandos muy útiles del tipo wget, unrar, less, etc.
  • adv-cmds: Que incluye algunos comandos avanzados del tipo finger, fingerd, last, lsvfs, md, y ps.
  • IPA Installer Console: Que permite instalar y extraer IPAs desde la consola de comandos.
  • cycript: Que permite inyectar código en procesos, entre otras cosas.




A continuación, lo siguiente que necesitaremos hacer será instalarnos algún proxy de interceptación como Burp, una de las herramientas más utilizadas en pentesting para la interceptación de peticiones. Para más información sobre Burp Suite Scanner os remitimos a su página oficial:


Ahora entraremos desde el termnal iOS al sitio web: "http://burp", configurando previamente el proxy de Burp:


Permitimos los ajustes que nos indica:



 Posteriormente instalaremos el perfil de Burp:


Ahora entraremos en Ajustes / General / Información /Ajustes de confianza de los certificados, tal y como se puede ver en la siguiente ventana, donde el certificado aun no es de confianza:



Y lo activaremos con el check pertinente:



Con todo esto ya estaremos listos para comenzar a interceptar las peticiones de nuestras APPs con Burp desde un ordenador.


Eso es todo por hoy, ¡nos vemos en el próximo post!




Participamos en el especial sobre Bug Bounty programs de IT Digital Security




Nuestro CEO Juan Antonio Calles ha participado en el número especial sobre Bug Bounty programs que IT Digital Security ha dedicado este mes, para hablar sobre las vulnerabilidades identificadas por los investigadores de ciberseguridad y los procesos de notificación a los diferentes proveedores.

Podéis acceder al número completo gratuitamente desde el siguiente enlace:

@elconfidencial se hace eco de nuestro trabajo sobre almacenamiento de datos en ADN bacteriano

El diario 'El Confidencial' se ha hecho eco de nuestro trabajo acerca de la tecnología Bacter10, y que tuvimos la oportunidad de presentar en el congreso RootedCON 2018. Tenéis todos los detalles AQUÍ.



Se trata de una investigación conjunta dirigida por el Dr. Juan Antonio Calles de ZeroLynx junto a la Dra. Patricia Rada del Instituto de Investigaciones Biomédicas Alberto Sols, acerca del almacenamiento de información en ADN en organismos vivos, concretamente en bacterias. 

Podéis acceder a la noticia completa desde el siguiente enlace:

Pentesting de aplicaciones móviles: iOS. Parte 1

Realizar un hacking ético sobre una aplicación móvil es una tarea técnica que requiere de una serie de tecnologías y procedimientos diferentes a las de los pentests web tradicionales. 

La arquitectura de estas aplicaciones suele ser por lo general similar a las de un front web, realizando una comunicación con un back-end donde se almacenan los datos necesarios para el funcionamiento normal de la aplicación, sus configuraciones y demás datos relevantes.

El problema que presentan las APPs para smartphones a la hora de realizar un hacking ético es que los móviles no nos brindan las capacidades suficientes para acceder a esas aplicaciones a nivel de código, tráfico de red, etc., tan necesarias en un pentest, por lo que seguimos manteniendo la necesidad de conectarnos de alguna manera a un ordenador. A este problema se ve sumado que por norma general los smartphones vienen protegidos, sin permisos de super usuario, lo que imposibilita llevar sus capacidades hasta el límite que necesitamos en el mundo de la ciberseguridad. Es por ello, que se requiere disponer de terminales con permisos totales, es decir, root en Android y jailbreak en iOS.

Android es un sistema operativo más abierto, por lo que es relativamente sencillo adquirir en el mercado terminales con usuario Root de origen. Así mismo, también es sencillo escalar privilegios mediante alguna vulnerabilidad conocida.

iOS por el contrario es un sistema muy cerrado, en el que conseguir un jailbreak no es trivial. Son pocos los exploits que salen al mercado, y no siempre son tan rápidos como necesitaríamos. Además, en el día a día del pentesting, las APPs que van saliendo se hacen incompatibles con versiones anteriores de iOS, por lo que constantemente tendremos que disponer de los últimos iPhone/iPad, ya que la obsolescencia programada de los sistemas operativos impide contar con un iPad 4 con iOS 11, por ejemplo.

A día de hoy, la mejor opción para el pentesting de aplicaciones iOS es la versión 10.3.3. Dispone de jailbreak tethered y semi-tethered para versiones de 32 y 64 bits y conseguir un iPhone 5 o superior, o un iPad 4 o superior es relativamente sencillo. 

Tras conseguir un terminal iOS con permisos de super usuario, necesitaremos instalar OpenSSH, para poder conectarnos desde un PC por ssh al dispositivo. Para esta labor podremos contar con Cydia.

Una vez instalado OpenSSH, veréis como el puerto 22 de vuestro terminal iOS ha sido abierto:


Ahora podremos conectarnos por SSH al dispositivo con el usuario "root" y la password "alpine":




Una vez dentro del terminal como usuario Root, procederemos a instalar la APP en sí que necesitamos auditar.

El próximo día hablaremos sobre la instalación de Burp para comenzar a interceptar peticiones de las APPs iOS que pentestearemos.

¡Saludos!

ZeroLynx participará en el evento #HowToHack

El próximo viernes 16 de Marzo, nuestro CEO Juan Antonio Calles participará en el evento #HowToHack, con una charla sobre blockchain, criptomonedas y ciberseguridad.

Este evento de corte distendido propone juntar en un bar de la ciudad de Madrid a gente interesada en ciberseguridad. En esta edición, el bar seleccionado ha sido "+ Ke Copas", ubicado cerca de Gran Vía, en la Calle Infantas 13. 





El evento es totalmente gratuito y dará inicio a las 16:00h. ¡No faltéis!

Más información y registro en: 




Publicado un nuevo fork de la herramienta FluScan, con análisis de blacklists

Buenas a todos, como muchos ya sabréis, durante el pasado año 2017 desde el equipo de Flu Project y del que tengo el placer de formar parte, desarrollamos un escáner que permitía automatizar la recopilación de información en Internet indicándole un rango de IPs. Esta utilidad bien dimensionada, podría ser utilizada de forma sencilla para construir una base de datos tipo "Shodan", mediante un sistema de almacenamiento basado en MongoDB. Si queréis saber más acerca de como fue el proceso de desarrollo, os invitamos a leer la cadena de artículos original aquí.

Desde ZeroLynx hemos querido añadir una simple mejora a la utilidad, que nos era muy útil en nuestro día a día, y era la posibilidad de además de extraer toda la posible información de una dirección IP (hostname, puertos y servicios, banners, etc.), comprobar si esa IP está en blacklist, para luego proceder a un análisis más exhaustivo de cara a poder alertar a nuestros clientes de un posible problema. Con esa intención hemos generado un nuevo fork de la herramienta, al que podréis acceder gratuitamente desde nuestro GitHub.

Para utilizar esta herramienta tan solo tendréis que clonaros el proyecto, y hacer un par de instalaciones sencillas en cualquier sistema operativo Linux:


A continuación deberéis abrir el archivo "FluScan.py" e indicar los datos que os menciona la propia herramienta, que ya contiene mensajes auto-explicativos (IP inicial, IP final, cadena de conexión al MongoDB donde se almacenarán los datos, y token Hetrix, si está marcado el flag a True, sino, no es necesario dicho token):


Para el análisis de las IPs en blacklist nos hemos decantado por el API Hetrix, que permite generar tokens gratuitos de 100 análisis, y que posteriormente podéis aumentar mediante una cuota bastante económica.

A continuación os compartimos un ejemplo del resultado que devuelve la herramienta para el análisis de una dirección IP perteneciente a un servidor de DNS:



Eso es todo, disfrutad de la aplicación:


¡Saludos!

Publicada la presentación sobre #Biohacking "Almacenando datos en bacterias" mostrada en @RootedCon 2018

Buenos a todos, el pasado viernes 2 de marzo a las 10:00h, la Dra. Patricia Rada y un servidor, el Dr. Juan Antonio Calles (CEO de ZeroLynx), presentamos en el congreso internacional de ciberseguridad de la información, RootedCON 2018, una investigación conjunta acerca del almacenamiento de información en ADN en organismos vivos, concretamente en bacterias. A lo largo de los últimos días hemos recibido tanto en ZeroLynx, como a nivel personal, un gran número de peticiones de personas que no pudieron asistir al evento, y tienen un gran interés en la propuesta que hicimos a nivel informático para mejorar el sistema de codificación y empaquetado de datos en ADN de organismos vivos, partiendo de las investigaciones existentes hasta el momento, por lo que hemos decidido publicar este artículo en nuestro blog y compartir con todos vosotros las slides de nuestra presentación, las cuales encontraréis al final del post.

Antecedentes

En el verano del año 2017 se publicó un gran trabajo en una de las revistas científicas más importantes del mundo dentro del campo de la Biomedicina, la revista Nature, que hablaba sobre un grupo de investigación que había sido capaz de codificar varias imágenes y un gif en el ADN bacteriano mediante la técnica CRISPR, descubierta por primera vez por el español Francis Mójica.




Fuente: Shipman, S. L. et al. 2017

Los loci CRISPR son familias de secuencias de ADN viral insertadas en el cromosoma bacteriano. Estas secuencias contienen fragmentos de ADN del virus invasor, denominado protospacer, que han infectado por primera vez a las bacterias. Estos fragmentos son utilizados por la bacteria para detectar y destruir el ADN de nuevos ataques de virus similares, y así poder defenderse eficazmente de ellos. Estas secuencias juegan un papel clave en los sistemas de defensa bacterianos, y forman la base de una tecnología conocida como CRISPR/Cas9.

En términos técnicos, el sistema CRISPR/Cas9 es un sistema inmune procariótico que confiere resistencia a agentes externos como plásmidos y fagos,​ y provee una forma de inmunidad adquirida. Los protospacers o secuencias de los CRISPR reconocen secuencias específicas y guían a las nucleasas cas (“tijeras moleculares”) para cortar y degradar esos elementos génicos exógenos.

Cuando estuvimos analizando este trabajo, vimos que desde el punto de vista bioquímico era un paso de gigante que iba a ser la base de muchos avances futuros, pero nos dimos cuenta que desde el punto de vista informático podría ser mejorado a nivel de compactación y de automatización.

En el trabajo que hemos presentado en RootedCon 2018, hemos mostrado dos versiones del software Bacter10, una aplicación que hemos desarrollado para generar automáticamente los protospacers utilizados para integrar en el ADN bacteriano cualquier tipo de dato, y en cualquier codificación, partiendo de un archivo como pueda ser una imagen, un video, una canción o un fichero de texto plano, por ejemplo. 

La primera versión de Bacter10 utilizaba un diccionario común para codificar todos los protospacers. Para el análisis estadístico, realizamos un estudio procesando más de 10.000 archivos con diferentes posibles secuencias de ADN para probar su eficacia y eficiencia. Tras este estudio, cuyos resultados pueden observarse en las gráficas siguientes y en el que hemos recuadrado en rosa los mejores casos, nos dimos cuenta de que, a día de hoy con la tecnología actual, no es viable, porque la desviación media de Citosinas y de Guaninas difiere demasiado del 50% en algunos protospacers. Este número es al que deben aproximarse para que los datos codificados sean integrados en el cromosoma bacteriano con éxito.


Resumen estadístico tras codificar 10.000 archivos en bases de ADN

Tras llegar a un camino sin salida con el primer algoritmo, diseñamos una segunda versión que utilizaba diccionarios diferentes para cada protospacer, y lo fuimos puliendo hasta encontrar el algoritmo más óptimo de codificación que solventase ciertas restricciones que tenía la codificación en bacterias, como eran por ejemplo el tener que contar con un número limitado de bases iguales repetidas (3 o más), el tener que contar con un número equilibrado de Citosinas y de Guaninas, frente a Timinas y Adeninas, o la mera limitación de espacio de 35 bases por protospacer.


Ejemplo de ejecución del software Bacter10 v2.0 sobre un archivo de 100 bytes

Aunque el límite de almacenamiento de datos en bacterias con estas técnicas es aún teórico, debido a las restricciones técnicas del sistema, la ciencia y la tecnología avanzan muy rápido, y no es descabellado pensar que podremos almacenar hasta 455 exabytes por gramo de ADN. 

De acuerdo con la IDC (International Data Corporation), se estima que el volumen de datos mundial de Internet alcanzará los 40 Zetta Bytes, ZB (40.000.000.000 Tera Bytes) en 2020. Por tanto, en base a los cálculos teóricos, estos 40 ZB podrían almacenarse en ~90 gramos de ADN, es decir, en menos de lo que ocupa la lata de un refresco.

Sólo para hacer una estimación, el ADN de una sola célula humana que contiene 3.3 x 109≈3.3 mil millones de bases, pesa 3.6 picogramos. Es decir, cada humano tenemos alrededor de 200 gramos de ADN en nuestro interior. 

¿Futuro o presente? Pronto lo sabremos.


Si queréis contar con más detalle sobre el trabajo, o hacernos alguna propuesta de colaboración, podéis enviarnos un email a [email protected]




Fotografías del evento RootedCON 2018