Sei sulla pagina 1di 8

Ataque Man in the Middle y Wireshark (dificultad media)

Bueno esta entrada va dirigida a usuarios que usen alguna distribución del sistema operativo
Linux(Ubuntu,Backtrack...). No es necesario tener una distro especializada en pentester pero si recomendable.

Primeramente vamos a explicar en que consiste el ataque MITM y qué vamos a practicar con este tutorial.
El contexto para realizar esta práctica será en una red de área local (LAN) en la que habrá un router/switch un
pc1(atacante) y un pc2(víctima). Esta situación dicha así es la de cualquier usuario en su casa, es decir tienes un
router al cual te conectas ya sea por wifi o por cable y hay varios ordenadores por ejemplo el de tu hermano y el
tuyo. Independientemente del número de ordenadores que tengamos solo nos hará falta tener una distro de Linux
en el nuestro, los demás pueden ser windows o lo que queráis, pueden ser incluso una PSP,...

Cuando nos conectamos a internet nuestro PC intercambia datos con el router (Le preguntamos por ejemplo
Google y el nos devuelve la página de Google). Pues con el ataque MITM lo que haremos será que el
pc2(víctima) en vez de preguntar directamente al router, nos pregunte a nosotros y a su vez nosotros al router,
haremos entonces de intermediarios. En esta imagen se ve gráficamente el esquema de un MITM:

Los programas usados serán Wireshark, Nmap y Tcpxtract,

Para instalarlos utilizaremos la herramienta apt-get install o nos descargaremos el paquete debian de la web de
dichos programas.(PANTALLAZOS INSTALANDO LOS TRES PROGRAMAS)
Una vez tenéis todo listo comenzaremos:
Abrid un terminal en modo root (sudo su y contraseña) y escribimos lo siguiente:

wireshark &

Con esto se iniciará el programa Wireshark. ¿Para qué sirve el símbolo &? (PANTALLAZO DEL PROGRAMA)

Para ver Ipvictima y la Iprouter tenemos varias opciones, la ip del router suele ser 192.168.1.1 pero podeis verlo
con el comando arp -a .

La victima que vais a escanear será la de vuestro compañero de al lado (o si usamos máquina virtual, el ubuntu
que tengamos en virtualbox)

Podemos ver los ordenadores encendidos de nuestra red ejecutando:


nmap 192.168.1.1-255
(pantallazo)
Esto os mostrará todas las ips de vuestra red local, os fijais en quien será vuestra víctima y listo.
Una vez hecho esto, lo dejais sin cerrar la terminal.

El wireshark es un capturador de paquetes de red, es decir esnifa todo el tráfico de red que esta pasando por
vuestra interfaz de red, tanto si la ip destina somos nosotros como si no.. Ahora vamos al wireshark y le damos a
start live capture, en las versiones mas nuevas de wireshark os aparecera un recuadro con la lista de interfaces
para que solo haciendo click en la que querais comienza a sniffar datos.

En la ventana verde podemos filtrar los datos por protocolo, ip u otras opciones.

Para filtrar sólo nuestra ip objetivo (del equipo windows anfitrión) ponemos(substituir pantallazo):

Para encontrar contraseñas se podía realizar un filtro más específico, cómo por ejemplo:
ip.adrr==192.168.1.x && frame contains “login”
Navegamos un poco por webs con imágenes, una vez que queramos parar de esnifar datos le damos a stop y la
guardamos la captura con el nombre que queramos en la carpeta que queramos pulsando sobre la opción file-
>save as.

Ahora que ya tenemos nuestro archivo .pcapng vamos a extraer todos los datos de esa navegación y en esa
misma terminal ejecutamos el siguiente comando:

tcpxtract -f [archivo_captura] -o [destino_resultado_captura]

por ejemplo si realizamos

tcpxtract -f captura.pcapng -o Descargas

Extraera todos los ficheros de la conexión en el directorio Descargas

(pantallazo de la orden y su salida, del directorio y de algún fichero abierto que se pueda leer)

El tcpxtract lo que hace es desencriptar el archivo de datos esnifados con el wireshark, con la opción -f
indicaremos la ruta de donde guardamos el archivo del wireshark, por ejemplo /home/user/Escritorio/captura y con
la opción -o lo que haremos es decirle donde extraerá las cosas obtenidas de dicha captura por ejemplo
/home/user/Escritorio/cosas_captura/

Como véis el tráfico capturado por wireshark es todo lo que haga tu víctima y todo lo que hagas tu. El tráfico que
este encriptado (como el tipo ssl), es decir contraseñas de Gmail, etc.. saldrá encriptado aunque le paséis el
tpcxtract, para este tipo de seguridad ahi que profundizar mas en la desencriptación y en esta ocasión lo
dejaremos así. Con esta práctica solo capturaremos texto plano.

