TSHARK CHEET SHEEP

Este post muestra una serie de ejemplos del comando “tshark” empleandolo con disitintos fines, los ejemplos a continuacion mostrados son de forma especifica para ver informacion interesante referente un protocolo en concreto.

Todo el contenido de este post resume lo visto en el directo de (Pentesting redes #1)[]

Antes de empezar hay que conocer un par de detalles sobre tshark. Este emplea distintos parametros segun el tipo de filtro que reciva, ya que puede entender por una parte, los filtros de Wireshark, y los especificos de libpcap. Puedes verlos con el comando: “tshark –help”

1
2
3
4
5
6
7
8
9

-f <capture filter> packet filter in libpcap filter syntax
-Y <display filter>, --display-filter <display filter>
packet displaY filter in Wireshark display filter
-o <name>:<value> ... override preference setting
-e <field> field to print if -Tfields selected
-R <read filter>, --read-filter <read filter>
packet Read filter in Wireshark display filter syntax

Estos son algunos de los parametros genericos con los que trabaja tshark

    Write a pcap file
        - tshark -w file_putpu.pcap

    Read a pcap file:
        - tshark -r file-to-read.pcap

Es importante conocer la sintaxis de filtros que a emplear, sobretodo cuando se combinan filtros para hacer bussquedas especificas sobre el trafico analizado

    The display filter
        - tcp.port in {80 443 8080}
    is equivalent to:
        - tcp.port == 80 || tcp.port == 443 || tcp.port == 8080
    However, the display filter
        - tcp.port in {443 4430..4434}
    is not equivalent to
        - tcp.port == 443 || (tcp.port >= 4430 && tcp.port <= 4434)

A partir de aqui diferenciaremos por protocolos los disitnos comandos de tshark.

ARP es util para identificar hosts en una red y la comunicacion que se establece entre estos. Con el comando de abajo se muestran direccion IP y MAC, tanto del origen como des destino de la comunicacion establecida a nivel de ARP, puede ser util para temas de monitorizacion de LAN, emplearlo con una white/black-list de direcciones MAC.

  sudo tshark -f "ether proto \arp" -Tfields -e arp.src.proto_ipv4 -e arp.src.hw_mac -e arp.dst.proto_ipv4 -e arp.dst.hw_mac

Analizamos aquellas peticiones con el flag SYN-ACK para detectar que han respondido a una tcp request a partir de ahi detectaremos quien esta intentando acceder a que puerto activo en concret

sudo tshark -Y "tcp.flags == 0x012" -Tfields -e ip.src -e tcp.srcport -e ip.dst -e tcp.dstport
sudo tshark -f "src port 53" -n -T fields -e dns.qry.name -e dns.a

En los codigos de respuesta de FTP, encontramos un 230, cuando el login ha sido realizado con existo, validando las credenciales empleadas.

sudo tshark -Y 'ftp' -Tfields -e ftp.request.arg -e ftp.request.command -e ftp.response.code 
sudo tshark -f "ftp.response.code == 230" -Tfields -e ftp.request.arg -e ftp.request.command -e ftp.response.code
sudo tshark -f "src port 80" -n -T fields -e http.request.uri -e http.response.code
sudo tshark -Tfields -Y "ntlmssp" -e "ntlmssp.auth.username" -e "ntlmssp.ntlmv2_response" -e "ntlmssp.ntlmserverchallenge" -e "ntlmssp.challenge.target_info" 
hashcat -m 5600 hash.txt dicc.txt