Mostrando entradas con la etiqueta Sniffers. Mostrar todas las entradas
Mostrando entradas con la etiqueta Sniffers. Mostrar todas las entradas

sábado, 9 de julio de 2022

Sniffers II (TCPdump)

 TCPdump es otra herramienta fundamental dentro de los sniffers y debemos conocerla, esta herramienta se diferencia de White Shark en que no tiene una interfaz gráfica sino que funciona a través de línea de comandos.

Hemos considerado los sniffers como herramientas semi pasivas de recopilación de información ya que en muchos entornos, como infraestructuras críticas, o sitios donde hay sistemas operativos antiguos, donde los sistemas se han creado ad-hoc, hay veces donde podremos usar técnicas de reconocimiento activas de detección de vulnerabilidades  porque los sistemas  conectados a la red al ser antiguos y sensibles que pueden no soportar ese tráfico adicional que generan estas herramientas de recopilación activas, hasta poder provocar incluso fallos de sistema y afectar seriamente a la infraestructura de red.

En estos casos, una de las opciones puede ser coger un sniffer , colocarlo dentro de esa infraestructura, simplemente monitorizando su tráfico de red y en función de determinados protocolos de red y de algunos valores que tienen los campos de las capas de los paquetes de red, llegar a identificar que aplicaciones se encuentran instaladas en los diferentes nodos de esa red así como los programas utilizan y que versiones de esos programas , por tanto podríamos únicamente mediante el análisis del tráfico de red de forma no intrusiva obtener mucha información y vulnerabilidades para realizar después explotaciones mucho más específicas de modo que no afectaremos a la infraestructura de red.

TCPdump, puede ser muy útil en ocasiones en que no disponemos de una interfaz gráfica en el sistema que queremos hackear. Viene por defecto instalada en Kali , por lo tanto vayamos a nuestro kali y abramos una terinal.

Podemos introducir el comando tcpdump –h  para ver algunas características del software


Estas son solo algunas opciones principales, ya que esta herramienta es muy completa, vamos a ver algunas de ellas

Uso de sudo

En esta herramienta siempre tendremos que anteponer sudo para realizar las acciones como administrador ya que vamos a capturar le tráfico de red y para ello la herramienta necesita privilegios elevados.

·        Sudo tcpdump –D

Se nos pedirá la contraseña y esto lo que nos muestra son las interfaces que tiene este sistema y cuales están activas, es decir lo mismo que nos mostraba White shark de manera gráfica en la primera pantalla.

Podemos ver que tenemos eth0 y la interfaz del loopback corriendo:


Vamos a capturar algo de tráfico en la interfaz eth0, con el siguiente comando:

·        sudo tcpdump –i eth0


Lo que nos muestra son las peticiones que estamos haciendo. Pero no nos muestra los paquetes completos simplemente me dice que se está efectuando una conexión. Algo que podemos hacer es pedirle que nos muestre más información dándole el flag –v (vervove)

·        sudo tcpdump –v  –i eth0

De este modo captura el tráfico y nos muestra mucha más información, sobre las conexiones 


Filtrar paquetes relativos a un protocolo

Por ejemplo para filtrar por el protocolo icmp haríamos:

·        sudo tcpdump  icmp

podemos ver que nonos muestra nada de tráfico:


Pero en el momento que abro una terminal nueva y hago un ping a google esto generará trafico imcp y podemos ver como tcpdump nos captura ese tráfico y solo ese tráfico:

NOTA: Protocolo imcp

Para intercambiar datos de estado o mensajes de error, los nodos recurren al Internet Control Message Protocol (ICMP) en las redes TCP/IP. Concretamente, los servidores de aplicaciones y las puertas de acceso como los routers, utilizan esta implementación del protocolo IP para devolver mensajes sobre problemas con datagramas al remitente del paquete. Aspectos como la creación, la funcionalidad y la organización dentro de la amplia gama de protocolos de Internet se especificaron en 1981 en la RFC 792. En el caso de la sexta versión del Internet Protocol (IP), la implementación específicaICMPv6 fue definida en la RFC 4443.

Por definición, ICMP es un protocolo autónomo aun cuando los diferentes mensajes están incluidos en paquetes IP tradicionales. Para tal fin, el protocolo de Internet trata a la implementación opcional como un protocolo de capas superiores. Los diversos servicios de red que se suelen utilizar hoy en día, como traceroute o ping, se basan en el protocolo ICMP.

Filtar por host

Podemos filtrar únicamente el tráfico que va a un sitio en concreto, por ejemplo a la web de arcelormittal haríamos un ping a esa dirección y veremos cómo nos resuelve también la dirección ip. Obviamente si copiamos y pegamos esa dirección IP en un navegador nos llevará a la web


Ahora podemos hacer un tcpdump directo a ese host pasándole la ip con el siguiente comando

·        tcpdump host 34.248.100.60

Esto hará que nos muestre todo el tráfico entrante y saliente dirigido a este host, si yo ahora navego por la web seleccionada vemos el tráfico de esa web, aunque tuviéramos  otras webs abiertas ese tráfico no se mostraría, solo el del host seleccionado.

En general es más intuitivo trabajar con White Shark ya que nos provee de una ionterfaz gráfica. Si por algún motivo solo podemos trabajar con tcpdump una opción sería guardar toda la información que éste nos ofrece para después abrirla con White Shark:

Usaríamos el comado w [destino /nombre_archivo]

Sudo tcpdump –i eth0 –w Desktop/capture.pcap

Esto nos guradaría un archive con los paquetes capturados. Luego solo tendríamos que abrir White Shark y arrastrar este archivo a la interfaz para abrirlo con todas las características de White shark a nuestra disposición.


viernes, 8 de julio de 2022

Sniffers I (White Shark)

 

Los sniffers son unas herramientas primordiales para cualquier pentester. No solo para el hacking ético, estas herramientas se usan también administración de redes entre otros.

Contexto

Cuando tenemos una máquina y queremos comunicarnos con otra máquina diferente, debemos establecer una conexión entre ambas máquinas. Esta conexión es lo que denominamos una red y cuando varias máquinas se encentran en una red, a estas máquinas las denominamos nodos.

Cuando enviamos paquetes de un nodo a otro dentro de una red, el nodo que recibe la información debe ser capaz de interpretarlos para poder entender la información que nos está enviando el otro nodo, para interpretar esta información se utiliza son los protocolos de red, de manera simplificada un protocolo de red es un conjunto de reglas, que se aplican sobre la información recibida en una red de forma que pueda ser interpretada. Dependiendo del protocolo usado interpretaremos la información de una manera o de otra.j

Teniendo esto en cuenta los Sniffers son herramientas que se van a situar en nuestro Sistema Operativo para monitorizar todo el tráfico de red, tanto entrante como saliente que estamos intercambiando con otros nodos de la red.

Por supuesto también nos podemos comunicar con otros nodos que se encuentren en otras redes, sabemos que para unir una red con otra red utilizamos Routers, nosotros tenenmops nuestra red en casa por ejemplo y lo que hace el router es conectarnos a otras redes para al final crear lo que se conoce como internet.

Cuando nos comunicamos con oros equipos fuera de nuestra nuestra red, lo hacemos a través de diferentes routers que se encuentran comunicados hasta llegar al host con el que queremos conectar. Todo este tráfico de red que intercambiamos e interpretamos mediante protocolos es lo que llamamos paquetes de red y los Sniffers nos permiten visualizar todos estos paquetes de red de una manera sencilla de interpretar.

White Shark

Este es uno de los Sniffers más importantes y viene incluido en nuestro Kali Linux, para abrirlo bastará con ir a nuestro menú y buscar en sniffing & Spoofing White shark:


Una vez abierto nos muestra las diferentes interfaces que tenemos abiertas en nuestro equipo (en rojo)


La interfaz eth0  es la que nos conecta con internet

La interfaz Loopback sería la interfaz interna nuestro localhost, si enviamos un paquete de red a la interfaz de loopback  lo recibimos nosotros por esa misma interfaz.

La intefaz any, que sería cualquier interfaz.

Capturando tráfico de red

Vamos a capturar el tráfico que nos llega opr la interfaz eth0, para ello basta pulsar dos veces sobre ella:


Si nos fijamos al principio de la interfaz tenemos un cuadro de texto, en el que podemos incluir filtros a la hora de capturar tráfico para que nos intercepte tráfico por determinado protocolo  que nos interese.


Como vemos ya estamos capturando tráfico ya que tengo abierto un navegador, reproduciendo música en youtube, y lo que vemos en el primer tercio de la pantalla, cada una delas líneas es un paquete de red.

Ahora imaginemos que lo que yo quiero es capturar sólo paquetes que tén relacionados con el protocolo DNS, para ello en el cuadro de texto aplicaría el filtro DNS y le daría a enter:


