Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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:
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)
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:
(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)
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.
Lo primero que haremos es limpiar la tabla ARP, para que vuelva a construirla.
Asi que lo tenemos que dejar sin conexion como sea, si como sea. Las
opciones mas viables son:
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):
$ 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.