hacktricks/forensics/basic-forensic-methodology/pcap-inspection/wireshark-tricks.md

7.7 KiB

Trucos de Wireshark

Trucos de Wireshark

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Mejora tus habilidades en Wireshark

Tutoriales

Los siguientes tutoriales son increíbles para aprender algunos trucos básicos interesantes:

Información Analizada

Información de Expertos

Haciendo clic en Analyze --> Expert Information tendrás una visión general de lo que está sucediendo en los paquetes analizados:

Direcciones Resueltas

Bajo Statistics --> Resolved Addresses puedes encontrar varias informaciones que fueron "resueltas" por Wireshark como puerto/transporte a protocolo, MAC al fabricante, etc. Es interesante saber qué está implicado en la comunicación.

Jerarquía de Protocolos

Bajo Statistics --> Protocol Hierarchy puedes encontrar los protocolos involucrados en la comunicación y datos sobre ellos.

Conversaciones

Bajo Statistics --> Conversations puedes encontrar un resumen de las conversaciones en la comunicación y datos sobre ellas.

Puntos Finales

Bajo Statistics --> Endpoints puedes encontrar un resumen de los puntos finales en la comunicación y datos sobre cada uno de ellos.

Información de DNS

Bajo Statistics --> DNS puedes encontrar estadísticas sobre las solicitudes de DNS capturadas.

Gráfico E/S

Bajo Statistics --> I/O Graph puedes encontrar un gráfico de la comunicación.

Filtros

Aquí puedes encontrar filtros de Wireshark dependiendo del protocolo: https://www.wireshark.org/docs/dfref/
Otros filtros interesantes:

  • (http.request or ssl.handshake.type == 1) and !(udp.port eq 1900)
  • Tráfico HTTP e inicial HTTPS
  • (http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002) and !(udp.port eq 1900)
  • Tráfico HTTP e inicial HTTPS + TCP SYN
  • (http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002 or dns) and !(udp.port eq 1900)
  • Tráfico HTTP e inicial HTTPS + TCP SYN + solicitudes DNS

Búsqueda

Si quieres buscar contenido dentro de los paquetes de las sesiones presiona CTRL+f. Puedes añadir nuevas capas a la barra de información principal (No., Time, Source, etc.) haciendo clic derecho y luego editar columna.

Práctica: https://www.malware-traffic-analysis.net/

Identificación de Dominios

Puedes añadir una columna que muestre el encabezado Host HTTP:

Y una columna que añada el nombre del servidor de una conexión HTTPS inicial (ssl.handshake.type == 1):

Identificación de nombres de host locales

Desde DHCP

En el Wireshark actual en lugar de bootp necesitas buscar DHCP

Desde NBNS

Descifrando TLS

Descifrando tráfico https con la clave privada del servidor

edit>preference>protocol>ssl>

Presiona Edit y añade todos los datos del servidor y la clave privada (IP, Port, Protocol, Key file y password)

Descifrando tráfico https con claves de sesión simétricas

Resulta que Firefox y Chrome ambos soportan registrar la clave de sesión simétrica usada para cifrar el tráfico TLS en un archivo. Luego puedes apuntar Wireshark a dicho archivo y ¡voilà! tráfico TLS descifrado. Más en: https://redflagsecurity.net/2019/03/10/decrypting-tls-wireshark/
Para detectar esto busca en el entorno la variable SSLKEYLOGFILE

Un archivo de claves compartidas se verá así:

Para importar esto en Wireshark ve a _edit > preference > protocol > ssl > e impórtalo en (Pre)-Master-Secret log filename:

Comunicación ADB

Extrae un APK de una comunicación ADB donde el APK fue enviado:

from scapy.all import *

pcap = rdpcap("final2.pcapng")

def rm_data(data):
splitted = data.split(b"DATA")
if len(splitted) == 1:
return data
else:
return splitted[0]+splitted[1][4:]

all_bytes = b""
for pkt in pcap:
if Raw in pkt:
a = pkt[Raw]
if b"WRTE" == bytes(a)[:4]:
all_bytes += rm_data(bytes(a)[24:])
else:
all_bytes += rm_data(bytes(a))
print(all_bytes)

f = open('all_bytes.data', 'w+b')
f.write(all_bytes)
f.close()
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks: