You are on page 1of 17

MITM, DNS Spoofing y Set

Eduardo Arriols Nuez

En este documento vamos a hablar sobre los ataques MiTM (Man in The Middle), que son y una de las formas ms bsicas de realizarlos. Tambin veremos cmo podramos crear una web falsa, haciendo una copia exacta de otra web con la herramienta SET (Social Engineer Toolkit) y adems veremos cmo es posible redireccionar a las vctimas del MiTM o a las vctimas que se hayan conectado a nuestro Fake AP a la web falsa que hemos creado en vez de a la pagina real. Entrando en materia, lo primero que vamos a hacer es definir que es un MiTM o un ataque de hombre en el medio. Es un ataque bastante comn en el que el atacante es capaz de interceptar una comunicacin entre dos maquinas sin que ninguna de ellas conozca lo que est ocurriendo, esto va a permitir al atacante leer, inyectar o modificar cualquier tipo de informacin que sea transmitida entre ambas maquinas. Es decir, el atacante estar en medio de la comunicacin, por lo que cuando la vctima enve un paquete al servidor realmente lo estar enviando al atacante, y ser este el que se encargue de hacerle llegar el paquete al servidor como si fuera la vctima. Ocurrir lo mismo cuando el servidor mande paquetes a la vctima, que antes de llegar a la victima pasaran por el atacante.

Antes de ver un ejemplo prctico vamos a ver un poco la teora de como se produce este tipo de ataques. Lo primero que tenemos que hacer para poder recibir los paquetes tanto de la vctima como del servidor es realizar un ataque ARP Spoofing (necesario nicamente en redes switcheadas y no con hubs ya que en este caso todas las comunicaciones ya llegan a todos los host). Este ataque se basa en rellenar las tablas

ARP tanto de la vctima como del servidor engandoles para que crean que nosotros (el atacante) es la maquina hacia la que quieren comunicarse. Vamos a ver un ejemplo: Supongamos que nuestra MAC es 00:11:22:33:44:55 La tabla ARP de la victima (IP 192.168.1.2) antes del ataque seria Direccin IP 192.168.1.1 (Router) > MAC: FA:54:DE:2C:37:99 La tabla ARP de la victima 2 (IP 192.168.1.1) que en este caso sera el router para poder interceptar las comunicaciones en una LAN, antes del ataque seria Direccin IP 192.168.1.2 (Victima 1) > MAC: 3F:54:E2:CA:21:D3

Una vez ejecutado el ataque, las tablas ARP de las victimas serian las siguientes: La tabla ARP de la victima (IP 192.168.1.2) seria Direccin IP 192.168.1.1 (Router) > MAC: 00:11:22:33:44:55 La tabla ARP de la victima 2 (IP 192.168.1.1) seria Direccin IP 192.168.1.2 (Victima 1) > MAC: 00:11:22:33:44:55

Como vemos ahora las maquinas victimas no enviaran los paquetes a nosotros, y ahora tendremos que redirigir esos paquetes para sus respectivos destinos, pudiendo modificar, leer o inyectar cualquier informacin que deseemos en la comunicacin. Para que este ataque sea efectivo tendremos que estar mandando paquetes ARP maliciosos a ambas maquinas de forma continua para evitar que refresquen su tabla ARP con los valores correctos. Este tipo de ataques se puede hacer con infinidad de herramientas como CAIN, Ettercap, etc. Ahora vamos a ver cmo podramos realizar este ataque en un entorno real. Lo primero que tenemos que hacer es abrir una consola e introducir:
echo 1 > /proc/sys/net/ipv4/ip_forward (para activar el reenvi de paquetes).

Despus introducimos:

iptables -t nat -A PREROUTING -p tcp destination-port 80 -j REDIRECT to-port 10000 (regla de IPTABLES para que se lleve a cabo la direccin).

Ahora vamos a realizar el ataque ARP Spoofing. Este lo podemos realizar a toda la red, de forma que todo pase por nosotros o podemos hacerlo nicamente entre dos maquinas. Las formas de hacerlo serian las siguientes: A toda la red:
arpspoof -i INTERFAZ_RED IP_ROUTER

nicamente entre dos maquinas:


arpspoof -i INTERFAZ_RED -t IP_VICTIMA1 IP_VICTIMA2 y arpspoof -i INTERFAZ_RED -t IP_VICTIMA2 IP_VICTIMA1

