关于ICMP-TransferTools
ICMP-TransferTools是一款功能强大的文件传输工具,可以帮助广大研究人员在受限网络环境中通过ICMP与Windows主机之间传输文件。
ICMP-TransferTools由四个不同的脚本文件组成,即一个Python服务器和针对不同传输方向(下载和上传)的PowerShell客户端。
工具依赖
该工具基于Python和PowerShell开发,除了PowerShell之外,我们还需要在本地设备上安装并配置好Python环境。
该工具唯一需要的依赖组件就是Impacket,我们可以通过pip命令来安装该组件:
代码语言:javascript复制pip3 install impacket
工具下载
广大研究人员可以使用下列命令将该项目源码克隆至本地:
代码语言:javascript复制git clone https://github.com/icyguider/ICMP-TransferTools.git
工具使用
通过ICMP下载文件
在使用该功能的时候,需要用到ICMP-SendFile.py和Invoke-IcmpDownload.ps1这两个脚本并通过ICMP将文件下载到一台Windows主机中。
Python服务器必须要提前运行才可以实现文件下载,脚本的使用方法请参见下列帮助信息:
代码语言:javascript复制usage: ICMP-SendFile.py [-h] [-v] [-b 1000] source destination file
ICYGUIDER'S ICMP FILE DOWNLOAD SERVER
positional arguments:
source 当前主机的公共IP地址
destination 目的主机的公共IP地址
file 通过ICMP传输的文件
optional arguments:
-h, --help 显示帮助信息和退出
-v, --verbose 开启Verbose输出模式
-b 1000, --block-size 1000
每个数据区块的大小(默认:1000)
接下来,我们就可以按照下列方式使用PowerShell客户端来下载文件了:
代码语言:javascript复制Invoke-IcmpDownload PublicIPAddressOfServer FileToDownload
功能使用演示
通过ICMP上传文件
在使用该功能的时候,需要用到ICMP-ReceiveFile.py和Invoke-IcmpUpload.ps1这两个脚本并通过ICMP将文件上传/提取到一台Windows主机中。
Python服务器必须要提前运行才可以实现文件上传,脚本的使用方法请参见下列帮助信息:
代码语言:javascript复制usage: ICMP-ReceiveFile.py [-h] src file
ICYGUIDER'S ICMP FILE UPLOAD SERVER
positional arguments:
src 客户端的公共IP地址
file 写入数据的目标文件
optional arguments:
-h, --help 显示帮助信息和退出
接下来,我们就可以按照下列方式使用PowerShell客户端来下载文件了:
代码语言:javascript复制Invoke-IcmpUpload PublicIPAddressOfServer FileToUpload
功能使用演示
开源许可证
本项目的开发与发布遵循GPL-3.0开源许可证协议。
项目地址
https://github.com/icyguider/ICMP-TransferTools