ARP的欺騙原理和攻防
《資訊保安與攻擊防範》課程論文
——ARP的欺騙原理和攻防
ARP協議是什麼
ARP(AddressResolutionProtocol),即地址解析協議。其基本功能通過目標裝置的IP地址,查詢目標裝置的MAC地址,以保證通訊的順利進行。它是IPv4中網路層必不可少的協議,不過在IPv6中已不在適用,並被NDP(鄰居發現協議)所代替。
基本功能
在乙太網協議中規定,同一區域網中的一臺主機要和另一臺主機進行自己通訊,必須知道目標主機的MAC地址。而在TCP/IP協議中,網路層和傳輸層之關心目標主機的IP地址。這就導致在乙太網中使用IP協議時,資料鏈路層的乙太網協議接到上層IP協議提供資料中,只包含目的主機
原理
在每檯安裝有TCP/IP協議的電腦或路由器中都會有一個
Address |
Hardwaretype |
Hardwareaddress |
Flags |
Mask |
Interface |
192.168.137.12 |
ether |
74:d0:2b:45:a8:a9 |
C |
wlan0 |
|
192.168.137.69 |
ether |
20:89:84:8a:8a:da |
C |
wlan0 |
|
192.168.137.88 |
ether |
f8:a4:5f:76:f9:1f |
C |
wlan0 |
|
192.168.137.89 |
ether |
28:d2:44:84:85:85 |
C |
wlan0 |
|
192.168.137.148 |
ether |
60:be:b5:b0:7b:af |
C |
wlan0 |
|
192.168.137.220 |
ether |
5c:f9:dd:63:d0:c0 |
C |
wlan0 |
注:上表是我的UbuntuGnome 14.04LTS主機上的ARP快取表。為了破解閃訊,我們是通過網絡卡建立的區域網,共享的網路,所以是wlan0,而不是eth0.附上終端截圖。
以主機A(192.168.137.88)向主機B(192.168.137.89)傳送資料為例。當傳送資料時,主機A會在自己的ARP快取表中尋找是否有IP地址。如果找到了,也就知道目標MAC地址為(28:d2:44:84:85:85),直接把目標MAC地址寫入幀裡面傳送就可以了;如果ARP快取表中沒有找到相應的IP地址,主機A會在網路上傳送一個廣播(ARPrequest),目的MAC地址上是(FF.FF.FF.FF.FF.FF),這表示向同一網段內的所有主機發出這樣的詢問:“192.168.137.89的MAC地址是什麼?”。網路上其它主機並不會響應ARP詢問,只有主機B接收到這個幀時,才對主機A做出這樣的迴應(ARPresponse):“192.168.137.89的MAC地址是(28:d2:44:84:85:85)”。這樣,主機A就是到主機B的MAC地址,它就可以向主機B傳送資訊了。同時它還更新了自己的ARP快取表,下次在向主機B傳送資訊時,直接從ARP快取表裡面查詢就行了。ARP快取表採用了老化機制,在一段時間內如果表中的某一行沒有使用,就會被刪除,這樣可以大大減少ARP快取表的長度,加速查詢速度。
ARP欺騙原理
主機A(192.168.137.88),主機B(192.168.137.89),閘道器G(192.168.137.69);在同一區域網,主機A和主機通過閘道器G互相通訊,就好像A和B互相寫信,而G是郵局負責傳遞。C不會知道A和B說了些什麼。但事實沒有那麼安全,在ARP快取機制存在一個缺陷,就是當請求主機收到ARP應答包之後,不會去驗證自己是否向對方主機發送過ARP請求包,就直接把這個返回包中的IP地址與MAC地址的對應關係儲存到ARP快取表中,之前原有的IP對應關係會被覆蓋。
現在有一個主機C,它告訴主機A自己是主機G(主機C向主機A傳送構造好的返回包,源IP為主機G(192.168.137.69),源MAC為主機C自己的MAC地址)。這樣在主機A的ARP快取表中,留下的錯誤的資訊,閘道器G的IP對應來主機C的MAC地址。
主機C欺騙完主機A後,它又告訴閘道器G,它就是主機A(主機C向閘道器G傳送構造好的返回包,源IP為主機A(192.168.137.88),源MAC地址為主機C的MAC地址)。
這樣主機B發給主機A的資料包,先給了閘道器G,閘道器G卻沒有發給A,轉而發給了主機C。而主機A發給主機B,本要先給閘道器G發,但直接發給來主機C。
ARP攻擊實戰
環境:主機0:UbuntuGnome 14.04 LTS(64bit)
虛擬A:WindowsXP(32bit)(關閉了防火牆)
虛擬B:KaliLinux 1.0.9a(64bit)
主機 |
IP地址 |
MAC地址 |
虛擬A(XP) |
192.168.1.137 |
08:00:27:b1:13:0d |
虛擬B(Kali) |
192.168.1.108 |
08:00:27:d3:7c:31 |
閘道器G |
192.168.1.1 |
d8:15:0d:e0:87:a4 |
在開始之前檢視ARP快取表
現在arp快取表還是正確的。
虛擬A(192.168.1.137)是被攻擊主機,虛擬B(192.168.1.108)是攻擊的主機。
但在進行arp欺騙之前必須要開啟IP轉發,否者當欺騙成功之後,攻擊目標會斷網,這樣會被發覺。執行命令echo1 > /proc/sys/net/ipv4/ip_forward
現在已經成功開啟來IP轉發,那我們開始ARP欺騙攻擊
向目標192.168.1.137傳送返回包,包的內容:
源IP:192.168.1.1
源MAC:08:00:27:c3:7c:31
現在來看被攻擊的目標主機虛擬A的ARP快取表
為了方便比較,上面的是第一次的ARP快取表表,也是對的ARP快取表。下面是攻擊過後的ARP快取表,可以明顯看出閘道器(192.168.1.1)的MAC地址改變了,變成了攻擊者虛擬B(192.168.1.108)的MAC地址。
攻擊成功。在附上全屏截圖
ARP欺騙的危害
ARP欺騙可以造成內部網路的混亂,讓某些被欺騙的Server無法正常訪問內外網路,使閘道器無法和客戶端正常通訊。實際上他的危害還不僅僅如此,一般來說IP地址的衝突我們可以通過多種方法和手段來避免,而ARP協議工作在更低層,隱蔽性更高。系統並不會判斷ARP快取的正確與否,無法像IP地址衝突那樣給出提示。而且很多黑客工具例如網路剪刀手等,可以隨時傳送ARP欺騙資料包和ARP恢復資料包,這樣就可以實現在一臺Server上通過傳送ARP資料包的方法來控制網路中任何一臺Server的網路鏈路,甚至還可以直接對閘道器進行攻擊,讓所有連線網路的計算機都無法正常上網。
ARP防禦
在Windows可以使用antiarp進行防禦,這是一個國產防禦軟體。
在Linux下使用arping命令向閘道器發ARP請求包,就可以得到正確的MAC地址了,還有arpoison和Libnet也可以,當它們是什麼實現的就不是很清楚了。
相關推薦
ARP的欺騙原理和攻防
《資訊保安與攻擊防範》課程論文 ——ARP的欺騙原理和攻防 ARP協議是什麼 ARP(AddressResolutionProtocol),即地址解析協議。其基本功能通過目標裝置的IP地址,查詢目標裝置的MAC地址,以保證通訊的順利進行。它是IPv4中網路層必不可少的
ARP欺騙原理淺析
ARP(地址解析協議)。 我們知道,IP地址是在網路層所使用的,它是一個邏輯地址,兩臺主機要進行通訊,在實際的網路鏈路層上,使用的還是硬體地址,所以在區域網中,兩臺主機要進行通訊的話,還得知道對方的硬體地址,那麼,主機是以什麼方式來對IP與硬體地址進
ARP原理和ARP攻擊
ARP原理 ARP攻擊 ARP--在TCP/IP協議棧中,最不安全的協議莫過於ARP了,我們經常聽到的網絡掃描,內網滲透,流量欺騙等等,他們基本上都與ARP有關系,甚至可以說,他們的底層都是基於ARP實現的。但是ARP的是實現僅需一問一答的兩個包即可,實現上很簡單。一、ARP協議ARP(Address
ARP原理 和防護
部署 主機 指定 欺騙 之前 修改 其他 返回 toc ARP 基本原理和防護 一、 ARP 基本原理:地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的A
中間人攻擊——ARP欺騙的原理、實戰及防禦(轉載)
1.1 什麼是閘道器 首先來簡單解釋一下什麼是閘道器,閘道器工作在OSI七層模型中的傳輸層或者應用層,用於高層協議的不同網路之間的連線,簡單地說,閘道器就好比是一個房間通向另一個房間的一扇門。 1.2 ARP協議是什麼 ARP(Address Resolution Protoco
綜合使用Ettercap+Namp+Wireshark進行Arp欺騙和會話劫持
作業系統為MAC OS 一、安裝 1.安裝wireshark https://www.wireshark.org/#download 2.安裝nmap brew install nmap 3.下載gunzip 如果出現了壓縮包,需要使用gunzip以解壓wir
用Cain&Abel進行ARP欺騙和用Wireshark偵測ARP欺騙
1.開始前先簡單闡述ARP欺騙的原理: 1).ARP雙向欺騙的原理: 假設主機 A 192.168.1.2,B 192.168.1.3,C 192.168.1.4; 閘道器 G 192.168.1.1; 在同一區域網,主機A和B通過閘道器G相互通訊,就好比A和B兩個人寫信,由郵遞員G送信
Android 平臺上的 ARP 和 ARP欺騙
前言:想要做的功能是在Android某個應用中加入arp,使Android手機和指定MAC的裝置進行Socket連線前,能夠向路由請求獲得該MAC對應IP,前提是手機和裝置在同一區域網下。寫一篇非常詳細的學習Android平臺上的ARP的部落格吧。 一、關
Linux Arp命令繫結IP和MAC地址防止ARP欺騙
Linux Arp命令危害:Linux Arp命令危害極大,有的病毒就使用ARP欺騙,不僅影響自身機器,同時也會影響同網段的其它機器,將其它機器的HTTP資料包里加入病毒程式碼。 1、程式碼例子如:<html><iframe src=http://病毒連結.htm width=0 h
代理ARP的作用和原理
Proxy(代理)ARP作用及原理 代理ARP是ARP協議的一個變種。對於沒有配置預設閘道器的計算機要和其他網路中的計算機實現通訊,閘道器收到源計算機的 ARP 請求會使用自己的 MAC 地址與目標計算機的 IP地址對源計算機進行應答。代理ARP就是將一個主機作為對
Kali實現區域網ARP欺騙和ARP攻擊
所謂ARP攻擊,就是偽造IP和MAC地址進行的攻擊或者欺騙,但是在我看來,ARP攻擊和ARP欺騙應該是兩個概念,ARP攻擊所產生的效果就是使目標主機(當然這裡預設的是區域網,倘若你處在外網,涉及到內網滲透,以後在具體說內網滲透)斷網,這種行為從某種意義上來說是,是損人不利
kali 實現arp攻擊和arp欺騙
所謂ARP攻擊,就是偽造IP和MAC地址進行的攻擊或者欺騙,但是在我看來,ARP攻擊和ARP欺騙應該是兩個概念,ARP攻擊所產生的效果就是使目標主機(當然這裡預設的是區域網,倘若你處在外網,涉及到內網滲透,以後在具體說內網滲透)斷網,這種行為從某種意義上來說是,是損人不利
貝葉斯算法的基本原理和算法實現
utf shape less 流程 我們 def .sh 詞向量 貝葉斯算法 一. 貝葉斯公式推導 樸素貝葉斯分類是一種十分簡單的分類算法,叫它樸素是因為其思想基礎的簡單性:就文本分類而言,它認為詞袋中的兩兩詞之間的關系是相互獨立的,即一個對象 的特征向量
base64加密和解碼原理和代碼
先來 自動 clas enter 緩沖區 urn rar col his Base64編碼,是我們程序開發中經常使用到的編碼方法。它是一種基於用64個可打印字符來表示二進制數據的表示方法。它通常用作存儲、傳輸一些二進制數據編碼方法!也是MIME(多用途互聯網郵件擴展,主要用
動態替換Linux核心函數的原理和實現
c函數 路徑 pla ges sta images 語句 堆棧 mit 轉載:https://www.ibm.com/developerworks/cn/linux/l-knldebug/ 動態替換Linux核心函數的原理和實現 在調試Linux核心模塊時,有時需要
Docker的概念及剖析原理和特點
應用程序 服務器 臺電腦 數據庫 虛擬機 一、docker的簡介: 應用容器是個啥樣子呢,一個做好的應用容器長的就像一個裝好了一組特定應用的虛擬機一樣,比如我現在想用mysql數據庫,我直接找個裝好了的MySQL的容器就可以了,想用的時候一運行容器,MySQL服務就起來了,就可以使
R語言統計分析技術研究——嶺回歸技術的原理和應用
gts 根據 誤差 med 分享 jce not -c rt4 嶺回歸技術的原理和應用
springMVC 的工作原理和機制、配置
spring mvc+my batis kafka dubbo+zookeerper restful redis分布式緩存 工作原理下面的是springMVC的工作原理圖:1、客戶端發出一個http請求給web服務器,web服務器對http請求進行解析,如果匹配DispatcherServle
linux 下的局域網斷網攻擊或arp欺騙
pro 圖片 war 目標 掃描 關閉 主機 斷網 sys arp欺騙: /*正常情況下 電腦是將流量發送到網關 而欺騙後 則將流量傳到此機器的網卡上 再由此機器進行轉發至網關*/ --》 first: 使用fping -asg ip段/*掃描段內存活的主機*/ --》
HDFS的快照原理和Hbase基於快照的表修復
才會 vertical 根據 註意 efault 失敗 機制 soft hot 前一篇文章《HDFS和Hbase誤刪數據恢復》主要講了hdfs的回收站機制和Hbase的刪除策略。根據hbase的刪除策略進行hbase的數據表恢復。本文主要介紹了hdfs的快照原理和根據快照進