• Analizar captura de tráfico con TShark

    Si os gusta más la terminal que la interfaz gráfica, TShark es una excelente herramienta para parsear datos de una captura .pcap o .pcapng. Vamos a ver diferentes formas de ver datos de un archivo con tráfico:

    Ordenar gráficamente la captura

    Podemos organizar mejor una captura de tráfico en la te

    Para tráfico TCP

    tshark -r archivo.pcapng -T fields -e ip.src -e tcp.srcport -e ip.dst -e tcp.dstport -e _ws.col.Protocol -E separator=, -E quote=d -E header=y

    Para tráfico UDP:

    tshark -r archivo.pcapng -T fields -e ip.src -e udp.srcport -e ip.dst -e udp.dstport -e _ws.col.Protocol -E separator=, -E quote=d -E header=y
    Para ambos tráficos mezclados:
    tshark -r archivo.pcapng -T fields        \
      -e ip.src -e tcp.srcport -e udp.srcport \
      -e ip.dst -e tcp.dstport -e udp.dstport \
      -e _ws.col.Protocol                     \
      -E separator=, -E quote=n -E header=n | \
    awk -F, '{
      src_port = ($2 != "") ? $2 : $3;
      dst_port = ($5 != "") ? $5 : $6;
      print $1 "," src_port "," $4 "," dst_port "," $7;
    }'

    Buscar la cadena «Password»

    tshark -r '/home/nipegun/Descargas/capture.pcap' -Y "frame contains \"Password\""

    Salida:

    35 19.011309467 212.129.38.224 → 10.10.0.254  TELNET 78 Telnet Data ...

    Visualizar los datos del paquete nro 35 (el que contiene la palabra Password)

    Para verlos en texto claro:

    tshark -r archivo.pcap -Y "frame.number == 35" -V

    Para verlos en hexadecimal:

    tshark -r archivo.pcap -Y "frame.number == 35" -x

    Para extraer sólo la carga útil del paquete:

    tshark -r archivo.pcap -Y "frame.number == 35" -T fields -e data

    Extraer únicamente los datos enviados por Telnet

    tshark -r archivo.pcap -T fields -e telnet.data

    Para sanitizar un poco la salida y mostrarla más legible:

    tshark -r archivo.pcap -T fields -e telnet.data | sed 's/\\n/\n/g' | sed 's/\\r/\r/g' | sed 's-^,--g'
    

    Listar nombres de archivos descargados

    tshark -r archivo.pcapng -Y 'http.request or http.response' -T fields -e http.request.uri -e http.response.code -e http.content_type

    Imaginemos que da como resultado un archivo llamado malware.exe (/malware.exe). Para obtener el código hexadecimal de ese archivo malware.exe hacemos:

    tshark -r archivo.pcapng -Y 'http.request.uri=="/malware.exe"' -T fields -e http.file_data 2> /dev/null

    y para guardarlo en un archivo, de forma que obtengamos exactamente el archivo que se ha descargado:

    tshark -r archivo.pcapng -Y 'http.request.uri=="/malware.exe"' -T fields -e http.file_data | xxd -r -p > /tmp/MultiCTFSolver/launcher

    Deja una respuesta