Taller Wireshark

10
Taller Wireshark y ARP-Spoofing Carlos Andrés Rodallega Obando Página 1 CAMPUS PARTY Colombia 2010 [email protected] 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.

Transcript of Taller Wireshark

Page 1: Taller Wireshark

Taller Wireshark y ARP-Spoofing

Carlos Andrés Rodallega Obando Página 1 CAMPUS PARTY Colombia 2010 [email protected]

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.

Page 2: Taller Wireshark

Taller Wireshark y ARP-Spoofing

Carlos Andrés Rodallega Obando Página 2 CAMPUS PARTY Colombia 2010 [email protected]

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.

Page 3: Taller Wireshark

Taller Wireshark y ARP-Spoofing

Carlos Andrés Rodallega Obando Página 3 CAMPUS PARTY Colombia 2010 [email protected]

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.

Page 4: Taller Wireshark

Taller Wireshark y ARP-Spoofing

Carlos Andrés Rodallega Obando Página 4 CAMPUS PARTY Colombia 2010 [email protected]

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…

Page 5: Taller Wireshark

Taller Wireshark y ARP-Spoofing

Carlos Andrés Rodallega Obando Página 5 CAMPUS PARTY Colombia 2010 [email protected]

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.

Page 6: Taller Wireshark

Taller Wireshark y ARP-Spoofing

Carlos Andrés Rodallega Obando Página 6 CAMPUS PARTY Colombia 2010 [email protected]

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.

Page 7: Taller Wireshark

Taller Wireshark y ARP-Spoofing

Carlos Andrés Rodallega Obando Página 7 CAMPUS PARTY Colombia 2010 [email protected]

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/

Page 8: Taller Wireshark

Taller Wireshark y ARP-Spoofing

Carlos Andrés Rodallega Obando Página 8 CAMPUS PARTY Colombia 2010 [email protected]

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.

Page 9: Taller Wireshark

Taller Wireshark y ARP-Spoofing

Carlos Andrés Rodallega Obando Página 9 CAMPUS PARTY Colombia 2010 [email protected]

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 [email protected] 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

Page 10: Taller Wireshark

Taller Wireshark y ARP-Spoofing

Carlos Andrés Rodallega Obando Página 10 CAMPUS PARTY Colombia 2010 [email protected]

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…