天天看點

DNS tunnel的原理及實戰DNS tunnel的原理及實戰

摘自:http://netsec.ccert.edu.cn/zhengming/2011/11/01/%E8%BD%AC%E8%BD%BD%EF%BC%9Adns-tunnel%E7%9A%84%E5%8E%9F%E7%90%86%E5%8F%8A%E5%AE%9E%E6%88%98/

什麼是DNS tunnel?

DNS tunnel 即 DNS隧道。從名字上來看就是利用DNS查詢過程建立起隧道,傳輸資料。

為什麼使用DNS tunnel?

當你在酒店、機場等公共場所,通常有Wifi信号,但是當你通路一個網站時,如http://hi.baidu.com/, 可能會彈出個視窗,讓你輸入使用者名、密碼,登陸之後才可以繼續上網(該技術一般為透明http代理,不在本文讨論範圍之内,以後再講)。這時,你沒有賬号,就無法上網。但是有時你會發現,你擷取到得DNS位址是有效的,并且可以用以進行DNS查詢,這時你便可以用DNS tunnel技術來實作免費上網了!

DNS tunnel的原理

首先,要知道DNS系統的工作原理,見:[DNS系統(伺服器)的工作原理及攻擊防護方法論] 。你在做 DNS 查詢的時候,如果查的域名在 DNS 伺服器本機的 cache 中沒有,它就會去網際網路上查詢,最終把結果傳回給你。如果你在網際網路上有台定制的伺服器。隻要依靠 DNS 的這層約定,就可以交換資料包了。從 DNS 協定上看,你是在一次次的查詢某個特定域名,并得到解析結果。但實際上,你在和外部通訊。你沒有直接連到區域網路外的機器,因為網關不會轉發你的 IP 包出去。但區域網路上的 DNS 伺服器幫你做了中轉。這就是 DNS Tunnel 了。

上 圖簡單介紹了DNS tunnel的原理。當你連接配接上wifi後,你可以使用DNS伺服器,向這個伺服器的53端口發送資料,請求一個域名,比如b.xxx.org 。這台DNS伺服器上沒有b.xxx.org,那麼它将向root,也就是根域名伺服器請求,看看根知道不。root一看是.org的域名,就交 給.org域名伺服器進行解析。.org的域名伺服器一看是.xxx.org那麼就會去找.xxxi.org的域名伺服器 (f1g1ns1.dnspod.net),看看它有沒有這條記錄。.xxx.org的域名伺服器上一看是b.xxx.org,如果它有這 條A記錄,那麼就會傳回b.xxx.org的位址。

但是,如果沒有,你可以再在guanwei.org的域名伺服器上設定一個NS 類型的記錄人,如:xxx.org NS 111.222.333.444(通常這裡不讓設定為位址,那麼也好辦,你可以先在DNS伺服器上添加一條A記錄,如ns.xxx.org 111.222.333.444,再添加NS記錄:guanwei.org NS ns.xxx.org),這裡指定一個公網伺服器,也就是上圖綠色的伺服器,這台伺服器中跑着DNS tunnel的server端,是一台假的DNS伺服器,他不會傳回b.xxx.org的位址,但是它會将你的請求轉發到已經設定的端口中,比如 SSH的22端口,22端口傳回的資料它将轉發到53端口傳回給用戶端(也就是你的電腦)。這時,你就可以用這台公網伺服器的資源了,如果是一台http 或者sock代理,那麼你就可以用這個代理免費上網了。

DNS tunnel實作的工具

DNS tunnel實作的工具有很多,比如:OzymanDNS、tcp-over-dns、heyoka、iodine、dns2tcp。由于BT4、5系統自帶了dns2tcp工具。這裡僅介紹dns2tcp的使用方法。

DNS2TCP的DNS tunnel實驗

環境準備

一個已經申請好的公網域名,在這裡我就用本blog的域名了xxx.org。給該域名指定一個DNS伺服器(在域名管理的控制台即可看到),本 環境為DNSpod的伺服器:f1g1ns1.dnspod.net。一個公網伺服器server(運作着BT4系統,主要使用裡面的dns2tcpd V4程式)。這裡使用區域網路中的一台PC,在防火牆上做端口映射,将UDP的53端口映射出去。公網IP為111.222.333.444一 個用戶端client(運作着BT4系統,主要使用裡面的dns2tcpc V4程式)。這裡模拟在機場的環境,能連接配接區域網路(與上面的伺服器不在一個區域網路内,是另一個連接配接公網的區域網路),能夠擷取到DNS伺服器,如遼甯網通的202.96.64.68,并可以通過它進行DNS查詢(測試方法:nslookup www.xxx.org 202.96.64.68,後面的域名伺服器請根據實際情況替換)。

。。。可以讓你實作一個反彈木馬,可免費上網。'

本文轉自張昺華-sky部落格園部落格,原文連結:http://www.cnblogs.com/bonelee/p/7084480.html,如需轉載請自行聯系原作者

繼續閱讀