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.
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
1
sudo tcpdump -i eth0
Mostrar mas información:
1
2
sudo tcpdump -v -i eth0
sudo tcpdump icmp -i eth0
1
sudo tcpdump host 185.230.63.107 -i eth0
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