You are on page 1of 10

Taller Wireshark y ARP-Spoofing

Taller Wireshark, ataque y contramedidas arp-spoofing usando


ettercap y arpwatch

Inicialmente verifiquemos que tenemos los componentes necesarios para el desarrollo del taller:
 Maquina atacante
 Maquina Victima
 Wireshark, ettercap y arpwatch instalados en el atacante

Una vez confirmado lo anterior inicializamos la dos maquinas y nos posicionamos en la maquina
atacante.

Wireshark

Desde un usuario privilegiado (Administrador) abrimos nuestra


herramienta de monitoreo Wireshark, esto es debido a que para
poder trabajar e inicializar de manera efectiva las interfaces de red
se deben poseer ciertos privilegios.

Una vez tenemos la aplicación abierta, pasamos a conocer las


funcionalidades de los botones de la interfaz principal y en seguida pasamos a los sub-menús que
nos serán útiles para este taller.

Carlos Andrés Rodallega Obando Página 1


CAMPUS PARTY Colombia 2010 carlosrodallega@gmail.com
Taller Wireshark y ARP-Spoofing

En seguida vamos al menú de captura (Capture) y seleccionamos la opción Interfaces, en donde


nos aparecerá lo siguiente.

Cerramos esta ventana y abrimos Capture->Options… En seguida tendremos la ventana que nos
permitirá configurar la herramienta para una captura más depurada.

Carlos Andrés Rodallega Obando Página 2


CAMPUS PARTY Colombia 2010 carlosrodallega@gmail.com
Taller Wireshark y ARP-Spoofing

Seguido presionamos el botón Capture Filter y en seguida se nos presentara la ventana que nos
permitirá crear o elegir un filtro de captura.

Una vez se ha configurado el filtro a usar, damos ok y seleccionamos la opción start para que la
herramienta comience a realizar la captura.

Carlos Andrés Rodallega Obando Página 3


CAMPUS PARTY Colombia 2010 carlosrodallega@gmail.com
Taller Wireshark y ARP-Spoofing

Actividades del taller

1. Antes que nada debemos asignar una dirección IP a nuestra maquina monitor, en nuestro
caso como tenemos un servidor DHCP usamos el comando

 Monitor->#dhclient
Solicita una dirección IP al servidor DHCP

2. Ya para comenzar con wireshark no establecemos ningún filtro de captura, así que vamos
a capturar todo el tráfico que llegue a nuestra interfaz de red.
Debemos tener en claro que dependiendo de la actividad y la arquitectura de la red en la
que se encuentra nuestra maquina atacante se pueden capturar paquetes o no.
Cualquiera que sea el caso generaremos algo de tráfico haciendo ping a nuestra puerta de
enlace.

 Monitor->#route
Muestra la tabla de enrutamiento

 Monitor->#ping IP_Gateway
Hacemos ping a la puerta de enlace

Después de unos segundos detenemos la captura.


¿Qué información nos da la herramienta del tráfico capturado?
Interpretación de la captura.

3. A partir de este punto por cada captura que hagamos con nuestra herramienta, vamos a
guardar la información antes de iniciar una nueva.

Para grabar en un formato que se pueda volver a cargar por el


whireshark vamos a:
File -> Save As

Para exportarlo a un archivo de texto:


File -> Export -> As “plain text file”

4. Ahora iniciamos una nueva captura y con un navegador web desde nuestra victima
(maquina virtual que se sugirió) abrimos una página cualquiera de internet.
Como se puede ver se nuestra herramienta capturo diferentes paquetes de entrada y
salida al momento de abrir una página web.
Explicación de la captura.

Si en un entorno pequeño en este caso con un dos equipos, se captura un gran cantidad de tráfico,
ahora la pregunta que nos debemos hacer es ¿Cómo será tratar de supervisar el trafico en una red
demasiado concurrida? Una posible solución a este problema sería…

Carlos Andrés Rodallega Obando Página 4


CAMPUS PARTY Colombia 2010 carlosrodallega@gmail.com
Taller Wireshark y ARP-Spoofing

5. Ahora vamos a usar un filtro predeterminado en las capturas, esto con el fin de disminuir
capturas que en el momento no nos interesan.

Teniendo clara la IP del equipo que deseamos monitorear vamos


a usar el filtro de direcciones IP, en opciones de captura en
el campo de filtro de captura escribimos lo siguiente:

host Ip_target

Con lo anterior le decimos a nuestra herramienta que capture todo el tráfico que involucra
a la IP del objetivo

6. En el paso anterior teníamos las capturas de entrada y salida de esa IP, pero si solo
necesitamos visualizar el tráfico que sale de esa IP, vamos a crear una expresión que me
filtre esa información.

En la interfaz principal damos click en el botón de agregar


expresión:

En field name seleccionamos IP -> ip.src, en relación == y


por último la IP del objetivo, damos OK y en la interfaz
principal Apply

Como se puede ver ya estamos filtrando la visualización a solo paquetes que salen de una
IP específica.

Carlos Andrés Rodallega Obando Página 5


CAMPUS PARTY Colombia 2010 carlosrodallega@gmail.com
Taller Wireshark y ARP-Spoofing

7. Para poner un poco más interesante vamos a establecer un chat con netcat y usaremos
wireshark para capturar esa conversación.

En el cualquiera de las dos maquinas ponemos el servidor en


este caso lo pondré en el servidor:

 Monitor->#nc –lp 1503

La maquina cliente se conectara a la ip del servidor en el


puerto establecido:

 Target->#nc IP_Monitor 1503

Hecho esto tenemos un chat entre las dos maquinas, ahora usando lo anteriormente visto
creamos una nueva expresión que nos sirva para filtrar el tráfico del puerto TCP 1503

De nuevo vamos a agregar expresión, en field name


seleccionamos TCP -> tcp.port, en relación == y por último el
numero del puerto en este caso 1503, OK y Apply

En seguida comenzamos la captura y generamos actividad en el


chat (unas 5 frases entre los clientes son suficientes).

Ahora tenemos la información del tráfico que involucra al puerto 1503.


Seleccionando los frames que nos muestra nuestra herramienta podemos ver que estos
tienen una parte de información o DATA.
 ¿Que contiene ese DATA?
 ¿Por qué se puede visualizar eso?

8. ¿Es posible capturar conversaciones de Messenger de esta forma?


¿Qué permite el filtro msnms?

9. Enseguida vamos a generar un filtro compuesto de dos expresiones, este nos permitirá
capturar el login y contraseña de un usuario cuando esta trata de autenticarse en una
página que no usa el protocolo seguro https, enviando así los datos de forma insegura.

Entonces comenzamos una nueva captura sin ningún tipo de


filtro, ahora desde la víctima en una consola de comandos
hacemos ping a 3 sitios en internet y con el navegador web
accedemos a varias páginas de internet 8 aproximadamente
(esto es con el fin de que se capture una gran cantidad de
paquetes), por ultimo vamos a la página:

http://roguer.100webspace.net/login

Aquí intentamos iniciar sesión, con un nombre de usuario


cualquiera y una contraseña cualquiera.

Carlos Andrés Rodallega Obando Página 6


CAMPUS PARTY Colombia 2010 carlosrodallega@gmail.com
Taller Wireshark y ARP-Spoofing

Volviendo a la máquina de monitoreo y a nuestra herramienta


observamos una gran cantidad de frames capturados, así que
como ya lo hicimos antes creamos un filtro que nos muestre
solo la información que tiene como origen la maquina objetivo
y otro que muestre todo lo que se relacione con el puerto 80,
para lo anterior tendríamos:

ip.src == IP_target
tcp.port == 80

Ahora vamos a unir estas expresiones con el fin de que solo


se muestre la información que sale del objetivo y que se
relaciona con el puerto 80, entonces tendríamos

ip.src == IP_target and tcp.port == 80

¿Funciono este filtro?

Ahora vamos a crear un filtro que me capture los paquetes que


envían datos usando el método post, entonces tendríamos…

¿Sugerencias? => Lo construiremos entre todos

¿Se logro capturar información crítica?


¿Que sucede si intento lo mismo en la siguiente pagina?

https://www.unicauca.edu.co/rc1

10. Enseguida vamos a transmitir con netcat una imagen por la red y vamos a capturar este
tráfico, esto con el fin de guardar la captura para después tratar de reconstruir el archivo.

Ahora iniciamos una nueva captura con o sin filtro, y ponemos


con netcat un puerto a la escucha que nos envie un archivo al
recibir una conexión:

 Target->#nc -lp 1503 < imagen.jpg

Ahora desde el atacante nos conectamos a ese puerto y


recibimos el archivo.

 Monitor->#nc –lp 1503 > trafico.cap

Una vez hecho esto guardamos la captura en el formato por


defecto .cap y procedemos a reconstruir la imagen así:

 Monitor->#tcpxtract -f trafico.cap -o capturado/

Carlos Andrés Rodallega Obando Página 7


CAMPUS PARTY Colombia 2010 carlosrodallega@gmail.com
Taller Wireshark y ARP-Spoofing

ARP-Spoofing Ataque con ettercap

Como se explico en la presentación previa al taller, cuando nos encontramos trabajando sobre una
red swicheada al tratar de capturar el tráfico con nuestra herramienta Wireshark, solo vamos a
poder capturar el tráfico que tiene como origen y destino a nuestra tarjeta.
Lo anterior puede frustrarnos y llevarnos a pensar en que no estamos haciendo bien las cosas o
que nuestra herramienta simplemente no funciona. Pero si aplicamos un poco de lógica una
posible solución a esto es realizar el ataque de envenenamiento de tablas ARP (ARP-Spoofing).

Para lo cual realizamos lo siguiente:

 Atacante->#ifconfig
Nos muestra la configuración de la interfaz de red del atacante

Para ejecutar el ataque necesitamos saber por lo menos la dirección_IP de nuestra víctima, en
nuestro entorno seguro basta con ir y mirar la configuración de esta.

 Victima->#ifconfig Victima->ipconfig
Nos muestra la configuración de la interfaz de red de la victima

 Victima->#arp –a
Con el comando anterior se nos presentaran los registros de las tablas ARP.

 Atacante->#wireshark
Con nuestra herramienta de monitoreo inicializada, comenzamos a hacer la captura del
trafico de la red ya sea usando filtros o no. ¿Qué sucede?
En respuesta a esto procederemos a envenenar las tablas ARP necesarias

Como todo el tráfico que sale o entra a nuestra victima pasa por la puerta de enlace,
procederemos a envenenar las tablas ARP de estas dos maquinas:

 Atacante->#ettercap –Tq –M arp /ip_victima1/ /ip_victima2/


Con ettercap envenenamos las tablas ARP de las dos víctimas, en este caso la víctima y la
puerta de enlace.
Parámetros:
 Tq => Indica que lo ejecutamos desde consola pero que no muestre los paquetes
capturados.
 M => Tipo de ataque “Hombre en medio”
 Arp => Parámetro del tipo de ataque que indica que se hará arp-spoofing

Una vez se ha lanzado el ataque podemos verificar con el wireshark, que nuestro atacante está
enviando paquetes que mienten acerca de la dirección MAC de las IP involucradas y además ya
aparece el trafico de las otras maquinas.

Carlos Andrés Rodallega Obando Página 8


CAMPUS PARTY Colombia 2010 carlosrodallega@gmail.com
Taller Wireshark y ARP-Spoofing

Ahora vamos a la victima a ver qué cambios hay.

 Victima->#arp –a
Verificamos de nuevo la tablas ARP en donde se debe ver que dos IP diferentes tienen la
misma MAC.

De vuelta en el atacante haciendo uso de las herramientas de supervisión y opciones de filtro que
estas nos ofrecen, podemos supervisar el tráfico entre esos dos equipos.
Cuando se desee detener el ataque, en la consola en la que se está ejecutando el ettercap
presionamos la tecla Q, de inmediato este re-envía respuestas de tipo ARP con datos verdaderos y
se termina la ejecución de la aplicación.

ARP-Spoofing Contramedidas con Arpwatch

Una vez instalado vamos a poner a correr el Arpwatch.

 Victima->#arpwatch –i eth0
Iniciamos el demonio (proceso background) de arpwatch.

 Victima->#ps –e | grep arp


Miramos los procesos y filtramos, si el arpwatch ha iniciado debe aparecer en este listado

Para hacer que arpwatch nos envié notificaciones por correo debemos tener instalado un servidor
de correo en nuestra maquina (postfix). Cumpliendo con los requisitos ejecutamos el arpwatch de
la siguiente manera:

 Victima->#kill id_proceso
Matamos el proceso actual del arpwatch si está corriendo

 Victima->#arpwatch –i eth0 –m correo@destino.com


Iniciamos arpwatch para que nos envíe notificaciones a un correo específico.

Ahora atacamos de nuevo con ettercap y miramos las notificaciones que se han generado

 Victima->#cat /var/log/syslog
Visualizamos el log syslog, en el cual arpwatch pone las notificaciones

 Victima->#cat /var/log/syslog | more


Miramos el log syslog, detenidamente

 Victima->#cat /var/log/syslog | grep arpwatch


Filtramos para que solo muestre las notificaciones escritas por arpwatch

Carlos Andrés Rodallega Obando Página 9


CAMPUS PARTY Colombia 2010 carlosrodallega@gmail.com
Taller Wireshark y ARP-Spoofing

ARP-Spoofing Contramedidas con…

 Ettercap nos permite usar un plugin (arp_cop) para monitorizar las


tablas arp.

 En Windows está el WinArpwatch

 Hay antivirus para Windows que detectan este tipo de ataque y evita
que se envenenen las tablas arp.

 ¿Sugerencias de contramedidas?

FIN

De despedida si aun no son las 12 añadimos al arp-spoofing un


dns-spoofing…

Carlos Andrés Rodallega Obando Página 10


CAMPUS PARTY Colombia 2010 carlosrodallega@gmail.com