DNSBin:一款功能強(qiáng)大的DNS與服務(wù)器安全測(cè)試工具
關(guān)于DNSBin
DNSBin是一款功能強(qiáng)大的DNS與服務(wù)器安全測(cè)試工具,該工具可以通過(guò)DNS來(lái)測(cè)試數(shù)據(jù)泄露,并在目標(biāo)環(huán)境部署了嚴(yán)苛網(wǎng)絡(luò)安全限制的場(chǎng)景下幫助廣大研究人員測(cè)試遠(yuǎn)程代碼執(zhí)行(RCE)和XML外部實(shí)體注入(XXE)等安全漏洞。
該項(xiàng)目由兩個(gè)部分組成,第一個(gè)部分是Web服務(wù)器及其相關(guān)組件,它提供了一個(gè)基本的Web UI,這也適用于絕大多數(shù)的使用場(chǎng)景了。第二部分則是客戶端組件,客戶端提供了一個(gè)Python腳本,可以允許使用Web服務(wù)器并通過(guò)DNS實(shí)現(xiàn)雙向數(shù)據(jù)傳輸。
工具安裝
廣大研究人員可以使用下列命令將該項(xiàng)目源碼克隆至本地:
git clone https://github.com/ettic-team/dnsbin.git
工具配置
DNS
工具演示Demo所使用的服務(wù)器當(dāng)前DNS配置如下。請(qǐng)注意,該配置已經(jīng)過(guò)了長(zhǎng)時(shí)間的反復(fù)測(cè)試,因此設(shè)置的可能過(guò)于復(fù)雜:
1、為域名“dns1.zhack.ca”添加一條指向“192.99.55.194”的“a”記錄;
2、為域名“ns1.zhack.ca”添加一個(gè)指向“192.99.55.194”的“a”記錄;
3、為域名“d.zhack.ca”添加一條“NS”記錄,值為“dns1.zhack.ca”;
4、為域名“d.zhack.ca”添加一個(gè)值為“ns1.zhack.cab”的“NS”記錄;
Web托管
強(qiáng)烈建議使用Node.JS模塊“forever”來(lái)啟動(dòng)DNS接收器和WebSocket端點(diǎn):
forever start index.js
對(duì)于前端,文件“index.html”可以托管在你選擇的Web服務(wù)器上,請(qǐng)確保WebSocket URL指向你的服務(wù)器即可。
客戶端
客戶端腳本要求在兩端都安裝“dnspython”。無(wú)論是發(fā)送還是接收數(shù)據(jù),都必須首先在受限區(qū)域外的計(jì)算機(jī)上啟動(dòng)腳本。腳本將為廣大研究人員提供一個(gè)唯一的令牌,當(dāng)你在受限區(qū)域內(nèi)的計(jì)算機(jī)上運(yùn)行腳本時(shí),必須傳遞該令牌。
工具使用
發(fā)送數(shù)據(jù)使用樣例
設(shè)備外:
echo test12345 | python main.py -f- -d out -t-
設(shè)備內(nèi):
python main.py -f- -d in -t TOKEN_THE_FIRST_COMMAND_GAVE_YOU
接收數(shù)據(jù)使用樣例
設(shè)備外:
python main.py -f- -d in -t-
設(shè)備內(nèi):
echo test12345 | python main.py -f- -d out -t TOKEN_THE_FIRST_COMMAND_GAVE_YOU
工具使用Demo
使用Demo:【點(diǎn)我嘗試】
項(xiàng)目地址
DNSBin:【GitHub傳送門(mén)】
參考資料
本文作者:Alpha_h4ck, 轉(zhuǎn)載請(qǐng)注明來(lái)自FreeBuf.COM