使用ICMP搭建隧道(PingTunnel)

  ICMP隧道简单实用,是一个比较特殊的协议。在一般的通信协议里,如果两台设备要进行通信,肯定需要开放端口,而在ICMP协议下就不需要。最常见的ping命令就是利用的ICMP协议,攻击者可以利用命令行得到比回复更多的ICMP请求。在通常情况下,每个ping命令都有相应的回复与请求。

  在一些网络环境中,如果攻击者使用各类上层隧道(例如:HTTP隧道、DNS隧道、常规正/反向端口转发等)进行的操作都失败了,常常会通过ping命令访问远程计算机,尝试建立ICMP隧道,将TCP/UDP数据封装到ICMPping数据包中,从而穿过防火墙(防火墙一般不会屏蔽ping的数据包),实现不受限制的访问访问。

  PingTunnel是一款常用的ICMP隧道工具,可以跨平台使用,为了避免隧道被滥用,还可以为隧道设置密码。

1、环境搭建

  192.168.100.X 模拟公网地址,192.168.118.x模拟内网地址。Web服务器模拟企业对外提供Web服务的机器,该机器可以通内网,同时向公网提供服务。内网存在一台Windows机器,Web服务器可以与该机器连接。现在我们获取到了Web服务器的权限,想用ICMP搭建通往内网的隧道,连接内网Windows的3389端口。

  准备kali(模拟公网vps)

 

  

   准备web服务器(centos,模拟公网web,双网卡)

  

  准备内网主机(windows)

 

拓扑图如下:

  

2、具体操作

(1)、对kaliwebserver

PingTunnel的安装

#安装libpcap的依赖环境

apt-get install byacc

apt-get install flex bison

#安装libpcap依赖库

wget http://www.tcpdump.org/release/libpcap-1.9.0.tar.gz

tar -xzvf libpcap-1.9.0.tar.gz

cd libpcap-1.9.0

./configure

make && make install

#安装PingTunnel

wget http://www.cs.uit.no/~daniels/PingTunnel/PingTunnel-0.72.tar.gz

tar -xzvf PingTunnel-0.72.tar.gz

cd PingTunnel

make && make install

注:部分出错原因:

安装make: yum -y install gcc automake autoconf libtool make

(2)Webserver的操作

#启动pingtunnel

ptunnel

#或(-x为隧道指定连接密码)

ptunnel -x 123456

 

3、连接测试

ptunnel -p 192.168.100.232 -lp 8888 -da 192.168.118.131 -dp 3389

    -p 指定ICMP隧道另一端的IP

    -lp:指定本地监听的端口

    -da:指定要转发的目标机器的IP

    -dp:指定要转发的目标机器的端口

-x:指定连接密码

4、成功连接

  本地windows PC远程kali 8888端口,即成功连接内网windows3389

 

原文地址:https://www.cnblogs.com/appear001/p/13282873.html