Modificando ficheros de tráfico de red .pcap con Bittwiste.

Entre las muchas herramientas de que disponemos para el tratamiento de ficheros .pcap, hay una que nos permite la edición de campos de las cabeceras IP, ARP, ICMP, TCP y UDP. Se trata de Bittwiste.

Las motivaciones pueden ser variadas, por ejemplo la ocultación de direcciones reales IP por otras ficticias, ocultación de direcciones MAC, etc.

Vamos a ver com usar esta heramienta. Aunque existe tanto para GNU/Linux como para Windows, en esta ocasión lo veremos en Windows.

Instalando Bittwiste.

Simplmente tenemos que descargar el archivo .zip desde http://sourceforge.net/projects/bittwist/files/Windows/Bit-Twist%201.1/ y descomprimir.

Bueno, no es tan simple. Necesitamos tener Cygwin. Si no lo tenemos, desde la misma página de Bittwiste podemos descargar el .dll y ubicarlo en c:\windows\system32. Ahora sí funciona.

Bittwiste. Uso básico.

El primer ejemplo, yo lo uso mucho así, es modificar las direcciones IP para sustituirlas por otras.

Sintáxis para ello:

bittwiste -I fichero.pcap -O fichero_moddificado.pcap -T ip -s IPs  -d IPs

  • -I fichero .pcap de entrada
  • -O fichero .pcap de salida
  • -T ip cabecera a modificar (en este caso IP)
  • -s IP origen
  • -d IP destino

El ejemplo.

Tenemos la siguiente captura de red:

Se aprecian segmentos TCP desde 192.168.1.5 a 192.168.1.30 y viceversa.Vamos a cambiar en la cabecera IP de la siguiente forma:

  • La  IP 192.168.1.5 tanto de origen como de destino será ahora 0.0.2.5
  • La  IP 192.168.1.30 tanto de origen como de destino será ahora 0.0.2.30

Aplicamos bittwiste:

bittwiste -I ejemplo_v1.pcap -O ejemplo_v2.pcap -T ip -s 192.168.1.5,0.0.2.5 -d 192.168.1.5,0.0.2.5

y

bittwiste -I ejemplo_v2.pcap -O ejemplo_v3.pcap -T ip -s 192.168.1.30,0.0.2.30 -d 192.168.1.30,0.0.2.30

El resultado final:

¿ Sólo eso ?.

Bueno no, también podemos modificar los puertos, MAC, protocolo, ttl, etc, etc. Es decir, los campos de las cabeceras IP, TCP, UDP, ICMP, ARP, etc. Tansolo hayque indicar con -T cuál es la cabecera a modificar.

Para TCP podríamos modificar las banderas o flags.

Quremos establecer los flags TCP en SYN solo para los segmentos TCP cuya IP de origen sea 0.0.0.2.5:

bittwiste -I ejemplo_v3.pcap -O ejemplo_v4.pcap -T tcp -f s -s 0.0.2.5
input file: ejemplo_v3.pcap
output file: ejemplo_v4.pcap

13219 packets (865662 bytes) written

El resultado:

Como véis, he usado mediante estos comandos -T tcp -f s -s 0.0.2.5 una especie de filtrado para indicar que solo aplique la modificación a la IP de origen 0.0.0.2.5

La mecánica para todo lo demás es igual de sencilla. Así pues podemos modificar, incluso, números de sencuencia.

Otro filtrado puede ser estableciendo rangos. Con -R podemos (-R 10-75) establecer que se salven solo los paquetes 10 al 75 ó -R 123 solo al paquete 123. También estableceremos rangos de tiempo com -D.

Payload.

Tenemos la posiblidad de añadir (-X), en formato hexadecimal, un payload o carga útil en el Data el paquete (al final). Para ello tenemos que especificar la capa (-L) y cabecera (-T). Ya hemos hablado de la cabecera, para el valor de capa tenemos:

  • -L2 para ethernet
  • -L3 para ARP e IP
  • -L4 TCP, ICMP y UDP

Por ejemplo:

bittwiste -I captura_ftp.pcap -O salida.pcap -X 686f6c6120736f7920616c666f6e -L 4 -T tcp

El resultado:

===

Y esta aquí por hoy. Hasta la próxima.

Anuncio publicitario
Esta entrada fue publicada en Esas pequeñas utilidades, Interpretación capturas tráfico red. pcap, Seguridad y redes. Guarda el enlace permanente.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s