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 |
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 的請求),從而明文獲取用戶信息
佔坑