(Anti)Hack un iPhone/iPod

gracias a nuestros amigos de iPhone Español nos llega este buen tutorial para que aseguremos nuestros datos en el iphone.

(Anti)Hack un iPhone/iPod

En este tutorial vamos a ver como es posible entrar en un iPhone/iPod ajeno a través de Wi-Fi, para aprender como podemos evitar que nos entren al nuestro. No se trata de revelar un agujero de seguridad, sino de informar de la situación, que es conocida, publica y publicada, y dar soluciones para evitarlo.



Una de las acciones habituales tras desbloquear un iPhone es instalar OpenSSH a través de Cydia o Installer o cualquier otra aplicación que active el servicio SSH en nuestro iPhone. OpenSSH es una popular herramienta muy usada, pero también es una puerta trasera que permite a cualquiera acceder a nuestro iPhone (o al de otro ajeno) si no existen las correctas medidas de seguidad. En nuestro iPhone, OpenSSH se suele utilizar para acceder al sistema de archivos del sistema operativo del iPhone (ver tutorial ).

OpenSSH es un demonio que se inicia automáticamente manteniéndose a la escucha a través del puerto 22 (por defecto). Es decir, se inicia al arrancar el iPhone y va a atender a cualquier petición que se haga en dicho puerto. Es cómo tener en nuestra ciudad, una puerta en la calle 22, que al hacer «toc toc» nos va a preguntar quienes somos, y si acertamos la contraseña, pues adentro. Solo hace falta saber la ciudad, la calle, la puerta y la contraseña…


Para poder acceder a un iPhone ajeno se requiere que tanto el PC (el tuyo) como el iPhone (ajeno) estén conectados a una red Wi-Fi, y eso es posible debido a la cantidad de accesos libres y abiertos Wi-Fi que hay, empezando por aeropuertos, ferias, oficinas, hospitales,  etc… Hay que indicar que el acceso al un iPhone ajeno puede realizarse, instalando las herramientas necesarias, a través de otro iPhone. Lo cómodo es desde un PC o portátil está claro, pero no es un requerimiento indispensable.

Como introducción hay que explicar que el iPhone/iPod es un «ordenador» que tiene su sistema operativo, y por tanto tiene sus propias cuentas de acceso de usuario. En concreto, en el iPhone existen dos cuentas, root y mobile. Esta última solo presente en los iPhones. Las malas noticias son las  contraseña son públicas y conocidas para todos los iPhones/iPod: alpine (la más reciente) o dottie (la más antigua).




Para acceder a un iPhone ajeno se requieren más cosas que saber las claves del root:

  1. Que el iPhone «a atacar» tenga el Wi-Fi activado (viene activado por defecto) y conectado a la misma red Wi-Fi que tu.
  2. Conocer la IP Wi-Fi del iPhone «a atacar»
  3. Que el iPhone «a atacar» tenga OpenSSH instalado (habitual en los iPhones desbloqueados para acceder a sus «entrañas»).



Para poner un ejemplo práctico y real, voy a poner a mi iPhone en una situación ficticia en la cual desconozco de su existencia, perfectamente podría ser el de un desconocido, y voy a tratar de entrar desde mi PC tal como podría hacer cualquier otra persona. El iPhone está encima de una mesa y yo estoy en otra sala, con mi PC.

El primer requisito, tener el Wi-Fi activado, viene por defecto. Sería bastante probable pues que el iPhone al que queremos acceder lo tenga activado, y si estamos en un lugar público, o en la misma oficina, con una señal Wi-Fi, y podemos conectarnos a ella, pues la primera condición es posible y probable. Típico escenario puede ser un aeropuerto, una feria, unas oficinas, el vecino … cada día se disponen de más zonas de Wi-Fi en abierto, o Wi-Fi’s que no se han protegido con clave. En mi caso, estamos en un edificio que da servicio Wi-Fi gratuito, y el iPhone a atacar, como es normal, viene con el Wi-Fi activado.



El segundo requisito, conocer la IP que tenga el iPhone a atacar, es relativamente sencillo. Resulta que el iPhone tiene siempre abierto el puerto 62078 que usa para sincronizarse con iTunes. Resulta pues bastante probable que si encuentro un dispositivo que tenga abierto el puerto 62078 y el puerto 22, sea un dispositivo de Apple que tenga instalado un demonio SSH como OpenSSH. Así pues, con un programa que escanee puertos (en la prueba se ha usado NMap ), busco dispositivos con dichos puertos abiertos dentro del rango de direcciones al que esté yo mismo conectado. En el caso de la prueba, mi PC está conectado a una red Wi-Fi la cual me ha facilitado una IP, la 10.0.0.172. Vamos a ver si encuentro a mi iPhone en la misma red (10.0.0.x).


Bingo! Ya lo he encontrado. Ya tenemos el segundo requisito, conocer su IP: 10.0.0.83.

El tercer requisito lo hemos comprobado en el paso anterior, ya que hemos buscado dispositivos con el puerto 22 (SSH) abierto. Vamos a comprobar de que lo que hay detrás del puerto 22 es realmente un servicio SSH instalado en un iPhone. Abriremos una ventana de terminal (en el ejemplo hemos usado WinSPC ) y nos intentaremos conectar a la IP 10.0.0.83 a través del puerto 22 a ver quién responde:

Y Bingo!, nos pide el nombre de usuario, que conocemos: root

Y tras confirmarle la contraseña (alpine o dottie, según el modelo), entramos en las entrañas.

