DNS毒化攻击及防御
攻擊技術
攻擊原理
現行標準中 DNS 查詢通常使用 UDP 協議并且沒有任何驗證機制,并且根據慣例查詢者會接受第一個返回的結果而拋棄之后的。因此只需監控 53 端口(DNS 標準端口)的 UDP查詢數據報并分析,一旦發現敏感查詢,則搶先向查詢者返回一個偽造的錯誤結果,從而實現 DNS 污染。
DNS污染并無法阻止正確的DNS解析結果返回,但由于旁路產生的數據包發回的速度較國外DNS服務器發回的快,操作系統認為第一個收到的數據包就是返回結果,從而忽略其后收到的數據包,從而使得DNS污染得逞。
實驗拓撲
攻擊步驟
1、關閉虛擬機的DNS防護機制
在/etc/bind/named.conf.options 文件中
2、修改DNS解析的配置文件
在 /etc/bind/named.conf.default-zones 中
3、在正向解析記錄文件中書寫文件配置
在/var/cache/bind/ciscon.com 文件中
3、重啟DNS服務
sudo systemctl restart bind9.service
4、更改客戶端DNS地址
5、嘗試訪問
6、使用kali進行攻擊
sudo netwox 105 -h www.huawei.com -H 192.168.162.132 -a ns.cisco.com -A 192.168.162.131
當客戶端訪問www.huawei.com這個網址時,kali將捕捉到DNS請求包,然后將上面編輯好的偽裝包回復給客戶端
此時客戶端也成功登錄到www.huawei.com這個網頁上了
注意:在我們的DNS服務器中并沒有對www.huawei.com的地址進行解析
我們在kali上抓包也可以看到,DNS應答包中的源IP是192.168.162.131,這是kali偽造的數據包,是kali偽裝成DNS服務器回復的數據包。
在包中也可以看到對www.huawei.com這個地址進行解析的是ns.cisco.com這個DNS服務器。不過這也是kali偽裝出來的。
防御技術
- 及時檢查自己的DNS服務器是否存在DNS緩存中毒漏洞,如果發現了自己的DNS服務器存在該漏洞就可以在被攻擊前采取措施修補,避免攻擊事件的發生。
- 隨機選擇一個端口作為DNS用途。
- 加密所有對外的數據流,對服務器來說就是盡量使用SSH之類的有加密支持的協議,對一般用戶應該用PGP之類的軟件加密所有發到網絡上的數據。
- 及時刷新DNS,DNS緩存會被重建,再次用域名訪問IP服務器,故障消失。
- 采用域名系統安全協議(DNSSEC)機制,依靠公鑰技術對于包含在DNS中的信息創建密碼簽名。
總結
以上是生活随笔為你收集整理的DNS毒化攻击及防御的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 仿安居客好租网房产源码
- 下一篇: 中国姓氏排行研究