Page cover

🚧Wireshark

Wireshark es un llamado "snifer" de red que te permite capturar los paquetes que se transmiten entre dispositivos de una red.

Realizaremos varias prácticas con Wireshark:

  • Analisis captura de comandos de red

  • Análisis de una captura Telnet

  • Análisis de una captura HTTP

Captura comandos de red

Pasos:

  • ping facebook.com

Al hacer ping, se envían una serie de paquetes

  1. Abrir en el navegador aliexpress.com

  2. Nslookup a lidl.de

  3. Nslookup con respuesta autoritativa a ciberbcn.com

  4. Pathping al dominio nypizzeria.com

Pide a los alumnos que analicen la transmisión de datos y respondan a las siguientes preguntas:

  • ¿Qué protocolo se está utilizando para la transmisión de datos?

  • ¿Cuál es la dirección IP de origen y destino de la transmisión?

  • ¿Cuántos paquetes se han transmitido en total?

  • ¿Qué información se está transmitiendo en los paquetes?

Filtros de wireshark

Algunos filtros que nos permiten hacer un seguimiento del flujo de información

Filtro
Descripción

ARP

Traduce direcciones físicas a lógicas y viceversa

TCP

Filtra todo el contenido tcp de la red

ip.addr == 192.168.2.51

Todo el tráfico que entra y sale de este equipo

ip.src == 192.168.2.51

Todo el tráfico que sale de este host

ip.dst == 192.168.2.51

Todo el tráfico que entra de este host

http.request.method == "GET"

Información de entrada y salida del protocolo del tráfico HTTP

udp

Filtra todo el tráfico UDP

http

http2, http3

ip

Solo captura tráfico ipv4

ip.addr == 192.168.2.51 and not tcp.port in {80 25}

Todo el tráfico de ese host pero nada de los puertos 80 (http) y 25 (smtp)

ip.addr == 192.168.2.51 and tcp.port in {80 25}

Justo lo contrario: muestra el tráfico de los puertos 80 y 25

ip.src != 192.168.2.52

Excluir capturas de ese host

Tcp.port

Filtrar por puerto

Tcp.srcport | tcp.dstport

Filtrar por puerto de origen

Filtrar por puerto de destino

tcp.flags.syn == 1 and tcp.flags.ack == 0

Estableciendo comunicación entre cliente y servidor

En la cabecera de los paquetes de TCP hay 6 flags de 1 bit, es decir, que pueden valer 0 / 1 según estén desactivadas o activadas: estas banderas o flags son:

SYN, ACK, RST, PSH, URG y FIN

eth.src == 0E-22-C3-F8-C4-40

Filtrar el tráfico de destino a la MAC de un equipo.

smtp

Envío de email por puerto 25

Imap

Protocolo de correo

Pop

Protocolo de correo

http

Puerto de http (80)

Tcp | udp | dns

imf

Internet Mail Format (IMF): describe el formato que deben seguir los correos electrónicos. Por ejemplo, las cabeceras de un email para identificar correctamente el asunto, fecha, remitente o destinatario independientemente de la localización en el que se ha escrito ese correo

Puedes enviarte un email desde Google Gmail en el navegador y visualizarlo con este filtro.

mime_multipart

Describe el mecanismo mediante el cual se pueden enviar ficheros adjuntos y mensajes de texto internacional en un email

Por ejemplo:

Ejemplo:
ip.addr == 192.168.2.51 and tcp.srcport == 80

Filtro 1: tcp.flags.syn == 1 && tcp.flags.ack == 0
Filtro 2: tcp.flags.syn == 1 && tcp.flags.ack == 1
Filtro 3: tcp.seq == 1 && tcp.ack == 1 && tcp.len == 0 && !(tcp.flags.push == 1)

Algunos operadores a utilizar con comandos

Operador
Descripción

And | &&

Permite utilizar dos filtros. Por ejemplo:

A && B

A and B

eth.addr == 0E-22-C3-F8-C4-40 and eth.src_resolved

==

A == B significa ¿A Es igual a B?

En el ejemplo siguiente estoy preguntando: si la MAC address es la =0E-22-C3 …. Entonces, filtra todo el tráfico correspondiente.

eth.addr == 0E-22-C3-F8-C4-40

Es el mismo tipo de operador que se utiliza en programación, en excel, etc.

!=

A != B

¿Es Diferente a?

!(eth.addr == 0E-22-C3-F8-C4-40)

Significa negación. Estamos negando el filtro que se encuentra entre paréntesis

Esquema de colores

Wireshark te brinda un conjunto de filtros ya coloreados para facilitar el seguimiento. También puedes modificar esos colores y personalizarlos.

Follow TCP Stream - Seguir conversaciones

Haciendo clic con el botón secundario del mouse sobre una línea, puedes hacer un seguimiento del flujo de la conversación:

Y te mostraría algo como lo siguiente:

Estadísticas

Tienes la posibilidad de recopilar la información por protocolos, direccionamiento IPv4 e IPv6, paquetes de entrada, de salida, y un largo etcétera.

Visualizar nombres de red, físicas, etc.

Es interesante poder ver los nombres de los equipos de la red. Te puede ayudar mucho a entender qué es lo que vemos.

Caso 1: Análisis de una captura Telnet

Lo que haremos a continuación será usar un archivo de captura ya creado (un “sample”) para inspeccionar información sobre una conexión de tipo Telnet que, como ya sabrás, se usa para conectar terminales en remoto.

Lo primero, descarga el archivo telnet-cooked.pcap del siguiente enlace (como verás en este enlace hay muchos archivos de prueba que puedes usar para practicar)

Caso 2: Análisis de una captura HTTP

SOLUCION: https://infosecwriteups.com/escaperoom-pcap-analysis-with-wireshark-ea7abcc68a18

Última actualización