(En dos ventanas distintas para realizar el ataque en ambas maquinas) En nuestro caso prctico seria: arpspoof -i wlan0 -t 192.168.1.1 192.168.1.10 y arpspoof -i wlan0 -t 192.168.1.10 192.168.1.1

Como vemos en la imagen hemos seguido todos los pasos, por lo que ahora mismo estaramos en medio de la conexin entre el router y el equipo vctima. Como vemos a continuacin en el equipo victima hemos conseguido cambiar en la tabla ARP la direccin MAC del router, haciendo que sea la nuestra.

Ahora si quisiramos ver todo el trafico de la maquina victima que nicamente necesitaramos abrir algn analizador de paquetes como wireshark y lo veramos todo, como por ejemplo las claves en claro que introdujera la vctima en alguna web (bajo HTTP, aunque ms adelante veremos cmo hacer lo mismo para HTTPS). En el prximos post hablaremos de cmo realizar un ataque DNS Poisoning adems de ver cmo crear una web falsa mediante la herramienta SET.

Ahora vamos a ver como podramos con la situacin anterior redirigir a las vctimas a una pgina falsa creada por nosotros, con el fin normalmente de obtener credenciales de acceso a alguna web o crear una web que adems se dedique a lanzar exploits contra el navegador de la victima intentando explotar alguna vulnerabilidad y tener acceso a su PC. En este post vamos a tratar la primera opcin, pero en el siguiente post abordaremos la segunda Para empezar lo primero que deberamos hacer sera crear una web falsa o una copia de la web de la que queremos obtener los credenciales de la vctima. Para ello tenemos varias opciones pero en mi opinin la mejor es la herramienta SET (En siguientes post nos meteremos ms a fondo con esta herramienta ya que tiene de todo), as que vamos al lo... Debemos abrir la herramienta y nos aparece el siguiente men donde deberemos pulsar la opcin que aparece en la imagen, en este caso la 1 para realizar ataques de ingeniera social

Despus nos aparece la siguiente imagen donde debemos seleccionar la 2 para realizar ataques web

A continuacin se nos da a elegir entre una serie de vectores de ataque a nivel web, del que en este caso tenemos que seleccionar el 3 ya que vamos a realizar un robo de credenciales

Ahora nos pide que seleccionemos de que forma vamos a realizar el phishing, y en este caso seleccionaremos la 2 opcin para realizar una copia de un sitio web

Ahora llegamos a la parte donde nos pide ciertos datos, concretamente nos va a pedir la direccin IP que alojara la web, en este caso ser mi PC con la IP 192.168.1.17 como se puede ver en la imagen

Y para terminar nos pide lgicamente cual es la web que queremos copiar, en este caso yo voy a hacer una copia de twitter.com

Una vez hemos seguido los pasos nos monta la web en el puerto 80 como podemos observar a continuacin

Una buena forma de comprobar que todo ha salido bien es realizar una conexin desde nuestro navegador a localhost o 127.0.0.1

En este caso como vemos la ha creado perfectamente, y adems como podemos ver abajo a la izquierda la herramienta SET nos indica desde donde se ha realizado la peticin, que recurso a pedido, fecha , etc. Bueno, llegados a este punto ya tenemos nuestra web falsa o nuestro phishing listo, ahora debemos realizar el MiTM visto en el post anterior. Como las condiciones en las que estn montados los equipos son un poco distintas vamos a ver de nuevo como lo haramos. La configuracin de ambas maquinas es la siguiente

En este caso tengo mi PC con Backtrack y un Windows XP en una maquina virtual conectada mediante NAT, por lo que vamos a realizar un ataque MiTM al Win XP (Aunque se podra hacer de otras formas ya que soy yo su router o gateway, de todas formas vamos a verlo para demostrar como se hara en otros casos). Los pasos a seguir para poder realizar el MiTM serian los que podemos observar en la siguiente imagen

