天天看點

ARP攻擊實作方案ARP(位址解析協定)攻擊:通過僞造IP位址和MAC位址實作ARP欺騙,能夠在網絡中産生大量的ARP通信量使網絡阻塞,攻擊者隻要持續不斷的發出僞造的ARP響應包就能更改目标主機ARP緩存中的IP-MAC條目,造成網絡中斷或中間人攻擊。1.Dsniff安裝2.arpspoof使用

ARP(位址解析協定)攻擊:通過僞造IP位址和MAC位址實作ARP欺騙,能夠在網絡中産生大量的ARP通信量使網絡阻塞,攻擊者隻要持續不斷的發出僞造的ARP響應包就能更改目标主機ARP緩存中的IP-MAC條目,造成網絡中斷或中間人攻擊。

1.Dsniff安裝

本次實驗中采用arpspoof工具來實作arp攻擊,自己本人的虛拟機裝的是CentOS-6.5 64位系統,dsniff采用yum安裝的方式比較簡單,會自己下載下傳相應的依賴包,不建議源碼安裝方式(庫依賴會出現很大問題)。在yum安裝dsniff前,我們需要下載下傳安裝EPEL的源(repo),因為dsniff的rpm包是通過EPEL的源下載下傳的。下載下傳位址為 https://dl.fedoraproject.org/pub/epel/,官網對EPEL的介紹http://fedoraproject.org/wiki/EPEL。

我的系統版本為6.x,是以下載下傳RPM-GPG-KEY-EPEL-6包安裝後,yum install dsniff即可,man arpspoof檢視arp工具的使用方法。

2.arpspoof使用

如上圖所示,在區域網路192.168.0.x網段中,電腦A和B為區域網路通信的兩台主機(已知mac和ip),攻擊者是區域網路内部的任意一台主機。最簡單的arp攻擊指令為:arpspoof -i eth0 -t des_ip source_ip。      
-i 指定攻擊機C的目标網卡,資料通過eth0網卡經過攻擊機C;-t 指定僞造目标主機mac的ip位址,按照上圖示例我們執行arp攻擊步驟為:      
1.開啟一個終端:執行arpspoof -i eth0 192.168.0.2 192.168.0.1指令,攻擊者C會僞造B的mac位址欺騙A,A發往B的資料會通過網卡eth0發給攻擊者B。      
2.另開啟一個終端:執行arpspoof -i eth0 192.168.0.1 192.168.0.2指令,攻擊者C會僞造A的mac位址欺騙B,B發往A的資料會通過網卡eth0發給攻擊者C。      
3.執行1和2後,電腦A和B通信的資料都會經過C,假設B是區域網路網段的網關,我們在主機C上執行相應的幹擾指令,可中斷A與外部網絡的通信或限制A與外部網絡的傳輸速率。      
4.測試驗證:      
1)可在攻擊機C上通過wireshark檢視網卡eth0,可知A與B通信的資料包經過了C,确認C達到了ARP欺騙的效果;      
2)開啟B的Apache服務,在/var/www/html目錄下放一個視訊檔案,在A上執行wget下載下傳那個視訊,在C上執行tcptrace指令,分析tcp資料傳輸确實經過了攻擊機C。      
5.攻擊機C實作幹擾:1)和2)可限制A與B通信傳輸速率,3)會中斷A與B的通信。      
1)設定TCP傳輸過程的滑動視窗的大小:iptables -t broute -A BROUTING  -o bro -p tcp --tcp-flags SYN,RST  SYN -j TCPMSS --set-mss 100。      
2)對端口eth0延時100ms(流量控制):tc qdisc add dev eth0 root netem delay 100ms      
3)斷開所有TCP的連接配接指令 iptables -I FORWARD -p tcp --dport 80 -j REJECT --reject-with tcp-reset      
6.ARP的篡改資料包攻擊幹擾實作:攻擊機針對A和網關B發起ARP欺騙攻擊,使得A和網關B之間的通信資料經過攻擊機C,然後可以控制選擇性地丢棄A與網關B之間的資料包,控制它們之間的資料傳輸速率,或者對資料包進行篡改,甚至可以中斷兩者之間的通信。      
步驟6的技術實作需要學習iptables、libnetfilter-queue和SOCK_RAW的知識,iptables可将資料鍊路層的資料包拿到網絡層,libnetfilter-queue庫提供的接口可将核心的資料包拿到使用者空間,SOCK_RAW可将使用者空間的資料包直接發送到内側網卡路由到目的主機,後面我會寫一篇UDT可靠資料包傳輸的部落格,會用到這三種技術,感興趣的朋友可以了解一下。      

繼續閱讀