Publicado el 8 de Mayo del 2017
1.328 visualizaciones desde el 8 de Mayo del 2017
2,0 MB
16 paginas
Creado hace 13a (18/01/2012)
1
- Introducción
- Conceptos clave
- Plataformas Linux
- Software
- Explicación
- Ataques de ejemplo
- Dispositivos móviles
- Mensajería instantánea
- Redes sociales y UJAEN
- Plataformas Windows
- Software
- Ataques de ejemplo
- Dispositivos Móviles
- DNS Spoofing
- Detección del ataque
- Acceso a la máquina
- Prueba de ICMP
- Prueba de ARP
- Aplicaciones para detectar sniffers
- Protección frente a Sniffers
- Conclusión
- Referencias
pag
2
3
4
4
4
5
5
6
7
9
9
10
10
11
12
12
12
12
13
14
14
15
Nota1: No nos hacemos responsables de los daños que pueda ocasionar este documento, simplemente
pretendemos que sea algo constructivo y educativo.
Nota2: Las imágenes tomadas en esta guía han sido recogidas practicando los ataques entre los dos componentes
del grupo, no se ha perjudicado a ningún tercero.
Realizado por David Galisteo Cantero y Raúl Moya Reyes - Seguridad en TIC
2
El ataque ‘Man in the middle’, traducido a español como ‘El hombre en el medio’, es un ataque PASIVO, que se
lleva a cabo tanto en redes LAN como WLAN.
Pongamos un simple ejemplo para poner de manifiesto en qué consiste este ataque:
Supongamos que tenemos 3 hosts dentro de una red, host A, host B, y host C. El host A quiere intercambiar
información con el host B (éste host puede o no estar en la misma red), para ello, los paquetes deben enviarse a
través del router que los dirige hacia B. Ahora, si el host C tiene intención de ‘escuchar’ el mensaje que A envía a
B, sólo tiene que adoptar un papel de puente entre A y el router.
Al ser un ataque pasivo, la víctima no detectaría nada raro, de ahí la dificultad de hacer frente a un ataque de este
tipo, como veremos algún apartado más adelante.
En definitiva, este ataque nos permite monitorizar el tráfico que deseemos de una red, tanto de un host hacia el
router, como del router hacia un host.
Realizado por David Galisteo Cantero y Raúl Moya Reyes - Seguridad en TIC
3
A continuación vamos a proporcionar algunos conceptos clave necesarios para comprender y asimilar mejor este
documento, algunos de ellos probablemente los conocerás, pero nunca vienen mal.
Protocolos:
No vamos a entrar en detalle en la explicación de los protocolos ya que se saldría de nuestro tema, si quieres más
información ojea algún libro sobre redes.
-
-
TCP: Este protocolo está orientado a la conexión, permite la multiplexación mediante puertos
(mapeo de puertos), más adelante veremos cómo se capturan paquetes TCP cuando la víctima
conecta con algún servidor. También es el encargado de ‘fraccionar’ la información en datagramas
(paquetes) para su envío a través del protocolo IP como partes independientes (muy útil cuando se
producen fallos en envíos al reenviar sólo el paquete que ha fallado).
IP: Es utilizado por los protocolos de conexión (TCP) para el envío y enrutamiento de los paquetes
El protocolo TCP/IP es el que hace posible el ‘entendimiento’ entre todas las máquinas conectadas a Internet,
cada una con un hardware/software diferentes, hablan el mismo idioma, TCP/IP.
- DNS: Este protocolo se encarga de resolver nombres de dominio en direcciones IP, es de gran ayuda
ya que es mucho más fácil recordar el nombre de dominio de una web, que su dirección IP.
- ARP: El protocolo ARP es de fundamental entendimiento en este trabajo, ya que si no sabemos cómo
funciona no entenderemos este documento. En una red con varios hosts conectados, cada uno con
una dirección IP y una dirección física (MAC), el protocolo ARP se encarga de traducir la IP de un
ordenador a su dirección MAC, así, a la hora del envío de paquetes, un host comprueba qué dirección
MAC tiene la IP a la que quiere enviarle la información.
ICMP: Es el protocolo encargado de hacer labores de control y error, es utilizado, por ejemplo, para
comprobar que un paquete llega a su destino. Cuando hacemos ‘ping’ a cualquier máquina, estamos
enviando paquetes de este tipo.
Sniffer: Software diseñado para monitorizar la actividad de una red de computadores. Si lo utilizamos
de forma ilícita, podemos capturar información de tipo personal (confidencial), y está estipulado
como delito(Artículo 1.4 de la Ley Orgánica 15/1999 de protección de datos de carácter personal).
-
-
- Modo promiscuo de una interface de red: Aquel en el que una tarjeta de red captura todo el tráfico
que circula por una red.
- Arp-spoofing: Ataque que modifica la tabla arp de un host para hacer que resuelva una IP a una MAC
que no es la que le corresponde, el Arp-spoofing es lo que hace posible el ‘Man in the middle’.
Realizado por David Galisteo Cantero y Raúl Moya Reyes - Seguridad en TIC
4
A continuación vamos a hacer alguna demostración de este ataque sobre plataformas Linux. Explicaremos el
software necesario y unos sencillos pasos para llevarlo a cabo.
El software necesario es el siguiente:
Paquete Dsniff: colección de herramientas para auditoría y test de penetración de redes.
- Wireshark (antiguo Ethereal) : Sniffer
-
- Arpspoof: Aplicación del paquete Dsniff para hacer arp-spoofing
-
-
SSLstrip: Aplicación que permite capturar contraseñas en páginas https.
Librerías WinPCap (para Windows) y Libcap (para Linux): Librerías necesarias para la monitorización
de redes.
Bien, vamos a describir como empezar a monitorizar el tráfico de una red con Wireshark:
-
Primero de todo, tenemos que editar el archivo ‘ip_forward’, esto nos permite redireccionar el tráfico
que pasa por nuestra máquina hacia su destino, si no lo hacemos, propiciaremos una denegación de
servicio (DOS) al equipo víctima.
o sudo nano /proc/sys/net/ipv4/ip_forward Cambiamos el 0 por 1
- Después, abrimos el sniffer con una determinada interface de red y con privilegios de root:
o sudo wireshark –i [interface] -i Selecciona interfaz
- A continuación, abrimos dos consolas y ejecutamos estos comandos (uno en cada consola):
o sudo arpspoof –i [interface] –t [ip_objetivo] [ip_router] -t target(objetivo)
o sudo arpspoof –i [interface] –t [ip_router] [ip_objetivo]
Ya estaríamos falseando la tabla ARP de la víctima, dada la manera en la que está hecho este ejemplo,
capturaríamos todo el tráfico que va desde la máquina víctima hacia el router.
Para ver las direcciones IP que están conectadas a nuestra red, podemos entrar a nuestro router desde el
navegador:
Realizado por David Galisteo Cantero y Raúl Moya Reyes - Seguridad en TIC
5
Ahora, en la ventana de Wireshark, vemos que en la barra de herramientas hay 3 botones:
El verde es para especificar las opciones de captura de paquetes, el rojo para empezar una nueva captura, y el
azul, para finalizarla, al pulsar este último, nos da la opción de guardar lo que hemos capturado en un archivo
para su posterior análisis.
Para más información consulta un manual sobre esta aplicación.
Veamos ahora algunos ejemplos con este sniffer.
Se van a exponer ejemplos de las diferentes informaciones que hemos conseguido con este ataque:
En aplicaciones móviles como WhatsApp es relativamente fácil capturar los mensajes enviados/recibidos:
Realizado por David Galisteo Cantero y Raúl Moya Reyes - Seguridad en TIC
6
Igual que el anterior, la información enviada a través de msn, también se puede capturar facilmente:
Veamos lo que contenía el mensaje:
Realizado por David Galisteo Cantero y Raúl Moya Reyes - Seguridad en TIC
7
Para este ejemplo, vamos a hacer uso de la aplicación anteriormente mencionada ‘SSLstrip’. El protocolo SSL
(secure socket layer) es utilizado actualmente por muchas webs para enviar datos de una forma segura.
El funcionamiento de SSLStrip es simple, reemplaza todas las peticiones “https://” de una página web por
“http://” y luego hace un MITM entre el servidor y el cliente. La idea es que la víctima y el atacante se
comuniquen a través de HTTP, mientras que el atacante y el servidor, se comunican a través de HTTPS con el
certificado del servidor. Por lo tanto, el atacante es capaz de ver todo el tráfico en texto plano de la víctima.
Demostración:
-
Empezamos abriendo una consola y escribimos lo siguiente:
o
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 10000
Con esta línea lo que hacemos es redireccionar el puerto 80 al 10000
- Ahora abrimos SSLstrip y le decimos que guarde las capturas en un fichero:
o sslstrip –w capturas.txt
Estos son los resultados:
FACEBOOK
Realizado por David Galisteo Cantero y Raúl Moya Reyes - Seguridad en TIC
TUENTI
8
Y por último, pero no menos importante, CREDENCIALES DE LA UJAEN
Realizado por David Galisteo Cantero y Raúl Moya Reyes - Seguridad en TIC
9
Bien, ahora vamos a realizar el ataque sobre una plataforma Windows, como veremos, es mucho más sencillo que
en Linux, solo apretar un par de botones.
Para esta demostración solo utilizaremos una aplicación, Cain, que es otro sniffer pero sólo para Windows, que
podemos ver en la siguiente imagen:
Para configurarlo, pulsamos en ‘Configure’ en la barra de herramientas, seleccionamos la interfaz que vayamos a
utilizar (aquella cuya ip sea distinta de 0.0.0.0), en la pestaña ‘Filters and ports’, marcamos todos:
Realizado por David Galisteo Cantero y Raúl Moya Reyes - Seguridad en TIC
10
En estos ejemplos pretendíamos capturar credenciales en páginas https, pero sólo lo hemos conseguido con http,
aunque las contraseñas están cifradas.
Para comenzar con
Comentarios de: Man in the middle - Ataque y Detección (0)
No hay comentarios