ARP欺騙攻擊(小白入門筆記)

ps: 執念於心dalao說 arp欺騙攻擊只能局域網
但是我查了下好像可以跨網段ARP攻擊 ,就是很麻煩跨網段ARP攻擊-CSDN博客

1. ARP協議簡介

ARP是一種解析地址的協議,根據通信方的IP地址就可以反查出對應的MAC地址

IP間的通信以來MAC地址,在網絡上,通信雙方在同一局域網(LAN)內的情況是很少的,通常是進過多臺計算機和網絡設備中轉才能鏈接對方,在中轉時會利用下一站中轉設備的MAC地址來搜索下一個中轉目標,這是會採用ARP協議

在以太網中,兩臺主機想要通信,就必須要知道目標主機的MAC地址,ARP(地址解析協議)的基本功能就是在主機發送數據之前將目標IP轉換爲MAC地址,完成網絡地址到物理地址的映射,以保證兩臺主機之間的正常通信

1.1 ARP緩存表

任何一臺主機裝了TCP/IP協議都會有ARP緩存表,該表保存了這個網絡(局域網)中各主機IP對應的MAC地址,ARP緩存表能夠有效的保證數據傳輸的一對一特性

ARP緩存表中的條目類型有靜態也有動態,靜態ARP緩存條目是永久性的,動態ARP緩存條目如果主機在一段時間內不與此IP通信,將會刪除對應條目,Windows默認的ARP緩存項存活時間爲兩分鐘

MAC地址如同身份證號碼,具有全球唯一性

1.2 局域網主機通信

主機 主機IP MAC
網關1 192.168.0.1 01-01-01-01-01-01
主機A 192.168.0.2 02-02-02-02-02-02
主機B 192.168.0.3 03-03-03-03-03-03
網關2 192.168.1.1 11-11-11-11-11-11
主機C 192.168.1.2 12-12-12-12-12-12
現在主機A要進行與主機B的通信,主機A使用命令 `ping 192.168.0.3`,此時A先會通過`子網掩碼`進行對比,看看目標主機是否在同一局域網內

1.2.1 兩個主機在同一局域網內

      A先查詢本機的ARP緩存表,看看是否存在B的MAC地址,如果存在,直接發送數據,如果不在,主機A將會以廣播方式發送一個ARP請求報文,報文中包含本機的IP地址,MAC地址等信息,局域網內的所有主機都會接收到報文,當主機B接收到報文後,就會將自己的MAC地址發送給主機,並且將主機A的MAC地址加入自己的ARP緩存中,而其他主機接收到報文發現不是在叫自己,就不會有任何應答 **在局域網內的通信比較簡單,不需要經過網關就可以直接通信,但若不在一個局域網內就比較複雜了**

1.2.2 兩個主機不在同一局域網內(A和C)

      主機A通過`網絡掩碼` 進行對比,發現自己和主機C不在同一局域網內,所有需要網關來轉發處理。主機A首先將會查詢自己的ARP緩存中是否存在自己的網關的MAC地址,如果不存在,使用廣播獲取,`然後直接向網關1發送數據包`,由網關1向網關2發送數據包,網關2收到數據包之後發現是發送給主機C的數據,網關2將會查詢到自己的ARP緩存中時候存在主機C的MAC地址,若存在直接發送數據,不存在則廣播方式獲取主機C的MAC地址後發送數據

1.3 ARP欺騙原理

ARP協議主要缺陷:
1.由於主機不知道通信對方的MAC地址,所以才需要ARP廣播請求獲取,當在廣播請求時,攻擊者就可以僞裝ARP應答,冒充真正要通信的主機,以假亂真
2.ARP協議是無狀態的,這就表示主機可以自由的發送ARP應答包,及時主機未收到查詢,並且ARP響應都是合法的,許多主機會接受未請求的ARP應答包
3.一臺主機的IP被緩存在另一臺主機中,他就會被當做一臺可信任的主機。而計算機沒有提供檢驗IP到MAC地址是否正確的機制。當主機接收到一個ARP應答後,主機不再考慮IP到MAC地址的真實性和有效性,而是直接將應答包中的MAC地址與對應的IP地址替換掉原有ARP緩存表的 相關信息

入侵者正處在局域網內,利用ARP設計的一些缺陷可以在網絡中發送虛假的ARP請求或響應,這就是ARP欺騙

比如說,前面提到的,如果主機A與主機C之間要進行通信,可能被主機B截取

