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

16 septiembre 2015

El investigador de seguridad Mark Dowd ha descubierto una vulnerabilidad MUY grave en una librería presente en iOS y OSX, y fácilmente explotable a través de la aplicación AirDrop (propia de dispositivos Apple para intercambio de archivos) que permitiría la escritura de ficheros de forma ajena sobre sistemas iOS y OSX.

El video que incluimos a continuación, grabado por el propio investigador, demuestra dicha vulnerabilidad. Se puede ver el exploit para iOS 8.4.1:



Justo hoy se ha hecho pública la actualización de iOS 9, y esta vulnerabilidad obliga a todos sus usuarios la actualización de forma urgente. Dicha actualización no soluciona la vulnerabilidad por completo, pero si que ofrece una mitigación
Leer más...

06 mayo 2015

get-mobility-info: Recopilando información útil sobre un Mac OS X




Si la semana pasada hablábamos sobre OSQuery como una excelente solución que nos podía ayudar en el trabajo de un análisis forense sobre sistemas operativos Linux y Mac OS X, hoy me gustaría hacerlo sobre la información que nos puede otorgar get-mobility-info.

Se trata de un script en BASH, que se encuentra en /System/Library/Frameworks/SystemConfiguration.framework/Resources/get-mobility-info.

Aunque se puede ejecutar de manera directa, es normalmente llamado desde /usr/bin/btmmdiagnose, otro script en BASH que se encuentra en /usr/bin/, y ambos vienen de forma nativa con Mac OS X desde la versión 10.9, por lo que no implica la instalación de nada nuevo, como sucedía con OSQuery.

btmmdiagnose está pensada para enviar a Apple un tarball que contendrá logs y ficheros de texto de la configuración de un sistema operativo Mac OS X concreto.  De hecho, las siglas BTTM se refieren al programa Back to My Mac, requerido por Apple para dar soporte cuando cuando un usuario se queje de algún problema.

En el caso concreto de get-mobility-info, su ejecución es sumamente sencilla:




Se generará un fichero tar.gz con el formato mobility-info-fecha.hora.tar.gz

Si descomprimimos el fichero nos encontraremos con un montón de información que este script ha recopilado por nosotros, y que podremos analizar con total tranquilidad en otra máquina en busca de la causa del problema, analizar la actividad de los usuarios del sistema o de algún proceso malicioso que esté ejecutándose. 

Recordemos que en Mac, por supuesto, también hay malware, del que deberíamos estar lo más protegidos posible, así como unas cuantas opciones de configuración de sistema operativo que no vienen por defecto habilitadas, pero que nos pueden evitar unos cuantos dolores de cabeza.

Entre los ficheros generados por otros helpers a los que llama get-mobility-info y/o consolidados de sistema, bajo estas líneas os dejo un pantallazo con la lista completa, aunque me parecen de especial relevancia el fichero ps, syslog, lsof, dmesg, appfirewall.log, pf, DiagnosticMessages, kextstat (que indica qué kernel extensions tiene cargadas en memoria el equipo), preferences.plist (con opciones de configuración de la herramienta de Preferencias de sistema), etc,…



Leer más...

01 septiembre 2014

Comiendo con Steve Wozniak



Quien sigue a Steve Wozniak por twitter, estará al tanto de sus movimientos y sus citas con fans que registra en FourSquare. Pues bien, hoy os quiero contar que he tenido el gran placer de ser uno de esos afortunados que ha podido compartir mesa con Steve y conocerle un poco más.

El escenario fue el Mandarin Gourmet en Cupertino, a escasos metros de los Headquarters de Apple, empresa que él mismo cofundó con Steve Jobs, y desde la que contribuyeron en gran medida a ser gran protagonista de la Historia de la Informática.

Aprovechando un viaje a San Francisco, contacté con Steve para encontrarnos en alguna parte en el Sillicon Valley. La agenda de Steve es muy apretada, y da un montón de vueltas alrededor del Mundo, pero justo la semana que le propuse, estaría en Estados Unidos. Así pues, nos sentamos a la mesa con su esposa, Janet Wozniak, y con otro fan italiano, que Steve aprovechó para contentar en la misma ocasión con sus aventuras del pasado.

Estoy seguro que muchas veces habéis escuchado la pregunta. Si pudieras estar a solas con “tu artista favorito”, ¿qué le preguntarías? Pues eso mismo me pasó a mí. Pese a haberle entrevistado hace años cuando vino a Campus Party 2010 en Valencia, los cinco primeros minutos de dicha comida se me olvidó hasta el idioma. 

Sin embargo, Steve está acostumbrado a romper el hielo en este tipo de situaciones, y le gusta llevar la voz cantante de la conversación. Había leído historias muy curiosas sobre él en el libro de Cyberhades “Microhistorias: Anécdotas y Curiosidades de La Informática”…. como cuando haciendo Blueboxing llegaron a llamar al Vaticano y hablaron con el Papa! o cuando Steve Jobs recurrió a él trabajando en Atari y le pidió que diseñara e implementara un juego con el menor número de chips posible y que les pagarían 1000 dólares por cada chip menos que utilizasen si la cantidad inferior era menor a 50 (que creo que quedó en 45 al final)…. 

Parte de la conversación estuvo dedicada a repasar este tipo de anécdotas, que sin desmerecer la excelente redacción del libro de Cyberhades, que sea el propio Wozniak quien te las cuente genera una sensación que no soy capaz de relatar con palabras de este planeta.