Una vez realizados esos pasos ya estaramos de MiTM. Vamos ahora que es y como podemos realizar un ataque de DNS Spoofing. Para empezar un ataque DNS Spoofing se basa en que dada una situacin de MiTM donde todas las comunicaciones pasan por nosotros, estar a la escucha de todas y cada una de las peticiones DNS que realice una o ms maquinas con el fin de que cuando esas maquinas que estn siendo monitorizadas por el MiTM hagan una peticin a una cierta web, el atacante capture esa peticin y en vez de mandarla al DNS verdadero sea l, el que responda a la peticin, suplantando la identidad del DNS y ofreciendo una respuesta falsa a dicha peticin. Con esto logramos que si nosotros queremos suplantar la web de Titear, cuando alguien pregunte por Twitter (Mande una peticin DNS para conocer la IP del servidor de Twitter) seamos nosotros los que respondamos y en vez de mandar a la vctima al servidor legtimo lo mandaremos al servidor que hemos montado nosotros para realizar el phishing. Para realizar este ataque tenemos la herramienta dnsspoof, la cual necesita como parmetro de entrada un fichero donde se encuentran las web de las que queremos capturar la peticin DNS y servir una respuesta falsa. Un ejemplo de este fichero seria como se muestra a continuacin

Con este archivo le estaramos diciendo que todo aquel que est bajo el MiTM y pregunte por Facebook sea redirigido a la IP 192.168.1.17 en vez de al servidor real. Ahora para poder ejecutar el ataque DNS Spoofing deberamos introducir el siguiente comando
dnsspoof -i INTERFAZ_DE_RED_UTILIZADA -f FICHERO_HOSTS

En mi caso el comando ser un poco distinto ya que al estar haciendo NAT a la maquina victima tengo que decirle al programa que a mi PC (El atacante) tambin le realice el ataque, esto se consigue con el siguiente comando, donde especificamos al host al que queremos realizar el ataque (Lo cual tambin puede ser til en otras situaciones de MiTM donde nicamente queramos dirigir el ataque de phishing a una determinada IP)
dnsspoof -i wlan0 -f hosts host 192.168.1.17 and udp port 53

Para comprobar que todo el vector de ataque de MiTM y DNS Spoofing va de forma correcta nos vamos a la maquina vctima, abrimos el navegador y vemos que en chrome al poner facebook.com ya est realizando una peticin DNS que es capturada por la herramienta dnsspoof por lo que todo va sobre rueda. Ahora realizamos la peticin y vemos que nos sale lo siguiente

Como vemos funciona PERFECTAMENTE, ya que a capturado la peticin DNS y le ha redirigido a nuestro servidor falso como podemos observar tanto a la izquierda en el dnsspoof como a la derecha en el navegador. Como veis estamos en el dominio supuestamente de facebook.com pero nos est sirviendo la web de Twitter Y esto porque? Pues porque al principio hemos copiado la web de Twitter, y despus en el dnsspoof le hemos dicho que todo aquel que pregunte por Facebook sea redirigido a nosotros, por lo que cuando alguien pregunte por Facebook le saldr Twitter. Esto lo he hecho para que vierais que no hay trampa ni cartn en la prueba, lo lgico sera poner siempre la misma en ambos Por ejemplo para copiar Twitter de verdad en este ataque nicamente tendramos que cambiar el archivo hosts por lo siguiente

En nuestro caso yo voy a seguir con el dominio de Facebook para no alargar demasiado el post. Ahora que ya tenemos todo montado, suponiendo que realmente el dominio es Twitter y no Facebook, simulamos se r una vctima y nos logeamos a Twitter al no sospechar pues la web es complementa igual y no se ve nada raro

El usuario que hemos utilizado es esto es una prueba y la pass es la misma. Cuando el usuario la da a Iniciar Sesin vemos que pasa lo siguiente

Como vemos el usuario es redirigido a la web REAL de Twitter, por lo que creera que ha introducido mal el usuario y se logearia sin problemas en su Twitter pero Mientras tanto el atacante como podemos ver en la siguiente imagen habr obtenido el usuario y contrasea de la victima sin esta haberse percatado

Y con esto hemos llegado al final del post, donde hemos visto como sera posible realizar un MiTM en una red, crear una web falsa para realizar phishing y capturar todas las peticiones DNS para modificar aquellas que nos interesen y enviarlas a nuestro servidor falso. El ejemplo como ya he dicho esta hecho sobre el dominio de Facebook con la web de Twitter para que vierais que ambas cosas son completamente independientes y que este tipo de ataques son muy flexibles y es posible hacerlos mucho ms elaborados

You might also like