Hoy presento un script que usa Scapy para comunicarse a través de paquetes ICMP (ping request concretamente). La idea original, de Mungu, era hacer una shell que se comunicara a través de ICMP, esto es simplemente una prueba de concepto.

Cliente: http://pastebin.com/0vLsiiBQ

Servidor: http://pastebin.com/Y751Ty0x

Lo que hace es dividir el mensaje en partes de 2 bytes, y envía cada par como identificador de cada ping.

Los mensajes siempre se envían del cliente al servidor, y los dos necesitan permisos de root. Los parámetros del servidor son:

===============================================================================

[-f ] [-d | -s] [-1] | -h -f : Guarda los datos en un archivo -d : Muestra información de debugging -s : No muestra ninguna salida por pantalla -1 : Solo muestra un mensaje (y después se cierra) -h : Muestra esto

===============================================================================

Los del cliente son:

===============================================================================

-s -d [-t ] [-p ] [-b ] [-r ] [ -f ] [ -u ] Con -u : los datos enviados (no los identificadores) son aleatorios

o

-h : muestra esto

===============================================================================

Si no se especifica al cliente el archivo a enviar, se introducirá por teclado (saldrá '>>>' como prompt). Con -f y -1 se pueden enviar "facilmente" archivos completos.

Los comandos para hacer la transferencia

Envío en curso

Envío completado

Al menos en local (solo he podido probarlo en localhost), la información llega intacta... aun así, por seguridad añadí un pequeño retardo entre los mensajes ( 0.01s ) para evitar en lo posible que haya problemas.

MD5 Correcto

Hasta otra