您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么利用Browsertunnel通過DNS從瀏覽器中實現數據竊取,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Browsertunnel這款工具可以幫助廣大研究人員利用DNS協議來從目標用戶的瀏覽器中提取各種數據。該工具主要基于dns-prefetch實現其功能,而dns-prefetch這種功能旨在通過在后臺為指定域執行DNS查找來減少網站的感知延遲。DNS流量實際上并不會出現在瀏覽器的調式工具中,也不會被頁面的內容安全策略(CSP)屏蔽,而且通常不會被企業防火墻或代理檢測到,因此它是在首先情況下進行數據竊取的最為理想的媒介。
實際上,這是一種很古老的技術了。DNS信道本身可以追溯到九十年代,而研究人員Patrick Vananti在2016年還專門寫過一篇關于dns-prefetch的文章。但是到目前為止,Browsertunnel是第一款完全開源,并且支持客戶端和服務器設備交互使用的工具。因為dns-prefetch不會將任何數據返回給客戶端JavaScript,因此通過Browsertunnel實現的傳輸數據只能是單項發送的。另外,有些瀏覽器默認禁用了dns-prefetch功能,那么在這種場景下,Browsertunnel就無法正常工作了。
一個服務器端,服務器端似乎用Golang開發,作為一臺授權DNS服務器來使用,可以收集并解碼Browsertunnel發送的消息;
一個小型JavaScript庫,可以在html/目錄中找到,能夠解碼并發送來自于客戶端的消息;
Browsertunnel可以將字符串編碼進一個子域名中,并通過DNS來發送任意字符串。當目標用戶的瀏覽器嘗試去對域名進行遞歸解析時,這些信息便會被轉發至Browsertunnel的服務器端:
如果需要傳輸的數據量過大(253個字節),那么一個域名肯定是不夠的,那么這些信息將會被分割成多個部分,然后再由服務器端負責進行重新拼裝和解碼:
首先,我們需要設置DNS記錄來代表我們服務器的子域名。比如說,如果你的服務器IP地址為192.0.2.123,而你想要通過子域名t1.example.com來發送數據的話,那么你的DNS配置應該如下:
t1 IN NS t1ns.example.com. t1ns IN A 192.0.2.123
在你的服務器端,使用go get命令安裝Browsertunnel。或者說,你也可以自行在設備上編譯Browsertunnel項目,然后把代碼拷貝到服務器端:
go get github.com/veggiedefender/browsertunnel
接下來,使用browsertunnel命令運行Browsertunnel,指定你想要用來傳輸數據的子域名:
browsertunnel t1.example.com
如需獲取Browsertunnel的完整使用方式,可以使用-help參數:
$ 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)
現在,你就可以開始測試你自己的DNS信道了。你可以使用我給大家提供的演示頁面:【點我訪問】。或者,大家也可以使用下列命令將該項目源碼克隆至本地,然后在本地加載html/index.html來進行測試。如果一切正常的話,大家就可以看到服務器端輸出的信息了。
git clone https://github.com/veggiedefender/browsertunnel.git
對于真實場景下的Browsertunnel使用,大家可能還需要根據情況來對代碼進行一些調整:
將消息寫入數據庫,而不是直接打印輸出;
轉換或重寫客戶端以支持更老版本的瀏覽器;
根據我們的數據流量,調整域名的ID字段;
對消息進行身份驗證或加密以實現數據傳輸的保密性和防篡改,別忘了DNS是一個明文協議;
關于怎么利用Browsertunnel通過DNS從瀏覽器中實現數據竊取就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。