Nos contó igualmente anécdotas de cuando trabajaba en Hewlett-Packard, diseñando calculadoras y sobre cómo se había solucionado un problema relacionado con el cómputo de cálculos con diferentes operandos, entre los que aparece la raíz cuadrada, haciéndolo mucho más eficiente que el equivalente de Texas Instruments, su principal competencia en aquella época.   

Estuvimos hablando también sobre su vida actual, en la que confesó que ya no tiene tiempo para el hacking hardware del que en una época fue un referente, y que se la pasa viajando alrededor de todo el mundo, dando conferencias y haciendo otro tipo de trabajo relacionado con la informática.
  
Muy simpática y agradable su esposa y fiel escudera Janet, que le ayuda a gestionar su agenda y redes sociales, imagino que entre otras tantas actividades. Hace unos meses le regaló por su cumpleaños un Tesla, que tenían aparcado en la puerta del restaurante,… y al que reconoció que no le ha querido meter mano ni para ganar el “Bug Bounty” de los 10.000 dólares, ni por mera curiosidad. Nos estuvo contando los miles de servicios que el fabricante les daba, entre otros localización GPS y monitorización del estado de los sistemas del coche, actualizaciones de firmware, etc,… que me pusieron los dientes largos y los pelos de punta por la cantidad de "posibles delitos" que se me pasaron por la cabeza.

Sorprende la calidad humana y la accesibilidad de Steve, que gozando de la popularidad que tiene, y moviéndose en los círculos que se mueve, te ofrece una accesibilidad y una llaneza extremas, haciéndote sentir cómodo en todo momento. Fue curioso, porque me preguntó que a qué me dedicaba (y aparte de llevarle una camiseta y una taza de Securizame de regalo) estuve contándole que participaba asiduamente como speaker en Congresos de Seguridad en España y Latinoamérica. Le conté uno de los proyectos de los que me siento más orgulloso, y que vosotros lectores de SbD, seguro conocéis, respecto a seguridad y domótica, la integración de mi “Skynet” casero, y la cantidad de cosas que hace mi bot. 

Pude comprobar en su mirada, cómo le brillaban los ojos cuando le hablaba de todos los módulos que integré, el reconocimiento facial hecho con OpenCV, que identifica al habitante que entra en casa, la activación de la alarma automáticamente, el aire acondicionado, las persianas y toldos por X10 según esté o no de vacaciones, y según los datos de la estación meteorológica de la terraza, así como el control automático y monitorización de mi querida Roomba a través de bluetooth. Mientras relataba todo esto, me interrumpía constantemente con dudas sobre lo que le explicaba, y al final de la comida, dijo que había disfrutado con cosas como las que le había contado, y que le había resultado muy gratificante "compartir historias, en ese rato, con otro hacker tan loco como él" (aunque obviamente a millones de años luz de lo que hacía Wozniak). 

Quedé en enviarle un link al video de la charla que dí en RootedCON en 2012, y un video “no oficial” que me grabó @mfvitale en Ekoparty con los últimos 30 minutos de "Welcome to your secure /home, $user" (ya que el video oficial no está disponible en el archivo de la página de Ekoparty).

Por ésta y por otras tantas situaciones vividas, os aseguro que este será un viaje que permanecerá en mi memoria para siempre. 
Leer más...

19 agosto 2014

Análisis de phishing que simula el portal iTunes Connect de Apple


Revisando los correos que llegan a SPAM, en ocasiones te puedes llevar más de una sorpresa. Sin ir más lejos, ayer 17 de Agosto recibí un correo con el alarmante asunto Apple: Your account has been frozen, que más o menos venía a decir que mi cuenta de Apple había sido congelada a la espera de que confirmase algunos datos:
Spam supuestamente de Apple para reactivación de cuenta de iTunes

Analizando el mensaje original, incluyendo las cabeceras del correo, podemos comprobar como se utilizó un script PHP de envío de correo a través de internet, el cual se encuentra en la siguiente ruta (reflejada por completo en la cabecera X-PHP-Script:

Extracto de las cabeceras del e-mail
Como veréis en la segunda linea de la imagen, la cabecera X-PHP-Script contiene la ruta completa al fichero temp.php dentro del dominio every-tickets.com (que seguramente fuese comprometido previamente para contener este tipo de scripts de envío de correos de forma anónima):

Script PHP de envío de correos anónimos a través de un servidor online posiblemente comprometido

Atendiendo ya al contenido del e-mail, éste contiene un enlace que llevaba a la siguiente URL: 


en la cual apreciaréis que es similar a la simulada del servicio iTunes Connect de Apple que originalmente se encuentra en la siguiente URL:


Accediendo al phishing, ya directamente solicita el CVV de la tarjeta de crédito además del Apple ID y la contraseña...

Diferencia entre el portal original y la copia phishing de iTunes Connect

Analizando el código fuente del html de phishing, buscamos la acción del formulario al hacer click en "Sign in", detectando un fichero php llamado:

+ myserviceson.com/applllle/WebObjects/emsg1.php

el cual si accedemos directamente a él (petición GET), se nos muestra un formulario para introducir todos los datos posibles de la cuenta (que obviamente, incluye todo lo referente a tarjetas de crédito, códigos de seguridad, datos personales, etc) al redirigirse a un html llamado details.html:

Formulario de solicitud de datos completos del usuario (paso 2 del proceso)

De nuevo, analizamos el código fuente para obtener un nuevo recurso que actuará de acción para el formulario al introducirse los datos, llegando a un nuevo php en:

+ myserviceson.com/applllle/WebObjects/tabli8.php

Al acceder a este por GET de nuevo, se muestra un error típico de PHP, ya que obviamente este PHP no se pensó para ser llamado directamente, si no tras completar el formulario y hacer click en enviar los datos:

Aviso mostrado por el fichero php al no ser ejecutado correctamente a través del flujo original

Recapitulando hasta aquí, disponemos de los siguientes recursos típicos que está utilizando este phishing:
  1. Dominio myserviceson.com
  2. applllle/WebObjects/
  3. applllle/WebObjects/emsg1.php
  4. applllle/WebObjects/tabli8.php

Una vez hemos hecho esta recopilación, procedemos a buscar información a través de google referente tanto al dominio, como a estos ficheros PHP y rutas concretas, para determinar si pudiera encontrarse en más servidores o si ya se hubiera reportado previamente un phishing de estas características pero alojado en otros sistemas. Al realizar la búsqueda en Google, mediante site: sobre el dominio afectado, nos encontramos como en la caché de Google se encuentra un antiguo listado de directorios, en los que vemos dos ficheros de texto: ID.txt y Full.txt, el directorio applllle y el php temp.php:

Búsqueda en Google relacionada con el dominio dónde se encuentra el phishing

  • El fichero temp.php (que ya no está presente), podría corresponder con el script de envío de correos mencionado anteriormente en el análisis de las cabeceras del e-mail.
  • El fichero ID.txt, presente en el servidor, parece registrar la información referente al primer formulario de login que ya solicitaba el CVV
  • El fichero Full.txt, presente en el servidor, parece registrar la información referente al segundo formulario de registro de datos completos. 
Debido a que durante la investigación no se llegó a realizar ningún envío a través del formulario, pero si se accedieron a los PHP directamente (emsg1.php y tabli8.php), quizás fuera lo que provocó la creación y registro de los intentos (aún sin incluir datos) de acceso a los formularios, y serían los ficheros que almacenarían toda la información de las víctimas que picasen en este phishing.

Por desgracia, este phishing finalmente si que fue utilizando en anteriores ocasiones (durante los últimos días, y con gran éxito de recogida de información) y estuvo alojado en otros hostings que ya fueron denunciados como que se utilizaban para estos menesteres. Lo peor de todo es que aún todavía a día de hoy, se pueden encontrar ficheros ID.txt y Full.txt con multitud de datos sensibles de usuarios  (víctimas) que llegaron a cumplimentar tanto el primer formulario como el segundo....
Leer más...

05 marzo 2014




Si hace unos días nos echábamos las manos a la cabeza con el grandísimo “fail" de Apple, que permitía dar por bueno determinado tipo de certificados, ahora me llega un correo por parte de uno de mis alumnos del curso de Análisis Forense, con un enlace en el que se dice que se ha descubierto una vulnerabilidad similar en la implementación de GNUTLS.

Por ende, todas aquellas aplicaciones que requieran la librería GNUTLS para encapsular las comunicaciones de tráfico de forma cifrada, resulta que existe una forma de circunvalar las comprobaciones de certificados, permitiendo en algunos casos, dar por bueno hasta un certificado autofirmado!!! Lo peor es que el fallo podría estar vigente desde 2005. Parece ser que una auditoría rutinaria por parte de RedHat ha puesto de manifiesto esta vulnerabilidad. Sólo se me ocurre una cosa: WTF!

Por una parte, Apple es una compañía con software hecho de forma cerrada, y sin saberlo de forma oficial, se puede intuir que “ayuda” al gobierno americano, NSAs, y compañía en aquello “que necesiten por la Seguridad Nacional”… Es igualmente, inadmisible que un fallo de esas características se les haya escapado a una empresa que se supone que cumple con auditorías de código, sigue metodologías de desarrollo seguro de software y todo eso, por lo que pinta a que ha alguien dejó caer ahí ese segundo Goto Fail; en un sitio tan crítico.

Lo que me hace llevarme las manos a la cabeza es cómo, desde 2005 hasta 2014, nadie haya auditado secciones tan críticas de código en librerías tan relevantes para la privacidad de las comunicaciones, y en este caso para la autenticación. 

Recordemos que este fallo permite suplantar a un destino haciendo que la verificación criptográfica sea successful,.. aunque sea un fake total. 

Podéis ver el parche publicado en Gitorious. Lo también impactante, es que lo ha descubierto RedHat en un proceso de auditoría…. Desde 2005, señores de RedHat, cada cuánto auditan ustedes el código???

Por otra parte, me viene a la cabeza la entrevista que le hicieron a Linus Torvalds, en la que le preguntaban: "¿Le han propuesto alguna vez, desde alguna entidad gubernamental, introducir un backdoor en el kernel de Linux?" A lo que el creador del kernel contestaba: "Nooooo" con la voz mientras asentía con la cabeza.


Por elucubrar, sólo se me ocurre que algunos gobiernos hayan explotado masivamente estos fallos hasta el día de hoy, y hayan encontrado/implementado alguna otra vulnerabilidad que les siga permitiendo el acceso a las comunicaciones cifradas, pudiendo filtrar que éstas existen y todos felices.

Definitivamente, no sabemos en manos de quién están nuestros datos ni la privacidad de los canales por los que fluyen.   


Leer más...

20 febrero 2014

El SAT de Apple y mi privacidad




Muchas veces me habréis visto defender el servicio de Apple, que con el sobreprecio que se paga por cualquier dispositivo, te atiendan de una forma profesional cuanto menos.

Fue justo en el peor momento, en una presentación con un responsable de seguridad de una gran empresa, que mi MacBook Pro dio su primer aviso.

No detectaba el disco duro y me aparecía un icono que daba muy pocas esperanzas. Sin embargo, al tercer intento, como en las películas de terror, cuando el monstruo persigue a la protagonista, el mac arrancó, y pudimos cumplir con el objetivo de la reunión.

Lo que aún no os he dicho es que al día siguiente, me marchaba a un minitour de charlas, una en Palencia (las Terceras jornadas de Villamuriel de Cerrato) y al día siguiente en Logroño, organizado por el Gobierno de la Rioja y ANCITE. Os podéis imaginar que cuando llegué a casa, mi Macbook Pro definitivamente ni arrancaba. En vez de al sistema operativo, a quien le dio el Kernel Panic fue a mí.

Extraje el disco duro y lo pinché a un dock SATA-USB, y la información del disco seguía intacta y verificable, es decir, que lo que parecía que podía ser un bonito disco duro SSD muerto, apuntó a ser el cable SATA con el que éste se conecta 

Salí zumbando a la tienda Apple de Las Rozas en Madrid, sin cita previa ni nada a eso de las 20:00. Para conseguir una cita rápida y un trato preferente, no tuve que hacer ningún tipo de ingeniería social, sino decirle la verdad a quien me atendió, y tras ver la cara de desesperación que traía, accedieron a mirarme de inmediato el ordenador.

Siendo que he montado mis propios ordenadores desde hace montones de años, y que cosa que pillo la desarmo por hobby o vicio, les comenté que me vendiesen la pieza y que yo mismo la cambiaría, puesto que me aportaba poco valor que me la cambiasen allí a cambio de un precio/hora desmedido, a mi entender. La respuesta de ellos: Lo sentimos. Si tenemos la pieza la tiene que cambiar un ingeniero autorizado por Apple, no puede ser usted mismo. Ni lo entendí ni estuve de acuerdo, pero como la necesidad tiene cara de hereje, directamente accedí a que me la cambiasen y ya está.

Firmé un papel que aceptaba el presupuesto y un montón de cosas en letra pequeña, y me cambiaron esa pieza. Al ver que el Mac arrancaba, mi cara cambió, mi corazón dejó de sonar como el árbol de levas de un Fórmula 1 y pude relajarme un rato. Pedí que me dejasen ver la pieza defectuosa y, pese a que no le encontré problema físico alguno, está claro que hacía la diferencia. Cuando ya me iba, con mi Mac y el cable SATA en la mano, me dijeron: “Perdona, la pieza vieja nos la quedamos nosotros”. Mi respuesta: “oye que yo he pagado por la nueva y por la vieja, me la llevo y la miro con calma en casa”. Y según me dijeron: “Según lo que has firmado, esa pieza rota es propiedad de Apple”… Me quedé con cara de circunstancia, y sinceramente, ya que era “un cacho de plástico” me dio igual. 

Sin embargo, días después, mi exnovia me dice por Whatsapp que tuvo que llevar su Mac a una tienda Apple, y que lo que había cascado a nivel físico era el disco duro. Que le habían puesto uno nuevo, con el último sistema operativo, y que entre otras cosas, de las que no tenía backup, había perdido un montón de fotos que teníamos juntos, que se quedaron en el disco duro viejo. Mi contestación: “oye pero si tienes el disco, y es un tema de arranque, podemos intentar recuperar los datos igualmente”. Su respuesta: “No no, si es que el disco se lo han quedado allí”…. Increíble, es decir que por la misma regla de tres que con mi cable SATA (que no contiene datos personales) se quedan con un disco duro que puede tener fotos, videos o ficheros de cualquier índoles que son de la absoluta privacidad de ella (y por asociación, de la mía). 

Entiendo que Apple dirá que con la información contenida en ese disco (si es recuperable) se destruye sin intentarlo pero, entre que sale de la tienda Apple y llega a los servicios de “wipeado” de Apple, ¿quién tiene acceso a ello? ¿Quién me garantiza que nadie del SAT se pone a ver qué tenía ese disco dentro? Tengo claro que no sería la primera vez que estas cosas pasan.

Y es que cada vez empiezo a estar más harto que todo tenga que ceñirse a que hay una “política firmada”, o que hay que limitar la tecnología o las acciones posibles o de sentido común, porque hay una ley de la “República Independiente de mi Casa” que se amolda a los intereses y conveniencias de empresas como la todopoderosa Apple, importándoles un pimiento los derechos de los usuarios. Y es que en esta historia se han cometido, a mi parecer, dos irregularidades: Primero que no te vendan la pieza en concreto y que no me permitan ahorrarme un dinero innecesario en una mano de obra que no necesitaba (monopolismo y cohartamiento de mi libertad en la compra de un recambio), y por otra parte, que se queden con la pieza antigua, conteniendo ésta datos privados en el caso del disco duro defectuoso (vulnerando la privacidad de la información de sus clientes).


Como sucede con empresas que están en la situación de poder ante sus usuarios, en un caso porque, o compro la pieza a su manera o no puedo solucionar el problema, y en el otro por no saber cambiar un disco duro por otro nuevo, al final no nos queda otra que pasar por el aro, sin tener la posibilidad de elegir si quieres encargarte personalmente de la destrucción de tu información.
Leer más...

07 febrero 2014

Demoledor estudio de Bitdefender y Zscaler sobre privacidad en aplicaciones móviles, que pone encima de la mesa un montón de datos bastante interesantes a la hora de tener en cuenta que es lo que llevas en tu bolsillo cuando dices 'tengo un smartphone'

La gente de Bitdefender ha analizado 836.021 aplicaciones de Google Play tratando de categorizar el tipo de permisos que requieren y por ende las capacidades que obtienen cuando son instaladas.

A su vez la gente de Zscaler ha analizado las 25 aplicaciones 'top' de la App Store

Algunos datos de ese estudio (Android):

  • EL 5% de las aplicaciones piden acceso a las fotos 
  • El 3% envían tu correo electrónico a través de internet, de ellas la mitad lo hacen empleando un canal cifrado y la otra mitad, no
  • El 10% acceden a la agenda 
  • Más de un tercio de las aplicaciones piden acceso a la geolocalización
Respecto a IOS:
  •  EL 96% requieren notificarles tu correo electrónico
  •  EL 92% acceden a tu lista de contactos
  •  El 84% piden acceso a la geolocalización

Probablemente estos datos solo sean la confirmación de algo que ya se sospechaba, pero no deja de ser impactante tenerlo en cifras. Que alguien haya hecho un estudio riguroso (el de Bitdefender bastante más) y ponga encima de la mesa las conclusiones.

Lo peor de este panorama es que son demasiadas aplicaciones, demasiadas empresas y demasiados desarrolladores como para poner la mano en el fuego globalmente por todos.

Y aunque todos fuesen 'buenos' y honestos, con ética etc etc, ¿de verdad es necesario compartir tanto? A lo mejor no
Leer más...

19 septiembre 2013

Navega a través de TOR desde tu dispositivo iOS

A principios del 2011 en el post "Instalando TOR en iPhone: Privacidad con WiFi y GPRS/3G" indicábamos cómo poder navegar anónimamente desde nuestro dispositivo iOS (iPhone, iPad...) a través de la red TOR, tanto estando conectados vía wifi como mediante conexión de datos. Para esto último, requeríamos utilizar un servicio de VPN gratuito sobre el que viajarían nuestras conexiones tras habernos conectado a la red TOR. Además de la complejidad, la única manera de disponer de Tor era teniendo el dispositivo con Jailbreak.



Con la aplicación de la que os hablaremos en este post, ya no será necesario el llevar a cabo varios pasos, siendo posible obtener una conexión anónima a través de Tor.

Onion Browser consiste en un pequeño navegador web (para nada se asemeja a la versión móvil de Safari, ya que sus funcionalidades son restringidas) que permite tunelizar las peticiones realizadas a través de la red Tor.



Si bien no ha sido desarrollada por el propio equipo del Tor Project, obviamente está basada en la herramienta del proyecto, y además el desarrollador, Michael Tigas, ¡pone a nuestra disposición el código fuente de la aplicación! 

Las grandes ventajas de esta aplicación, frente a soluciones alternativas son:
- No es necesario un dispositivo con jailbreak instalado.
- Funciona tanto para conexiones mediante wifi como GPRS/3G, ya que se trata de un navegador normal.
- Permite el cambio de user-agent directamente desde las opciones del navegador.



Pero como todo, también tiene algunos inconvenientes...
- No es gratis, aunque su precio no pase de un euro.
- No ofrece privacidad máxima y absoluta, debido a, por ejemplo, ciertas limitaciones con el SDK de iOS. 

Una vez instalada la aplicación, ejecutamos haciendo clic en el icono, y el navegador restringido comenzará a negociar la conexión a través de la red Tor.




Tras finalizar el establecimiento de red, podremos hacer uso de los enlaces presentados para conocer la nueva dirección IP que se nos ha establecido, y mediante la cual navegaremos.




Recordad que para conectarnos a través de Tor en dispositivos Android, podéis acudir al siguiente post sobre la aplicación Orbot, disponible en la Play Store, o incluso recurriendo a Orweb, siendo este también un navegador que incluye la conexión establecida.

La aplicación Onion Browser está disponible por 0,89€ y está programada tanto para iPhone como para iPad, requiriendo una versión de iOS 5.1 o superior.
Leer más...

16 enero 2013

Control de certificados permitidos en IOS


Hace tiempo explicamos cómo se podía hacer análisis de seguridad de las peticiones web que hace una aplicación de iOS instalando una CA  en el propio móvil. Aunque en la  gran mayoría de casos el método funcionará, en otros el tráfico no será transmitido tal y como se espera, ya que la aplicación verificará que el certificado que recibe está firmado por una CA concreta, desconfiando de cualquier otro tipo de certificado recibido, sea o no válido.

Para llevar a cabo ese control (que roza la seguridad por oscuridad), se hace de dos formas distintas: definir exactamente el certificado que se espera recibir, sacando de la ecuación a la CA o limitando las firmas válidas a una CA determinada. 

Las funciones que se usan para trabajar con SSL son tres: NSStream, CFStream, NSURLConnection, siendo esta última la más usada. 

NSURLConnection usa varios métodos delegados para obtener los valores y poder hacer la comprobación de los parámetros, como didReceiveAuthenticationChallenge, canAuthenticateAgainstProtectionSpace o willSendRequestForAuthenticationChallenge.

Por ejemplo, twitter hace uso de este método para evitar ataques man in the middle, y se puede intuir el "pinado" del certificado en el volcado de su aplicación.
Volcado de class-dump-z de la aplicación de Twitter.

En esos casos, la estrategia debe ser distinta. Usar un debugger y cambiar el comportamiento, recompilar la aplicación o hookear esas funciones.

Con este objetivo iSEC Partners ha creado IOS SSL Kill Switch, un pequeño tweak de MobileSubstrate que realiza esta tarea. Para usarlo, como es obvio, se requiere que el teléfono tenga jailbreak.

La instalación es sencilla, se instala el paquete deb correspondiente y se reinicia el proceso de MobileSubstrate.

Instalación de IOS SSL Kill Switch

Una vez instalado, se aparecerá una nueva configuración dentro de los ajustes para habilitarlo o deshabilitarlo.

Ajustes de SSL Kill Switch

Actualización 10/2/2013:
Otra herramienta que parchea a un nivel más bajo: https://github.com/intrepidusgroup/trustme

Referencias:
Leer más...

27 abril 2012

Recuperar la contraseña de un backup de iTunes

Ivan Golubev es un desarrollador conocido por crear la herramienta IGHASHGPU para crackear hashes MD5/SHA-1 usando la GPU y este año ha liberado Ivan Golubev's Password Recovery Suite (IGPRS) para hacer fuerza bruta sobre otro tipos de hashes con la misma técnica, como son los volúmenes cifrados TrueCrypt, WPA/WPA2 y las copias de seguridad de BlackBerry y del iTunes de Apple.

iTunes permite cifrar el contenido de los archivos que almacena en la carpeta de backup con una contraseña definida por el usuario entre una de sus opciones:



Esta contraseña está almacenada usando el algoritmo PBKDF2 (RFC 2898) con 10.000 iteraciones y su recuperación es muy lenta, pero posible. Para ello tan solo hay que abrir la aplicación y seleccionar el archivo Manifest.plist que está en la ruta: C:\Users\(usuario)\AppData\Roaming\Apple Computer\MobileSync\Backup\(hash)\Manifest.plist en el caso de Windows 7 o C:\Documents and Settings\(username)\Application Data\Apple Computer\MobileSync\Backup\(hash)\Manifest.plist para los Windows XP.

Leer más...

15 febrero 2012

Sobre Hacklous Security, Xsellize security e iHackSecurity

Con la salida del último jailbreak para IOS5 y dispositivos A5 como el iPhone 4S o el iPad2 son miles los nuevos sistemas que lo primero que hacen es descargar de cydia "Install0us", la alternativa pirata de la AppleStore, que actúa como cliente para instalar el software de la web Apptrackr.org donde el contenido de los paquetes no es analizado y puede incluir malware.

Install0us no es la única vía de infección, ya que existen muchos otros repositorios piratas como xsellize o iHacksrepo que abren nuevas puertas de infección.

Es habitual encontrar entre estos repositorios una herramienta del tipo "Hacklous Security" o "Xsellize Security" y con este nombre, muchos usuarios puedan presuponer que instalándola ya estarán seguros de cualquier amenaza.

Nada mas lejos de la realidad.

Estas utilidades únicamente se aseguran que cuando algo es descargado de su repositorio, sea realmente de su repositorio de donde se descargan y no de otro falso. Esto lo hacen añadiendo  o borrando entradas estáticas de DNS en el archivo /etc/hosts del terminal.

Esto evita que un móvil sufra de pharming y descargue algo que realmente no deseaba descargar. Pero ni comprueba el fichero, ni verifica ningún otro punto, lo que posiblemente lleve a un usuario a tener una falsa sensación de seguridad.

En el caso por ejemplo de Xsellize Security (com.xsellize.xsecurity), su paquete se compone de un script que arranca al iniciar el iPhone y que elimina las entradas que haya en su repositorio:

iPhone:~/tmp root# dpkg -L com.xsellize.xsecurity
/.
/System
/System/Library
/System/Library/LaunchDaemons
/System/Library/LaunchDaemons/com.xsellize-security.plist
/usr
/usr/bin
/usr/bin/xsellize-security

iPhone:~/tmp root# plutil /System/Library/LaunchDaemons/com.xsellize-security.plist
{
    Label = "com.xsellize-security";
    LaunchOnlyOnce = 1;
    Nice = 2;
    OnDemand = 0;
    ProgramArguments =     (
        "/usr/bin/xsellize-security"
    );
    UserName = root;
}


iPhone:~/tmp root# cat /usr/bin/xsellize-security
if [ ! -e /etc/hosts ]; then
        echo "Hosts file does not exist"
else
        sed -e "s/xsellize/idontthinkso/g" -i /etc/hosts
        echo "Patched hosts"
        echo "Will automagically patch the hosts file on reboot if there is an entry"
        echo "with xSellize.com in the hosts file"
        echo
        echo
        echo "Please report any bugs to admin@xsellize.com"
fi


Para el caso de Hacklous Security, los hosts que son añadidos en el /etc/hosts con un "postinstall" script del paquete .deb:

iPhone:~/tmp root# dpkg -L us.hackulo.security
/.
/usr
/usr/lib
/usr/lib/hackulous
/usr/lib/hackulous/shosts.sign
/usr/lib/hackulous/.hackulous.security.pubkey.pem
/usr/lib/hackulous/shosts.data

iPhone:~/tmp root# cat /usr/lib/hackulous/shosts.data
188.165.196.30  appulous.org
188.165.196.30  www.appulous.org
188.165.196.30  cydia.appulous.org
188.165.196.30  apt.appulous.org
188.165.196.30  ftp.appulous.org
188.165.196.30  hackulous.org
188.165.196.30  www.hackulous.org
188.165.196.30  cydia.hackulous.org
...

Otra cuestión es si todos los piratas de 1€ merecen o no ser infectados ;-)
Leer más...

13 febrero 2012

La protección de datos en la auditoría de aplicaciones IOS


El modelo de seguridad de iOS se basa en cuatro capas: seguridad del dispositivo (acceso físico), seguridad de los datos almacenados, seguridad de las comunicaciones y seguridad de las aplicaciones.

Tal vez el aspecto más importante a analizar durante una auditoría de aplicaciones móviles es el método para almacenar y acceder a datos personales o confidenciales. En la actualidad este es el problema que más veces se presenta y generalmente tienen una criticidad alta. Un ejemplo claro de esta vulnerabilidad es lo ocurrido y reportado a Whatsapp el año pasado por Yago.

En la entrada de hoy se van a enumerar los lugares y ficheros más comunes que se han de comprobar en un dispositivo, aunque tal vez lo mejor sea comenzar por comentar la estructura básica de una aplicación.

El directorio de cada aplicación (/var/mobile/Applications/[GUID]) se compone de:

NombreApp.app/: directorio con el binario y contenido estático de la aplicación.
  • Documents/: archivos que serán compartidos con el escritorio usando iTunes.
  • Library/: ficheros adicionales de la aplicación.
  • Library/Preferences/: ficheros de preferencias específicas de la aplicación.
  • Library/Caches/: ficheros que han de ser persistentes a distintas ejecuciones de la aplicación.
  • tmp/: ficheros temporales de cualquier tipo y que no han de ser persistentes en reinicios o distintas ejecuciones de la aplicación

FICHEROS PLIST
Como ya se ha visto anteriormente son ficheros que pueden incluir cualquier tipo de dato que crea conveniente el desarrollador, como credenciales, cookies, permisos, etc. En ocasiones pueden cifrar o codificar algún campo, por lo que se comprobará si es reversible o débil o incluso si hay datos confidenciales directamente en texto claro.

Los ficheros plist están en cualquier directorio dentro de la aplicación y se pueden abrir con un editor de texto en caso de los XML y con un editor como plist Editor si son binarios.

La captura siguiente es un ejemplo de iDelicious, una aplicación para consultar los bookmarks del servicio delicious:


FICHEROS DE BASES DE DATOS SQLITE
Ocurre exactamente lo mismo que en el caso anterior, solo que se almacenan en una base de datos del tipo SQLite y para abrirlos hará falta un interprete como: SQLite Administrator, también están en el directorio de la propia aplicación y tienen de extensión .sqlite o .db.

El mejor ejemplo la ya mencionada entrada de Yago, donde se mostraba que una vez borrabas una conversación desde la aplicación WhatsApp, está dejaba de ser mostrada, pero el contenido seguía presente.

FICHERO DE DICCIONARIO PREDICTIVO PARA TECLADO:
Es una base de datos donde se almacenan palabras que no están en el diccionario. En él se pueden guardar usuarios, contraseñas, PIN y cualquier dato de validación. Es similar al "autocomplete" de los formularios web. Por ese motivo la aplicación debe especificar en qué sitios no quieren que sean almacenados.

Se encuentra en el directorio: /private/var/mobile/Library/Keyboard/es_ES-dynamic-text.dat y pese a que su acceso no está permitido de forma nativa, un móvil infectado por malware si puede consultarlo y enviarlo.

CAPTURAS DE PANTALLA
Para crear el efecto "bonito" cada vez que se pulsa el botón "home" y se vuelve al menú del móvil, el sistema genera una captura de pantalla con el contenido que es almacenada en el directorio: Library/Caches/Snapshots/ de cada aplicación. El efecto se puede evitar en caso de que el contenido pueda ser confidencial, al igual que ocurre con las páginas cacheadas de un navegador. Otra opción es diseñar las vistas teniendo en cuenta este problema. 

COPIAR Y PEGAR
Si la aplicación utiliza la característica de copiar y pegar texto, este puede ser accedido por otra aplicación del portapapeles y es almacenada en el fichero: /var/mobile/Library/Caches/com.apple.UIKit.pboard, para analizar esto, tan solo hay que revisar en que sitios se permite copiar y pegar y pensar si "importa" que esos datos sean accedidos por otra aplicación. Por ejemplo, un campo password, nunca debería poder ser copiado.

Debido a que esto es conocido, en nuevas versiones de IOS ya no permite nunca copiar desde un campo de contraseña, aunque si en otros que se han de revisar. La siguiente imagen muestra un ejemplo de la aplicación gmail

Ejemplo: no se muestra opción "copiar"
FICHEROS CACHEADOS
En algunas aplicaciones  es posible que se almacene ficheros confidenciales o con algún tipo de dato de interés sin cifrar. Se han de revisar los directorios "Library/Caches", "tmp/" y "Documents/".

FICHEROS DE LOG
Generados en casos de errores o por los desarrolladores para incluir trazas de depuración, son susceptibles de incluir datos confidenciales. Se revisan en el propio sistema en la ruta /private/var/log/system.log, /User/Library/Logs/CrashReporter  y en los datos locales de iTunes de la estación de trabajo, en el directorio: C:\Users\[USER]\AppData\Roaming\Apple computer\Logs\CrashReporter/MobileDevice/[nombredispositivo]


ESQUEMAS URL
Son utilizados para invocar una acción determinada de una aplicación, por ejemplo "mailto://" para enviar un correo, o twitter:// para invocar el cliente de Twitter. Se definen en el archivo Info.plist mediante el uso de CFBundleURLSchemes, Es conveniente descifrar el binario y buscar strings para conocer sus métodos.

Un ataque podría provocar que se ejecuten acciones no deseadas, similar a un cross-site-request-forgery. Como por ejemplo añadir esto en una página: [iframe]twitter://post?soy_un_luser[/iframe]








