pyqb

导航

 

有些网络的防火墙设置只允许端口53的UDP流量,就不能通过tcp搭建隧道,这种情况下我们可以通过UDP搭建DNS隧道,通过搭建一个DNS服务器委派的子域,这个子域因为使我们自己搭建的主机,这时候就可以通过这个子域搭建DNS隧道,和网络被限制的主机1交互。

主机3为DNS服务器需要设置为固定的IP地址

它的原理是通过DNS请求头域名的信息 TXT记录加密传输信息,我们可以通过抓取DNS隧道数据包,可以看到DNS的查询请求的域名信息test.lab.com前的一串数据,里面就是加密过后的交互数据。DNS隧道建立后,客户端(主机1)还是会不断地发包给服务器端(主机2),类似心跳一样,确认服务器端处于存活状态,保证传输的顺畅。

 

在主机3上搭建一个DNS服务器,并委派一个子域给主机2,配置转发器,除test.lab.com之外的域名用别的域名地址解析

 

搭建DNS隧道

在主机2

修改dns2tcpd的配置

vim /etc/dns2tcpd.conf 

ssh:127.0.0.1:22

smtp:127.0.0.1:25 

socks:127.0.0.1:1080

http:192.168.1.1:80

https:127.0.0.1:8087

在DNS服务器主机2上开启ssh,smtp,socks,http,https服务,开放22,25,1080,80,8087端口

配置一下ssh,使其能够在root权限下使用

主机2开启ssh服务。

service ssh start

主机2开启dns隧道

dns2tcpd -F -d 1 -f /etc/dns2tcpd.conf

 

主机1通过DNS隧道连接主机2使用ssh服务

dns2tcp -c -k pass123 -d 1 -l 2222 -r ssh -z test.lab.com

-c 启动流量压缩

-d debug查看信息

-l 设置本地侦听端口

-r 指定资源 

在主机1上访问2222端口就相当于在主机2上访问的22端口

在主机1另开一个终端

ssh root@127.0.0.1 -p 2222

主机1就通过ssh登录上了主机2

 

 

主机1通过DNS隧道连接主机2使用http服务

在主机1上

输入dns2tcp -c -k pass123 -d 1 -l 2222 -r http -z test.lab.com 

打开浏览器,输入http://127.0.0.1:2222/,就相当于是在主机2上访问192.168.1.1一样

 

主机1通过DNS隧道连接主机2使用https服务

dns2tcp -c -k pass123 -d 1 -l 7001 -r https -z test.lab.com

 

DNS隧道设置网关功能

DNS隧道是没有网关功能的,假如想将DNS隧道的客户端主机1作为一个网卡的话,先建立一个DNS隧道里再嵌套一个ssh隧道,用ssh隧道作为一个网关使用

主机3为DNS服务器需要设置为固定的IP地址

主机2开启ssh服务。

service ssh start

主机2开启dns隧道

dns2tcpd -F -d 1 -f /etc/dns2tcpd.conf

主机1通过DNS隧道连接主机2使用ssh服务,将2222端口作为DNS隧道的入口。

dns2tcpc -k pass123 -d 1 -l 2222 -r ssh -z test.lab.com

再再开一个终端,在主机1的DNS隧道里再搭建一个ssh隧道,并作为网关使用

ssh -CfNg root@127.0.0.1 -p 2222 -D 7002

 主机1网关搭建好了,在主机4上打开浏览器设置代理,将主机1的ip和端口作为代理

 然后主机4就能上网了,就相当于在主机2上网差不多。

 

 

通过内网的DNS服务器与外网DNS建立DNS隧道

主机1和主机3作为DNS服务器,作为DNS服务器IP地址需要设置为固定的IP地址,主机1的DNS配置上只做转发,将所有的DNS请求都转发给192.168.1.10,主机3委派子域给主机2的ip192.168.1.110,设置域名为test.lab.com

在主机2,停掉openvas防止占用一些特定的端口

开启DNS隧道

dns2tcp -F -d 1 -f /etc/dns2tcpd.conf

开启ssh

service ssh start

安装squid3

apt-get install squid3

开启squid

service squid start

 

在主机4,将DNS地址设置为内网中DNS服务器的ip地址,也就是主机1的ip:1.1.1.11

修改DNS sudo vi /etc/resolv.conf

nameserver 1.1.1.11

连接隧道

dns2tcpc -c -k <password> -d 1 -l 8080 -r http -z test.lab.com

浏览器的代理设置为127.0.0.1:8080,便能上网了,和在主机2上上网一样。

 

posted on 2017-04-20 16:21  没有音乐就退化耳朵  阅读(3050)  评论(1编辑  收藏  举报