首先主機B向主機A發送一個ARP響應,192.168.0.1的MAC地址是03-03-03-03-03-03-03(僞裝成網關1)
主機A接收到響應後不會去驗證數據的真實性,而是直接替換本機ARP緩存表中192.168.0.1的MAC地址
同時,主機B向主機網關1發送一個arp響應,192.168.0.3 的MAC地址是03-03-03-03-03-03 同樣網關不會去驗證,直接放到自己的ARP緩存中
主機A和主機C通信時,主機A首先先檢查自己的ARP緩存表中是否有網關的MAC地址,發現有緩存的MAC地址 03-03-03-03-03-03,直接向MAC地址發送數據
但這個MAC其實是主機B的,主機B接收到數據後再轉發到真正的網關1,再由網關1轉發給主機C

同理,當C返回給A數據時,網關一被ARP欺騙,數據發給了主機B,主機B再轉發給A
數據都進過了主機B,就沒有了什麼祕密可言,這就是ARP欺騙
### 1.4 中間人攻擊 ARP欺騙就是最常見的中間人攻擊手段,常見的還有`會話劫持`、`DNS欺騙`等,當然`Burp Suite`這樣作爲一個代理攔截並編輯HTTP請求也算是一箇中間人攻擊軟件


2.ARP攻擊

在攻擊者入侵目標站點時,由於安全措施很到位,並不能獲取權限,恰好服務器也只放了一個網站,無法旁註,這時攻擊者就可能通過C段ARP嗅探攻擊,C段攻擊也可以看做是另類的”旁註”

所謂的C段攻擊,就是指在同一網關下的主機ARP嗅探,在嗅探出敏感數據後,繼續實施對目標網站的滲透。比如攻擊者的目標網站服務器IP地址爲192.168.1.8,無法直接滲透目標服務器時,攻擊者就可能去入侵與192.168.1.8同一網關下的服務器,一般是192.168.1.xxx,也就是C段IP,在得到服務器權限後,對目標主機實施ARP嗅探攻擊,一般嗅探敏感數據爲FTP密碼,Admin Pass等

2.1 通過arpspoof進行ARP欺騙

kali自帶的arpspoof工具可以進行arp欺騙攻擊,如果想要讓狗室友上不了網而已,僅僅需要arpspoof -i eth0 -t 狗室友的ip 狗室友的網關,這樣操作狗室友會斷網,但是如果要進行arp欺騙,那麼我們還需要在使用arpspoof之前開啓網卡轉發模式,在終端輸入echo 1 > /proc/sys/net/ipv4/ip_forward 如此操作,狗室友的電腦依然可以上網,不過所有的數據都會進過我們的電腦進行轉發

想要查看同一局域網內有幾臺設備可以使用fping,比如這臺主機的IP爲192.168.0.102,我們要查看局域網下還有哪些主機就要fping -g 192.168.0.0/24
這裏寫圖片描述
在圖中可以看到,在局域網中,不僅僅存在我的主機 192.168.0.102和網關 192.168.0.1 ,而且還存在另一臺主機192.168.0.105 那麼我們就可以對這臺主機進行arp欺騙攻擊

Linux裏查詢本機ip使用ifconfig, Win下使用ipconfig

下面實際操作一下:

這裏寫圖片描述
先查看一下靶機的arp列表
在kali上進行操作
這裏寫圖片描述
檢查Win的ARP列表,我們發現ARP欺騙後,多了一條動態的地址,這個地址就是我們的Kali的地址,所以ARP欺騙成功,那麼靶機的所有數據都會經過我們的攻擊者主機
這裏寫圖片描述

我們對主機ARP欺騙成功後可以做很多事情,比如使用driftnet從別人的數據流量中截取圖片

2.1.1 使用driftnet從別人的數據流量中截取圖片

使用命令driftnet -i eth0
這裏寫圖片描述

2.1.2 使用ettercap進行密碼抓取

在命令行模式下使用ettercap
ettercap -Tq -i eth0

然後我們對4399進行賬號和密碼的抓取
這裏寫圖片描述
但是這只是因爲4399是http並非http
那麼我們想要抓取HTTPS下的網頁敏感數據,我們就要用到新工具sslstrip

SSLstrip 也叫 https 降級攻擊,攻擊者攔截用戶流量後,欺騙用戶與攻擊者進行 http 通信,攻擊者與服務器保持正常通信 (http 或 https),從而獲取用戶信息。

攻擊原理
通過中間人攻擊監聽 http 流量(自己試驗可以通過設置 http 代理)
更改重定向鏈接中的 location,替換 https 爲 http,並記錄
更改響應內容中的超鏈接,替換 https 爲 http,並記錄
與用戶進行 http 通信,與服務器進行 https 通信(記錄中本應是 https 的請求),從而明文獲取用戶信息

佔坑
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章