Share on Google+Share on FacebookTweet about this on Twitter

Como datos curiosos antes de comenzar y lo que me llevó a escribir las dos partes anteriores son unos datos cuanto menos curiosos que he recogido en un día, así también para aquellos que crean que tan solo paranoias exajeradas de un hacker reprimido (a modo de experimento tan solo y jamás sin causar daño alguno) hice algunas pruebas en la red wifi de una escuela de ingenieros aquí en sevilla para comprobar la seguridad de estos iPod/iPhone. El proceso fue muy simple y los resultados increibles!! Tan solo decir además que TODO el proceso lo realicé además tan solo con mi mismo iPod Touch, ni siquiera un portatil de apoyo, para que podais comprobar el potencial de un aparatito como este y de como son las cosas.

Lo primero fue realizar un escaner dirigido a toda la red de la escuela sobre puertos concretos que sé de antemano que el iphone y el ipod tienen abiertos, de este modo no me hace falta siquiera un fingerprint (una huella) que me diga si el dispositivo es un iphone/ipod, además un escaner así requeriría mucho tiempo y sería más ruidoso para un firewall. Por el contrario si pregunto sobre puertos clave que sé que estarán abiertos, el existo es casi del 99%, además de realizar un escaner muy muy rapido y casi completamente silencioso, ya que tan solo pregunto por un puerto o dos, lo cual no llamaría la atención ni al mejor firewall del mundo:

nmap -sS -p62078,22 10.0.0.0/8

Ello realiza un escaner sencillo al puerto 22 (SSH) y al puerto 62078. Este ultimo extrañamente se usa para la sincronización con itunes. Lo que no se comprende es porqué este puerto está abierto al exterior siempre en vez de tan solo internamente. Lo cierto es que ese número mágico nos sirve para identificar cualquier ipod/iphone. Porque? porque el 99% de todos los dispositivos con ese puerto abierto, es un iphone/ipod. Es un puerto muerto que no se usa para nada a menos que se asigne manualmente para algo. Y sería mucha casualidad precusamente que un PC, portatil o demás en ese momento usara precisamente ese puerto. Y si se quiere una mayor confirmación basta con realizar otro escaner, esta vez a un puerto UDP:

nmap -sU -PN -p5353 10.0.0.0/8

El puerto 5353 UDP es conocido bastante sobre todo en MAC, es un puerto encargado de la autoconfiguración de red y resolución de DDNS (si, DDNS, no DNS) que usa apple y su servicio mDNSrespond.

El caso es que después de esos dos escaner la primera sorpresa que tuve fue lo extendido que es el iphone/iPod Touch. Realicé dos escaners, cada uno a horas diferentes. En total contabilizé 18 ipod/iphone diferentes, de los cuales:

15 tenían el puerto SSH abierto, luego era ipod/iphone JB
3 el puerto cerrado, es posible que JB realizado es posible que no.

Desde mi mismo ipod inicié una simple conexión SSH directamente a sus ipod/iphone:

ssh 10.x.x.x

los 15 permitieron el acceso por root. De los cuales 6 respondieron a la contraseña antigua ‘dottie’ y el resto a la nueva “alpine”. Ya solo con eso me dice que versión de software. Y para verificar que todo era correcto, realicé una copia de un archivo sin información sensible, pero para poner en conocimiento de lo que estaba sucediendo:

scp root@10.x.x.x:/System/Library/CoreServices/SystemVersion.plist 1.txt

Bingo!! con la contraseña por defecto podía copiar archivos desde su terminal al mío, sin que nadie lo supiese. Que hubiese pasado si en vez de ese archivo sin importancia fuera una copia de su agenda? llamadas? calendario? fotos? videos? o mejor aun!! que hubiese pasado si entro por ssh a su terminal y escribo:

rm -rf /

el resultado sería que el iphone/ipod se le congelaría. Ese el efecto inmediato. El efecto real es que al ejecutar ese comando con permisos de root eliminaría todos los archivos no en uso en ese momento del dispositivo. digamos que es algo parecido a un format.

Evidentemente no quiere decir que exista siempre una persona detrás de cada puerta esperando… ni que a cualquier persona le pueda interesar lo que otro tenga ni… es un poco más complejo de la simple curiosidad. Colocar un Sniffer en una buena red puede ser muy facil, pero ello tan solo nos da acceso a datos transmitidos. En este caso hablaríamos de problemas críticos, ya que tendríamos acceso completo al sistema.

Pero el peligro es aun mayor. Tan solo he puesto de ejemplo como copiar un archivo o eliminar todo el sistema. Pero cualquier hacker o persona interesada sería más listo. Por ejemplo se me ocurre activar tcpdump como sniffer y capturar todo el tráfico de su dispositivo para pilalr contraseñas y usuarios, así como crearle una puerta trasera para poder conectarse despues aun si ha quitado SSH, sería muy simple hacerlo con netcat.

Las posibilidades son inmensas.

Muchas veces uno se ha quejado siemrpe de los virus, exploits, malware, spyware, troyanos, backdoor… pero para el 98% de todos los posibles ataques hay medidas igualmente de efectivas de prevenirlos, tan solo hay que tener prudencia.

Esto quiere decir que SSH es el enemigo? no, para nada, SSH es una herramienta potentísima para nosotros mismos, tan solo hay que usarla sabiendo lo que se hace. Si se aplican los sistemas de protección pertinentes la seguridad está garantizada al 99%, y digo 99% porque siempre habrá alguien más listo que tú que podrá comprometer tu sistema sin esfuerzos, eso es la primera ley de la vida, siempre hay alguien que sabe más que tu.

Un saludo a todos.