dns隧道 dns2tcpd


有些網絡的防火牆設置只允許端口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上上網一樣。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM