Como se ha comentado anteriormente, los servicios con configuraciones por default siempre representan un nivel de riesgo alto, debido a que dichas configuraciones son bien conocidas, de hecho uno de los principales objetos de ataque de los cibercriminales son los errores de configuración (configuraciones débiles o incorrectas).

Dentro de los errores más comunes y más peligrosos en cuanto a configuración se refiere son las contraseñas por default, que si bien es poco probable que una persona enfocada al área de TI e informática pueda dejar éste tipo de configuración, es muy probable que personas que no son del área lo hagan por desconocimiento, si la persona tiene algún dispositivo con iOS hay una configuración en la que sin duda debería poner atención.


iOS como bien sabemos está basado en UNIX, por lo tanto existe un super user denominado root. El usuario root es como el usuario Administrador en Windows cuyos permisos y privilegios son totales sobre el Sistema Operativo y por lo tanto también sobre el dispositivo. Lo preocupante en iOS es que la contraseña de root es dada por default, ya que viene preinstalado en los dispositivos que lo utilizan y si a esto le sumamos que el dispositivo tiene levantado el servicio SSH que quizá el usuario lo agregó sin darse cuenta al instalar una aplicación (o que la aplicación lo haya instalado automáticamente), pone su información en exposición.

La información que una persona puede manejar en un iPhone/iPod/iPad/AppleTV puede ser muy sensible: SMS, contraseñas, correos, llamadas, contactos, notas, posición geográfica etc. Para dejar más claro este escenario ejemplifiqué una situación:

Imaginemos que voy a una plaza pública donde hay una WiFi gratuita (como sucede en muchos casos), utilizando Nmap para ver los hosts disponibles y los servicios que tienen se obtiene (entre mucha más información) lo siguiente:

En la consulta se puede observar que hay un puerto 22 de TCP abierto (SSH) y el 62078 que indica que es un protocolo utilizado por los iPhone/iPod/iPad/AppleTV, entonces representa una oportunidad para intentar ingresar al sistema con WinSCP, PuTTY o alguna otra aplicación que permita conectarse a SSH.

Para el ejemplo utilicé WinSCP (http://winscp.net/eng/download.php). Primero me intento conectar utilizando el usuario root y la contraseña por default: alpine.

NOTA: Si la autenticación falla con el password por default no se puede continuar a menos que se intente alguna técnica de Password Cracking.

Si se conecta ahora podemos accesar a toda la información que deseemos.  Aquí va a depender de qué tanto conocemos iOS. Dejo algunos datos que podemos conseguir una vez que hayamos obtenido el acceso:

Correos electrónicos:

En la ruta /private/var/mobile/Library/Mail se encuentra la carpeta del correo que se tiene configurado en el dispositivo:

Historial de Safari:

En la ruta /private/var/mobile/Library/Safari se puede encontrar el archivo History.plist que contiene el historial de navegación:

Diccionario:

En la ruta /private/var/mobile/Library/Keyboard se encuentra el archivo es_ES-dynamic-text.dat el cual es el diccionario que utiliza iOS para guardar las palabras que escribimos para luego utilizar la autocorrección:

Contactos:

En la ruta /private/var/mobile/Library/AdressBook se encuentra el archivo AddressBook.sqlitedb el cual contiene los contactos guardados en el dispositivo:

Archivo hosts:

El archivo hosts se encuentra en la ruta /private/etc. Puede ser utilizado para realizar un ataque DNS poisoning en el cual se agrega una entrada en el archivo con una dirección IP y un nombre de dominio (un banco por ejemplo) y la IP sería de un servidor donde se tuviera montado un sitio espejo. Además se pueden encontrar otros archivos muy importantes para la configuración del sistema:

Imágenes:

Las imágenes pueden ser obtenidas del directorio /private/var/mobile/Media/DCIM/100APPLE :


Estos son sólo algunos ejemplos de la información que se puede obtener, obviamente cada usuario valorará su propia información, por ejemplo si alguno tiene la cuenta de correo del trabajo o tiene sms con información importante, etc. Cabe mencionar que no es un Bug, sin embargo, si es un error de configuración que como vimos puede repercutir enormemente en nuestra privacidad.

¿Cómo evitarlo?

Tan simple como cambiar la contraseña del usuario root y desactivando el servicio SSH. En mi caso le cambié el password con la MobileTerminal ejecutando los comandos que se muestran:

$iPod-de-Mike: passwd

También se puede cambiar conectándose con PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) o con el mismo WinSCP.

Para manejar los servicios de una manera más fácil y poderlos activar/desactivar rápidamente utilizo una herramienta llamada SBSettings que puedes encontrar en Cydia: