溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么利用Browsertunnel通過DNS從瀏覽器中實現(xiàn)數(shù)據(jù)竊取

發(fā)布時間:2021-12-18 15:36:52 來源:億速云 閱讀:204 作者:柒染 欄目:數(shù)據(jù)安全

這篇文章給大家介紹怎么利用Browsertunnel通過DNS從瀏覽器中實現(xiàn)數(shù)據(jù)竊取,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

怎么利用Browsertunnel通過DNS從瀏覽器中實現(xiàn)數(shù)據(jù)竊取

Browsertunnel

Browsertunnel這款工具可以幫助廣大研究人員利用DNS協(xié)議來從目標用戶的瀏覽器中提取各種數(shù)據(jù)。該工具主要基于dns-prefetch實現(xiàn)其功能,而dns-prefetch這種功能旨在通過在后臺為指定域執(zhí)行DNS查找來減少網(wǎng)站的感知延遲。DNS流量實際上并不會出現(xiàn)在瀏覽器的調(diào)式工具中,也不會被頁面的內(nèi)容安全策略(CSP)屏蔽,而且通常不會被企業(yè)防火墻或代理檢測到,因此它是在首先情況下進行數(shù)據(jù)竊取的最為理想的媒介。

實際上,這是一種很古老的技術(shù)了。DNS信道本身可以追溯到九十年代,而研究人員Patrick Vananti在2016年還專門寫過一篇關(guān)于dns-prefetch的文章。但是到目前為止,Browsertunnel是第一款完全開源,并且支持客戶端和服務(wù)器設(shè)備交互使用的工具。因為dns-prefetch不會將任何數(shù)據(jù)返回給客戶端JavaScript,因此通過Browsertunnel實現(xiàn)的傳輸數(shù)據(jù)只能是單項發(fā)送的。另外,有些瀏覽器默認禁用了dns-prefetch功能,那么在這種場景下,Browsertunnel就無法正常工作了。

怎么利用Browsertunnel通過DNS從瀏覽器中實現(xiàn)數(shù)據(jù)竊取

工具組成

  • 一個服務(wù)器端,服務(wù)器端似乎用Golang開發(fā),作為一臺授權(quán)DNS服務(wù)器來使用,可以收集并解碼Browsertunnel發(fā)送的消息;

  • 一個小型JavaScript庫,可以在html/目錄中找到,能夠解碼并發(fā)送來自于客戶端的消息;

工作機制

Browsertunnel可以將字符串編碼進一個子域名中,并通過DNS來發(fā)送任意字符串。當目標用戶的瀏覽器嘗試去對域名進行遞歸解析時,這些信息便會被轉(zhuǎn)發(fā)至Browsertunnel的服務(wù)器端:

怎么利用Browsertunnel通過DNS從瀏覽器中實現(xiàn)數(shù)據(jù)竊取

如果需要傳輸?shù)臄?shù)據(jù)量過大(253個字節(jié)),那么一個域名肯定是不夠的,那么這些信息將會被分割成多個部分,然后再由服務(wù)器端負責(zé)進行重新拼裝和解碼:

怎么利用Browsertunnel通過DNS從瀏覽器中實現(xiàn)數(shù)據(jù)竊取

工具安裝和使用

首先,我們需要設(shè)置DNS記錄來代表我們服務(wù)器的子域名。比如說,如果你的服務(wù)器IP地址為192.0.2.123,而你想要通過子域名t1.example.com來發(fā)送數(shù)據(jù)的話,那么你的DNS配置應(yīng)該如下:

t1 IN NS t1ns.example.com.

t1ns IN A 192.0.2.123

在你的服務(wù)器端,使用go get命令安裝Browsertunnel?;蛘哒f,你也可以自行在設(shè)備上編譯Browsertunnel項目,然后把代碼拷貝到服務(wù)器端:

go get github.com/veggiedefender/browsertunnel

接下來,使用browsertunnel命令運行Browsertunnel,指定你想要用來傳輸數(shù)據(jù)的子域名:

browsertunnel t1.example.com

如需獲取Browsertunnel的完整使用方式,可以使用-help參數(shù):

$ browsertunnel -help

Usage of browsertunnel:

  -deletionInterval int

     seconds in between checks for expired messages (default 5)

  -expiration int

     seconds an incomplete message is retained before it is deleted (default 60)

  -maxMessageSize int

     maximum encoded size (in bytes) of a message (default 5000)

  -port int

     port to run on (default 53)

現(xiàn)在,你就可以開始測試你自己的DNS信道了。你可以使用我給大家提供的演示頁面:【點我訪問】?;蛘?,大家也可以使用下列命令將該項目源碼克隆至本地,然后在本地加載html/index.html來進行測試。如果一切正常的話,大家就可以看到服務(wù)器端輸出的信息了。

git clone https://github.com/veggiedefender/browsertunnel.git

真實場景下

對于真實場景下的Browsertunnel使用,大家可能還需要根據(jù)情況來對代碼進行一些調(diào)整:

  • 將消息寫入數(shù)據(jù)庫,而不是直接打印輸出;

  • 轉(zhuǎn)換或重寫客戶端以支持更老版本的瀏覽器;

  • 根據(jù)我們的數(shù)據(jù)流量,調(diào)整域名的ID字段;

  • 對消息進行身份驗證或加密以實現(xiàn)數(shù)據(jù)傳輸?shù)谋C苄院头来鄹?,別忘了DNS是一個明文協(xié)議;

關(guān)于怎么利用Browsertunnel通過DNS從瀏覽器中實現(xiàn)數(shù)據(jù)竊取就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI