安全圈 | 专注于最新网络信息安全讯息新闻

首页

無線滲透(序章)—mitm

作者 lervik 时间 2020-02-27
all

中間人攻擊(MITM)是一種由來已久的攻擊手段,簡單點說也就是截獲你的流量,然後篡改或者偵測流量,而且就算是老成的網絡“高手”也不一定能發現自己中招了,接下來就由筆者給大家逐一介紹其中的攻擊原理和防禦手段。

0x01. ARP協定分析

ARP即地址解析協定,數据包在以太網中傳輸時需要有兩個地址,一個是IP地址,另一個就是MAC地址。其中的IP地址只是用來進行邏輯定址的,以太網並不能通過IP地址進行通信,因為IP地址是可以變換的,基於IP的通信不可靠也不安全,所以在以太網中主要是靠MAC地址進行物理通信,因為電腦的MAC地址在出產時就已經設定好,一般不會改變,而ARP協定就是用來幫助主機獲取目標主機的MAC地址!

ARP通信過程:

1.首先,每臺主機都會在自己的ARP緩衝區建立一個ARP清單,用於表示IP地址和MAC地址的對應關係

2.當源主機需要向目標主機發送數据包時,會先檢查自己的ARP緩衝區是否有該IP對應的MAC地址,如果有就直接發送數据包到該MAC地址;如果沒有那麼源主機就會在本網段發ARP廣播包,査詢目標主機的IP對應的MAC地址(注:這裡只討論局域網環境)

3.收到ARP廣播包的主機會檢查數据包中的目的IP地址和自己的IP地址是否一致,如果不同則丟棄數据包;如果相同那麼目標主機會先將數据包中的IP/MAC對應關係緩存到自己的ARP清單中,並且會覆蓋原本屬於這個IP對應的MAC(注:這是中間人攻擊的關鍵),然後給源主機發送一個ARP響應數据包,告訴對方自己是它需要查找的MAC地址

4.源主機收到這個ARP響應數据包後,將得到的目的主機的IP地址和MAC地址添加到自己的ARP清單中,並利用此資訊開始數據的傳輸。

0x02. ARP劫持原理

如上圖所示,中間人攻擊也就是將原本正常client<——>server之間的通信劫持下來變成client<——>attacker<——>server,讓用戶端和服務端的流量都從attacker的電腦經過,此時的attacker就可以偵聽流經本機的流量並進行篡改和偵測。下麵介紹如何讓attacker成為中間人。

client<——>server client<——>attacker<——>server

MITM原理:

1.一開始筆者就介紹了ARP協定的通信原理,之所以這麼做是想讓大家對協定有更深入的理解,然後更好的弄清楚中間人的本質,這樣才知道如何防禦

2.其實電腦是很笨的,它並不能向人類那樣靈敏的思考,就好比我們直接給client發送一個ARP數据包聲稱:我的MAC對應的IP就是閘道IP,以後把你的的數据包發給我讓我幫你轉發吧,然後client想都不想就會相信,而且也不理會自己是否發送了ARP廣播包

3.欺騙閘道時也是一樣的,那麼之後的通信就會成為client<——>attacker<——>gateway

client<——>attacker<——>gateway

0x03. MITM攻擊實戰

環境準備:

kali Linux

win 7靶機IP=192.168.1.106

攻擊流程:

1.啟動kali的流量轉發功能,然後啟動arpspoof對靶機和閘道進行雙向欺騙,成為中間人

echo 1 > /proc/sys/net/ipv4/ip_forward && arpspoof -t 192.168.1.106 -r 192.168.1.1

2.啟動urlsnarf監聽靶機訪問的URL

urlsnarf -i eth0

3.通過dnsspoof進行DNS欺騙(注:筆者使用這個工具時不太穩定,有時成功有時失敗,但是大多數情况下都失敗了,可能是我的靶機緩存有DNS記錄,所以大家儘量選擇沒訪問過的網站)

echo“192.168.1.1 *.wmpic.me”> dnsspoof.host && dnsspoof -i eth0 -f dnsspoof.host

4.通過dsniff偵測密碼

dsniff -cm

0x04.防禦措施

關於中間人的利用就介紹到這裡吧,大家可以自行Google一下其他的工具,下麵介紹一下防禦方法。基於ARP的中間人攻擊只需要在閘道上設定IP/MAC綁定就能杜絕了,其實原理很簡單,這就是上面我給大家介紹ARP原理的原因。

0x05.結語

祝大家國慶快樂!!如果有任何問題可以加群與作者溝通

想要投稿者可以加群聯系群主