jueves, 25 de febrero de 2010

Man in the ...

Lo primero, siento mucho no haber escrito en toda esta semana y media. A ver si puedo preparar mucho material para cuando no tenga tiempo para escribir o para cuando tenga dificultades para contar algo.

Y ahora... ¡Empezamos!

Hacía tiempo que leí una cosa con la que hemos estado trabajando estos días en el FTSAI. Se trata de un ataque llamado Man In The Middle (MITM).

¿De qué trata un ataque de estas características? Bueno. Lo voy a resumir mucho porque quiero guardar temario para otros posts.

Pongamos como ejemplo un escenario como el que sigue:

Escenario 1: Red de ordenadores conectados a Internet

Como podemos ver, este escenario consta de:
  • Dos equipos: E1_A  y E1_B.
  • Un router: E1_R conectado a Internet.
Estos equipos están conectados entre sí utilizando un enlace ethernet y ambos pueden acceder a Internet a través del router. Para que este tipo de ataques sea viable  tienen que existir switches, no deberían de haber hubs ni comportarse como tales. (Esto está actualizado: puse todo lo contrario) .

Pongamos un ejemplo: E1_A está visitando una página que requiere un loguearse. El usuario de E1_B es malvado y curioso. Quiere saber qué está visitando E1_A y, además, sacar alguna que otra contraseña que salga de ese equipo.

Una de las razones por las que no se puede usar conmutación es porque ésta se encuentra a nivel de enlace. ¿Qué significa esto? Los switches tienen un pequeño conocimiento de quién le está enviando un paquete y el puerto por donde tiene que enviarlo. En caso de que no sepa por dónde enviarlo, lo enchufará por todos aquellos por donde no han entrado. Volviendo al nivel de enlace. Al saber por dónde hay que enviar las solicitudes, la red sabrá que si E1_A quiere Internet, se lo tiene que enviar al puerto donde está conectado E1_R. Y viceversa: las respuestas del router irán al puerto donde está conectado E1_A. Si hubiera hubs, sería un lío con los paquetes que van y vuelven del emisor al receptor.

Este tipo de ataques lo que buscan es que E1_B hará creer a E1_A que es el router. Leerá los datos que esta última envía y a su vez se lo re-enviará al router E1_R haciéndole creer que es E1_A. En cuanto el router responda se producirá el efecto inverso.

Con esto, se puede llegar a ver los sitios donde se está metiendo. Incluso, se podrían llegar a ver las contraseñas. Y, si están llevan algún hash determinado, se podría llegar a sacar la contraseña en claro. Algo más complicado, que intentaré montar para otra ocasión, es conseguir capturar los datos HTTP que van por SSL.

Por cierto. Ayer, leyendo un post en F-Secure que habla de otro tipo de ataque al que ha denominado Man In The Browser. Éste tipo de ataques se basa, según he podido entender, en interceptar al navegador, no al equipo. Esto es así por la encriptación SSL de la que acabo de hablar. 


P.D: Vale, lo he explicado como el culo. Espero que no me vuelva a pasar. 


No hay comentarios:

Publicar un comentario