Llegados a este punto, tenemos plenos derechos de acceso a toda la información del iPhone, claro está sabiendo donde se guarda cada cosa, algo que es también conocido y publicado.

Recapitulando: Estábamos en un lugar, con conexión Wi-Fi, la cual nos proporcionaba una IP. Esta es la única información que hemos necesitado para comenzar. Hemos hecho un barrido de puertos sobre la red en la cual estábamos conectados, buscando dispositivos conectados a la misma Wi-Fi con el puerto 22 (SSH) y 62078 abierto, y hemos localizado (al menos) un dispositivo (para mi sorpresa, descubrí alguno más). Ya teníamos su IP. Nos hemos conectado mediante SSH a dicho dispositivo, y hemos superado la barrera de las credenciales, por ser públicas (root+alpine o dottie). Y sin más, estamos accediendo al iPhone/iPod de un «desconocido».

Y si alguien se mete en mi iPhone/iPod, ¿qué puede hacerme?
Pues puede acceder a tu correo, a tus contactos, a tus fotos, a tus sms, a todo, y además puede borrarte la información que quiera, dejándote el iPhone si quiere sin nada, es decir, te puede hacer mucho daño. Podrían coger el fichero de contactos (/private/var/root/Library/AddressBook.sqlitedb), copiarlo a su PC y luego con tranquilidad acceder a toda la agenda de contactos… por poner un ejemplo. Lo mismo con el correo, la agenda, los sms, fotos, … y los cookies. Esto último, los cookies, si es un problema, porque con ellos puedes acceder por ejemplo a la cuenta de GMail, la del banco, y en general cualquiera que requiera contraseña. También, si en ese momento estás navegando, introduciendo claves y contraseñas, podría, usando el programa adecuado (por ejemplo tcpdump ), capturártelas. Incluso podría introducirte el el iPhone, con herramientas como netcat, una puerta trasera por si desactivas el acceso por SSH. ¿Paranoia? Quizás.. real, por desgracia sí.

Ahora la parte positiva.

Cómo protegernos de accesos ajenos

Si no has desbloqueado tu iPhone o iPod, no te has de preocupar de nada. Pero, si lo tienes desbloqueado (ver tutorial ), como he puesto al principio, para que accedan a nuestro iPhone/iPod, requieren de ciertas condiciones, sobre las cuales podemos poner trabas:

Que el iPhone tenga el Wi-Fi activado

Está claro, que ni no tenemos el Wi-Fi activado, no nos van a entrar. Aquí tienes la primera manera de evitarlo, manteniendo desactivado el Wi-Fi. Pero claro está, en algún momento lo activarás para usarlo, pero mientras tanto, evitamos que esté activado las 24hrs. Además, manteniendo el Wi-Fi desactivado ahorrarás bastante batería y evitarás revelar la IP que permita, aparte de entrar, realizarte ataques de denegación de servicio entre otras cosas.

Puedes usar la aplicación BossPrefs que nos permitirá cómodamente activar o desactivar el Wi-Fi



Conocer su IP Wi-Fi
Este requisito es inevitable. Si estamos conectados con nuestro iPhone vía Wi-Fi, un escaner de puertos nos detectará. No tenemos cortafuegos en el iPhone que lo impida.


Que el iPhone tenga OpenSSH instalado
Seguramente no estaremos todo el día trapicheando las entrañas del iPhone. OpenSSH es una herramienta fenomenal, pero no necesaria las 24hrs. La recomendación, al igual que en el Wi-Fi, es que tengas desinstalada esta aplicación y la instales cuando la requieras. Seguramente este engorroso paso no lo haría nadie, pero si buscas máxima seguridad, sin duda, si no tienes OpenSSH, no te van a entrar.

Otra opción más cómoda, es tener instalada la aplicación BossPrefs que nos permitirá cómodamente activar o desactivar el SHH /entre muchas otras cosas más) sin tener que desinstalar y reinstalar OpenSSH, o Toggle SSH (a través de Cydia).


Conocer el nombre de usuario y contraseña de acceso
Como hemos dicho, el nombre de usuario y contraseña son públicos. Hay que indicar que a parte del nombre de usuario «root» existe un segundo, con acceso más limitado, llamado «mobile» y cuya contraseña es la misma que usa «root». Lo que podemos (debemos) hacer es cambiar la contraseña a ambas cuentas. ¿Cómo? Entrando en modo terminal (por ejemplo con Putty ), y ejecutando el comando passwd. Nos pedirá la clave dos veces (recuerda que no la verás escrita en pantalla). Repetiremos el proceso con la cuenta «mobile».

¿y no basta con cambiar las contraseñas? No. Descubrir las contraseñas es en ocasiones bastante fácil, ya sea por ingeniería social, por fuerza bruta,….

Recuerda: Si no tienes activado el Wi-Fi o no tienes instalado OpenSSH, no tienes que preocuparte. Si ambos los tenéis activados, lo único que os salvará es haber cambiado las contraseñas. Existen más opciones, pero el nivel de paranoia ya rozaría lo preocupante.


Bueno, después de esta sesión de paranoia, pensarás que quién se va a molestar en meterse en tu iPhone/iPod. Pues lo normal es que nadie, pero si tienes información sensible, o vas a una feria de informática, o tu colega del trabajo es un … ten cuidado…




AirDrop para Windows, la mejor alternativa
Te puede interesar:
Cómo usar AirDrop en PC con Windows
Síguenos en Google News