利用icmptunnel建立通信隧道

icmptunnel是用来搭建icmp隧道的,只能都运行在linux系统上。而pingtunnel可以运行在linux和windows上。

icmptunnel是通过建立一个tun0网卡进行的点对点通信。

过程

攻击机ip:192.168.56.128

目标机ip:192.168.56.143

在攻击机只能ping通目标机的情况下,攻击机运行icmptunnel做为客户端,目标机运行icmptunnel做为服务端

首先我们在攻击机和受害机都需要安装下icmptunnel,并把2个系统的icmp回显禁用掉,命令如下

git clone https://github.com/jamesbarlow/icmptunnel.git
cd icmptunnel
make
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

然后我们在目标机上运行icmptunnel,简单跟一个s参数即可。运行后会提示打开了一个隧道tun0,我们这时需要给tun0设置一下ip和子网掩码(使用tun0点对点和目标机通信)

# ./icmptunnel –s &
# ifconfig tun0 10.0.0.1 netmask 255.255.255.0

现在在攻击机上将icmptunnel指向目标机,病设置一下ip地址

# ./icmptunnel 192.168.56.143 &
# ifconfig tun0 10.0.0.2 netmask 255.255.255.0

此时,就拥有一个通过 ICMP 数据包运行的点对点隧道。服务器端是10.0.0.1,客户端是10.0.0.2。在客户端,尝试通过 SSH 连接到目标服务器:

# ssh mumsec@10.0.0.1

当然,还可以将目标服务器用做加密的socks代理。