Post

Sniffers

Sniffers

Concepto

Dentro de una interconexión de ordenadores denominada red los equipos son hosts o nodos.

Cuando estamos dentro de esta red podemos intercambiar datos por cable o WiFi.

Estos datos son bytes y se deben interpretar para lo que se utilizan protocolos de red, que se trata de un conjunto de reglas que se aplica sobre la información de red para interpretarla.

Un sniffer monitoriza todo el tráfico de red tanto entrante como saliente dentro de la red.

Todos estos datos que se intercambian con los diferentes nodos o redes de internet se denominan paquetes de red.

Hay veces que no podemos utilizar técnicas de reconocimiento activas o por ejemplo, de detección de vulnerabilidades o análisis de vulnerabilidades, porque los sistemas que hay conectados a la red son tan antiguos y tan sensibles que ese tráfico adicional, ese tráfico anómalo que generan estas herramientas de detección activa, pueden provocar en algún caso la in disponibilidad de alguno de los sistemas y que esto afecte a la infraestructura de red o a la infraestructura tecnológica en general.

Por lo tanto, en estos casos, una de las opciones para tratar de dirigir un poquito más nuestros ataques a la hora de explotar una cierta vulnerabilidad puede ser coger un sniffer, colocarlo dentro de esa infraestructura, simplemente copiando ese tráfico de red, es decir, monitorizando toda la actividad de la red y en función de los protocolos que comienza a interceptar.

En función, por ejemplo, de algunos valores que tienen determinados campos de las capas de los paquetes de red, nosotros podemos identificar qué aplicaciones están instaladas en los diferentes nodos de esa red y además, qué programas utilizan y qué versiones de esos programas.

Wireshark

Es una herramienta de las más conocidas y potentes que por defecto en Kali ya viene instalado.

https://www.wireshark.org/download.html

Los paquetes se dividen en capas

Para poder visualizar los paquetes en los que se ha realizado la consulta de los nombres DNS damos click en la lupa

Aquí es donde se realiza la petición para resolver ese nombre de dominio

Aquí vemos las respuestas con los hostnames y sus IP tanto IPV4 como IPV6 como se observa en el siguiente paquete

Bueno, sabéis que HTTP va por encima de la capa TCP y muchas veces cuando nosotros estamos intercambiando información que tiene un tamaño muy grande, como puede ser por ejemplo una página web, al final nosotros hacemos una petición al servidor web, le decimos.

Oye, mándame esa página web.

El servidor web te manda a la página web.

Pero claro, una página web es un montón de información.

Vale, entonces los paquetes de red o la cantidad de información que va en una ristra de bits que se intercambia, tiene un tamaño limitado. No es un tamaño infinito. Y por lo tanto, si la página web o la información que intercambiamos es demasiado grande, no podemos mandarla toda en un mismo segmento, en una misma ristra de bits o en un mismo paquete de red.

Por lo tanto, tenemos que fragmentar de alguna manera esa información e ir mandándola en segmentos diferentes o en paquetes de red diferentes.

TCPDump

Se diferencia de wireshark en que utiliza un interfaz de consola de comandos.

Estas son solo algunas de las opciones que ofrece, en su documentación se pueden encontrar muchas más.

1
sudo tcpdump -D

Mostrar interfaces de red

1
sudo tcpdump -i eth0

Capturar en interfaz de red

Mostrar mas información:

1
2
sudo tcpdump -v -i eth0
sudo tcpdump icmp -i eth0

Filtrar protocolos

1
sudo tcpdump host 185.230.63.107 -i eth0

Filtrar por dirección del host

Guardar la captura para ser posteriormente analizada con Wireshark

1
sudo tcpdump -i eth0 -w Desktop/capture.pcap

Abrir la captura pero con TCPDump y filtrar protocolos

1
2
sudo nmap -n port 53 -v -r capture.pcap
sudo nmap -n port 80 -v -r capture.pcap | grep gamivo.com
This post is licensed under CC BY 4.0 by the author.