En resumen quiero que vean la facilidad de invadir vuestra privacidad en una red local. Así que tened cuidado de
donde y que visitáis con vuestro navegador.

Ahora te toca a ti investigar cómo podrías conseguir una contraseña de un sitio web con wireshark, siguiendo el
stream tcp de una comunicación. (investigación para subir nota)

PARTE II DETECTANDO EL ATAQUE

Detectar y bloquear ataques MITM


NOTA: Este apartado realizarlo con dos ordenadores físicamente distintos

¿Como se si estoy siendo victima de un MITM?


La respuesta es muy simple esta metodología de ataque se basa en ponerse en
medio de la conexión, en este caso entre el PC y el router, así que haciendo
un tracert en Windows se puede saber por donde va mi trafico. Abrimos en
cmd y escribimos tracert <url_cualquiera>
(Substituir este pantallazo por otro en el que se vea que estas siendo
atacado, por el ordenador de tu compañero.. su ip tiene que tener la
misma mac que el router)

Podemos ver claramente que el primer salto lo da a 192.168.1.39 (ip del atacante).

Así que miraremos la tabla ARP haber si ha sido por culpa de un "arp
spoofing", que lo que hace es cuando la victima dice: ¿Quien es el gateway?, el
atacante dice: "Soy yo", y lo mete en su tabla arp, con lo que TODO el trafico
de esa victima pasara por el atacante.

*Las tablas Arp podemos imaginarlas como un listin telefónico, que debera
estar escuchando peticiones, por si hubiera nuevos equipos en la red para
poderse comunicar con X equipo cuando se necesite.

Para consultar las tablas ARP hacemos: arp -a

192.168.1.1 y 192.168.1.39 es la misma MAC.


(Substituir pantallazo)

Lo primero que haremos es limpiar la tabla ARP, para que vuelva a construirla.

netsh interface IP delete arpchache

y la volvemos a consultar con arp -a

Este método nos valdrá cuando el atacante ya se ha ido de nuestra red, si no


nos volvera a envenenar.

Asi que lo tenemos que dejar sin conexion como sea, si como sea. Las
opciones mas viables son:

1º Desactivar la wifi y volver a hacer el paso anterior.


2º Acceder a la ip del router y añadirlo en bloqueo por ip o MAC.
3º Usar aplicaciones que detecten cambios en la cache ARP.

Vamos a ver programas que detectan el ataque mitm, usaremos Patriot-NG de


Security-Projects(Pantallazo instalando el programa), aunque el programa
marmita también es válido para quién quiera probarlo.
Ahora cuando vuelvo a poner ethercap con wireshark a envenenar, saltaron los
dos programas, nos avisa que la mac del router ha sido cambiada. (pantallazo)

Desgraciadamente, muchas de estas opciones no funcionan correctamente todas las veces, así que
hay que acudir a programas detectores de posibles intrusos (realizar un pantallazo en el que se
detecte con dichas herramientas una ip en modo promiscuo con el wireshark):

Existen programas que pueden hacer esta labor como:


Nast. ( Network Analizer Sniffer Tool. )
http://nast.berlios.de/
Herramienta para Linux. Nast es un Sniffer multipropósito. Entre otras funciones,
realiza:
•listado de host de una red,
•búsquedas de Gateway,
•control y secubrimiento de ARP-Spoofing
•reseteo de conexiones TCP establecidas,
•búsqueda de dispositivos hub / switch,
•scan de puertos
•seguimiento de TCP data Stream
•…..
•y, lo que nos interesa: descubrimiento de modo promíscuo en interfaces de red,
Para este propósito tan solo ejecutar naast de la forma:

nast -P, 192.168.1.30


Nast V. x.x.x
This check can have false response, pay attention!
Scanning for sniffer the following host:
192.168.1.15 (192.168.1.30) ———> Found!
nos devolverá información de si dicha IP está (la interface de red) en modo promíscuo.
CMP (Check Promiscuous Mode)
ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/cpm/
Este pequeño programa realizado por la Universidad de Carnegie Mellon, chequea el
interfaz de red de la máquina descubriendo si está siendo utilizado en modo promíscuo
(escuchando todo el tráfico de la red).

$ cpm
4 network interfaces found:
eth0:5: Normal
eth0:3: Normal
eth0:2: Normal
eth0:1: Normal
eth0: *** IN PROMISCUOUS MODE ***
Existen otros programas como Antisniff, Sentinel, SniffDet, ifstatus o NEPED:
Pregunta de investigación.

1. Instalar y ejecutar la herramienta arpwatch (pantallazo instalación y


pantallazo poniéndola a escanear la tarjeta de red conectada a la red de
ciclo)
2. ¿Para que sirve? Prueba a poner en modo promiscuo (arp spoof) la
tarjeta de red de un compañero con el wireshark (pantallazo). Cómo lo
detecta el arpwatch? (pantallazo viendo que lo detecta)

Potrebbero piacerti anche