Skip to content

隧道技术

DNS隧道技术

隧道技术(Tunneling)是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送。新的帧头提供路由信息,以便通过互联网传递被封装的负载数据。

实例分析-DNS隧道技术

环境:客户机(Kali)+DNS服务器(window2003)+目标机(redhat7)

DNS服务器:192.168.10.132

新建一个名字为”bloodzero.com”的正向解析域

dns-1

新建一个主机:IP为攻击者kali的IP

dns-2

新建一个委托

dns-3

此时我们的DNS服务器就配置好了!

Kali:攻击者&&客户端 192.168.10.135

修改dns2tcpd配置文件:

dns-4

resources的IP为目标机的IP

dns-5

启动dns隧道的服务端

dns-6

客户端配置

删除ssh连接的known_hosts文件:

dns-7

修改DNS解析文件:vim /etc/resolv.conf

dns-8

dns-9

dns-10

配置dns隧道客户端程序,在kali2.0中,没有配置文件,需要自己写配置文件:vim /etc/dns2tcpc.conf

dns-11

测试是否可以提供服务

这个时候我们就已经配置成功了!成功效果

dns-13

dns-14

dns-15

分析结论

这个时候的流量走向:

dns-16

本文中介绍的是DNS隧道服务器,和DNS隧道客户端是同一台机器,并不能说明问题,当DNS隧道服务器存在于防火墙之后,这个时候我们就可以利用此种技术来绕过大部分的防火墙。并且可绕过不开端口,隐蔽性好等;

dns-17

这里我使用另外一台客户机去连接目标机时,服务端监听的数据如下:

目标机:192.168.10.133
DNS隧道服务端:192.168.10.135
DNS隧道客户端:192.168.10.134
DNS服务器:192.168.10.132

dns-18

客户端监听数据如下:

dns-19

发现能够监听到的ssh数据包是DNS隧道服务端与目标机之间的通信;

而客户端与目标机之间的通信是DNS数据;

这就是简单的配置DNS隧道;

ICMP隧道技术

ICMP隧道技术,又称Ping隧道技术,因为ping使用的就是icmp,一般防火墙都不阻挡icmp协议。

原理:通过ICMP包头来隐藏数据。

实例

Kali2.0

  • 服务端
ptunnel
  • 客户端
ptunnel -p server_ip -lp 2222 -da target_ip -dp 22

-p:隧道服务器IP
-lp:客户端端口
-da:目标服务器IP
-dp:目标服务器端口

SSH隧道技术