Al hacer esto mi White sharck sólo estaría capturando paquetes DNS, y si selecciono alguno de los paquetes capturados , en la ventana del medio me dará información sobre ese paquete:


Y en la pantalla de abajo del todo veríamos los bytes capturados en hexadecimal:


Si quisiéramos ver el binario, lo podríamos hacer con el botón derecho en el paquete seleccionado, en copy as a raw binary. Entonces el SO ha recibido estos paquetes de otro nodo lo ha interpretado en función del protocolo y White shark nos lo muestra también por protocolos. En la pantalla del medio nos está dando la información de la primera capa Ethernet y nos está diciendo que los 6 primeros bites del paquete de red, se corresponden con la dirección física de destino, del bite 7 al 12 se corresponden con la dirección física de origen, etc

La siguiente capa es la IP en la que nos da información similar y así hasta bajar a la capa DNS.


Cuando hacemos filtrado, luego podemos buscar resultados, por ejemplo si abro la web, detalles únicos y capturo el tráfico filtrando por DNS, en algún momento se habrá tenido que realizar la resolución DNS a ip y puedo buscar ese paquete haciendo una búsqueda por string,

Por ejemplo, abro la web detallesunicos.es y capturo el tráfico DNS

 

Así es como funciona básicamenter White Shark, que vamos a estar utilizando mucho durante el curso.


 Ahora voy a buscar el momento en el que se ha recibido el paquete con la resolución dns, para ello hago clic en la lupa de la barra de herramientas y le digo que voy a buscar por string  y en la casilla de búsqueda pongo el nombre de la página, en este caso detallesunicos.es:


El me encuentra el paquete con ese string, si le doy clic al paquete podemos ver la transacción del DNS la query , la flag y demás información:


Por supuesto si tenemos la query que acabamos de ver, deberá estar la respuesta del servidor a esa query y White shark no lo indica ocn unas flechas:


Si abrimos la respuesta veremos cómo se ha efectado la resolución a ip para elnombre detallesunicos.es, siendo la ip que se corresponde a ese nombre de dominio. 217.76.142.242


Si ahora vamos a un navegador y en vez de escribir el nombre detallesunicos.es, escribimos esta dirección ip veremos que efectivamente estamos accediendo a la web mediante su ip si realizar la resolución DNS

Más cosas que podemos hacer con White Shark

Vamos ahora a filtrar por protocolo HTTP, cambiemos el filtro a HTTP y abramos alguna web que no utilie HTTPS, es decir que los paquetes no vayan cifrados sino que vayan en plano.


 Si vamos a estos paquetes de red debe estar incluida la web que nuestro navegador ha renderizado, ya que nosotros hemos hecho una petición y ese servidor nos ha contestado implementando el protocolo http y nuestro navegador lo ha renderizado.

Aquí hay varias cosas a tener en cuenta, sabemos que http va or encima de la capa tcp y muchas veces cuando estamos intercambiando información con un tamaño muy grande, como el tamaño de los paquetes tiene un tamaño limitado, por lo que si la información a enviar es muy grande no podemos mandar toda esa información en un mismosegmento, por tanto la información se fragmenta y se va enviando en paquetes de red diferentes.

White Shark nos hace un ensamblado de esos paquetes que se están transmitiendo de forma fragmentada, para que podamos observarlo todo junto.

Otra de las cosas interesantes es que si vamos por ejemplo al petición get y hacemos cilc derecho y le damos a followàhttp stream


Nos muestra todo el intercambio http que nosotros hemos realizado con ese servidor web para descargarnos la página y renderizarla:


En rojo veremos nuestra petición y si pulsamos nos lleva al paquete donde está hecha la petición. Abajo en azul tebnemos la respuesta y del mismo modo si pulsamos sobre ella nos lleva al paquete correspondiente, en la respuesta podemos ver toda la página web entera, lógicamente esto no cabe en un solo paquete de red y por eso nos está diciendo que se ha reensamblado 7 segmentos de red:


Lo que comentábamos antes White shark ha unido eso 7 paquetes para poder ver latodo el tráfico y la web montada.

Otra utilidad interesantes la primera capa Frame, en la que si pulsamos se nos seleccionan todos los datos hexadecimales:


Esta capa Frame son una serie de metadatos que White Shark extrae de los paquetes de red que resultan muy interesantes ya que pueden aportar información extra.