jueves, 5 de junio de 2008

Artículo: La importancia de la seguridad III: Ejemplos reales. Paranoia o realidad?

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.

11 comentarios:

Pepe dijo...

Muy buena serie de artículos Theliel, te felicito.

Una pregunta, ¿qué programa usas para poder ejecutar esos comandos desde el Touch?.

Saludos.

Theliel dijo...

Cualquier terminal o si tienes soporte de un PC putty u otro cliente SSH

Pepe dijo...

Pero ¿dentro del mismo touch?

Theliel dijo...

Si, como he dicho desde el mismo touch se puede hacer claro, con un terminal.

ruben romero dijo...

dios!!!!! ke crack!!!! acabo examenes y me pongo a investigar jeje, un saludo...

Theliel dijo...

A ver...

la información es para que se sea consciente y de mentalizar, no para ponerse a entrar ahora en los dispositivos que sean o intentar hacer nada inmoral o incluso ilegal, esto no es u blog de hacking ;).

Aprender = bueno

Pero nada de hacer cosas malas eh

ruben romero dijo...

eso esta claro theliel, pero como desconozco el ssh, aora veo ke sirve para algo mas...y no esta demas saber esto y como me interesa el tema pues...un saludo

Theliel dijo...

Of course, solo hago una aclaracion ;) no quiero que nadie pueda sacar conclusiones 'feas'

Anónimo dijo...

Buenas Theliel, llevo unos días intentado encontrar como instalar el nmap en el touch pero no saco nada en claro. En algunos foros veo que esta en el repositorio experimental de BigBoss (pero o soy ciego o no está), en otros que hay que compilarlo...pero ninguna solución ¿Cómo se hace realmente?

Theliel dijo...

Cydia ;)

Anónimo dijo...

Jaja...vale, investigando un poco por tu blog he llegado a esa conclusión y estaba instálandolo.

Gracias!

 
Creative Commons License
Esta obra está bajo una licencia de Creative Commons.