Leer más...

06 febrero 2012

Interceptar con un proxy peticiones SSL de un iPhone


Como hemos repetido incansables veces, una de las partes más importantes de auditar aplicaciones móviles es auditar los servicios web con los que interactuan. Si la comunicación se hace utilizando HTTPS, no basta con configurar el proxy en el móvil, ya que las aplicaciones nativas hacen llamadas a la API exigiendo que el certificado sea válido.

La forma más sencilla de interceptar estas comunicaciones es añadiendo un certificado de confianza siguiendo los pasos que se describen a continuación:

1.- Se arranca el servidor proxy, en este caso "burp" y configurado para que genere certificados SSL:

Opciones del proxy Burp
2.- Usando Firefox se visita cualquier página en https para que muestre error de certificado y se pueda exportar mediante la opción de añadir una excepción, ver, pestaña detalles,  y pulsando sobre PortSwigger CA , darle a Exportar. El fichero generado ha de tener extensión ".cer" para luego ser importado en el móvil.

Exportar certificado de PortSwigger CA con Firefox
3a.- Una vez exportado se puede importar de tres formas distintas. La primera y más sencilla es mandar un correo adjuntando el archivo a nuestra propia dirección y cuando se reciba, abrir el adjunto para instalarlo tal y como se muestra en las tres capturas siguientes.

Correo electrónico con certificado adjunto

Propiedades del certificado previa instalación

Certificado finalmente instalado
3b.- Otra opción alternativa para añadir el certificado es utilizar la utilidad de Apple "Iphone Configuration Utility", añadiendo un nuevo perfil.


3c.- La última opción es colgar el certificado en un servidor web y acceder mediante Safari para descargarlo, lo que proporcionará el menú de instalación igual a la primera opción.


4.- Una vez instalado el certificado, se configura el proxy en los ajustes de la Wifi:


Una vez terminado el trabajo, se elimina desde Ajustes->General->Perfil->Eliminar.

Ajustes generales
Leer más...

02 febrero 2012

Seguridad en IOS, herramientas para desensamblar Objective-C

Auditar una aplicación móvil requiere que se revisen y contemplen todos los aspectos de su seguridad: la aplicación nativa, como se comunica y el servicio remoto en caso de que exista.

Para desensamblar las aplicaciones de iPhone/iPad, primero hay que descifrarlas tal y como ya vimos en los posts anteriores (I, II y III) para posteriormente usar una herramienta que haga este trabajo.

En esta entrada, voy a enumerar las aplicaciones más populares en esta tarea:

Originalmente se desarrolló para trabajar con Objective-C en binarios Match-O, pero sin considerarse iPhoneOS. Pese a que se puede utilizar para este propósito y se ha actualizado para darle soporte, es recomendable usar el fork class-dump-z de kennytm. Requiere ejecutarse en un MacOS 10.6.x

El tercer fork del original class-dump, está desarrollado en C+ y es multiplataforma. Se desarrolló considerando las peculiaridades de IOS. Por desgracia su última versión 0.2a solo funciona en Mac. Para iphone @trufae ha colgado una versión en su repositorio: http://cydia.radare.org/
Ya se ha visto en uso, aunque solo para obtener información de un binario. La realidad es que otool es una aplicación muy completa que también sirve para hacer desensamblados básicos.

radare2: http://radare.org/y/
¿Quién no ha oído hablar ya de radare? no solo desensambla el binario, también hace las funciones de debugger, editor, etc. Es multiplataforma y se puede instalar en el propio iphone de forma sencilla usando su propio repositorio: http://cydia.radare.org/

Tal vez sea la más popular ya que su uso está muy extendido y es muy común en entornos windows, linux y mac. Se puede descargar gratuitamente la versión 6.2 con limitaciones y la 5.0 completamente gratuita.

Fueron realmente útiles en la versión 5.x, antes de que IDA Pro soportase Objective-C en la versión 6.2.

Al igual que los anteriores, los scripts de kennytm para IDA tuvieron gran importancia en las versiones 5.x

Otx  es una utilidad para sistemas mac, que se basa en otool para desensamblar el binario, añadiendo nuevas características al procesado resultante, además se puede usar tanto por línea de comandos como mediante su interfaz gráfica.


Esta herramienta es un port de code-dump para PPC, que a su vez es otro fork de class-dump y que finalmente ha sido integrado en este. Requiere de un mac y xcode para compilarlo.

Leer más...