本文僅用于討論網(wǎng)絡(luò)安全技術(shù),以保護(hù)信息安全為目的,請(qǐng)勿用于非法用途!
ARP欺騙
ARP中間人攻擊
ARP中間人攻擊也稱ARP緩存攻擊。為了捕獲那些本來不應(yīng)該被kali本機(jī)看到的流量數(shù)據(jù),我們需要想辦法把不屬于kali的數(shù)據(jù)包截獲發(fā)送到kali本地系統(tǒng)上,也叫攔截其他主機(jī)收發(fā)的數(shù)據(jù),然后再把原有數(shù)據(jù)轉(zhuǎn)發(fā)給原本的收發(fā)雙方,從而實(shí)現(xiàn)流量捕獲(不同于上節(jié)課的kali本機(jī)流量捕獲?。?。換言之,這是業(yè)內(nèi)普片采用的地址解析協(xié)議(ARP)緩存攻擊,也稱ARP欺騙攻擊。
ARP演示
計(jì)算機(jī)數(shù)據(jù)收發(fā)原理:
比如ubuntu(192.168.31.178)發(fā)送數(shù)據(jù)到xp(192.168.31.50)。一個(gè)數(shù)據(jù)包在發(fā)送之前,ubuntu會(huì)確定xp目標(biāo)主機(jī)的ip地址以及mac地址,一旦確定,才會(huì)進(jìn)行發(fā)送數(shù)據(jù)包。
而這個(gè)過程是:
如果ubuntu的ARP緩存條目列表中沒有xp的ip和MAC地址。Ubuntu就會(huì)騷動(dòng)起來,拿著喇叭在本地網(wǎng)絡(luò)上廣播,相當(dāng)于在那喊(誰的ip地址是192.168.31.50,我要送你一封情書,嘿嘿?。?,然后本地網(wǎng)絡(luò)中某個(gè)妹子(xp)聽到了,騷動(dòng)的回答(你妹的,我的ip是192.168.31.50,另外我的mac地址是00:0c:29:a9:ce:92,發(fā)我這來)。
如果ubuntu的ARP緩存已經(jīng)存在xp的ip和MAC地址(之前連接過)。Ubuntu此時(shí)就不會(huì)在本地網(wǎng)絡(luò)大聲喊麥了(不用廣播),而是直接拿起存好的xp電話號(hào)碼(已經(jīng)在ARP緩存中存好的ip),進(jìn)行聯(lián)系,實(shí)現(xiàn)發(fā)送數(shù)據(jù)包。
但不管怎樣,數(shù)據(jù)包的收發(fā)都需要目標(biāo)設(shè)備的ip地址和對(duì)應(yīng)的MAC地址。
那么我們來個(gè)第三者kali,使用ip轉(zhuǎn)發(fā),開啟ARP緩存攻擊,就會(huì)將ubuntu上ARP中xp的ip和mac變成kali的ip和mac;同時(shí)也會(huì)將xp中ARP緩存的列表ubuntu修改成kali的ip和mac。這樣就實(shí)現(xiàn)了kali截獲ubuntu發(fā)往xp,或者xp發(fā)往ubuntu的數(shù)據(jù)流量。
ARP緩存攻擊與Arpspoof
測試案例:ubuntu靶機(jī)登錄xp靶機(jī)的Filezilla的ftp服務(wù),使用ARP緩存攻擊來截獲登錄信息!
路由轉(zhuǎn)發(fā)
在誘使ubuntu靶機(jī)把流量發(fā)送到我們kali之前,需要打開kali的路由轉(zhuǎn)發(fā):
echo 1 > /proc/sys/net/ipv4/ip_forward
如果沒有進(jìn)行路由轉(zhuǎn)發(fā),整個(gè)本地網(wǎng)絡(luò)就會(huì)出現(xiàn)Dos拒絕服務(wù),導(dǎo)致ubuntu無法正確發(fā)送數(shù)據(jù),xp也無法接收數(shù)據(jù)。我們不是來破壞網(wǎng)絡(luò),而是默默的在中間截取他們之間的情話,然后黯然欣喜即可!
使用arpspoof工具將kali偽裝成xp
Kali終端輸入:
arpspoof -i eth0 -t 192.168.31.178 192.168.31.50
解釋:-i設(shè)置本地網(wǎng)絡(luò)接口、-t靶機(jī)發(fā)送方ubuntu、靶機(jī)接收方xp(其實(shí)是kali偽裝的),kali在這里充當(dāng)中間人,偽裝成xp接收方,使用我們的mac作為xp接收方的mac,實(shí)現(xiàn)截獲!
上面的arpspoof(kali)立即開始向ubuntu發(fā)送方發(fā)送arp(偽裝成xp)應(yīng)答,
現(xiàn)在繼續(xù)開啟一個(gè)arpspoof實(shí)例,kali新終端輸入:
arpspoof -i eth0 -t 192.168.31.50 192.168.31.178
解釋:kali繼續(xù)充當(dāng)中間人,-t靶機(jī)發(fā)送方xp,靶機(jī)接收方ubuntu(其實(shí)是kali偽裝的),告訴xp我們kali就是接收方Ubuntu,此處使用我們kali的mac來充當(dāng)接收方ubuntu的mac,實(shí)現(xiàn)截獲!
查看ubuntu上的ARP緩存列表
之前kali、xp都和ubuntu通信過,這樣才會(huì)在ubuntu的ARP緩存中存儲(chǔ)kali、xp本身的ip和MAC地址。可以采取在xp、kali終端中 ping ubuntu的ip實(shí)現(xiàn)通信 (ping 192.168.31.178)
Ubuntu終端輸入:
arp -a
發(fā)現(xiàn)kali(192.168.31.206)的MAC地址(00:0c:29:1a:7f:b9)和xp(192.168.31.50)的mac是一模一樣的!這就意味著ubuntu發(fā)完xp的數(shù)據(jù)會(huì)先發(fā)給kali主機(jī),然后kali主機(jī)又將數(shù)據(jù)轉(zhuǎn)發(fā)給xp,這個(gè)過程中,kali就使用wireshark將流量捕獲、分析!
在kali終端中開啟wireshark流量捕獲
Kali終端中輸入:
wireshark
在ubuntu中登錄xp的FTP服務(wù)器(實(shí)現(xiàn)流量傳輸?shù)囊粋€(gè)例子)
Ubuntu終端下輸入:
ftp 192.168.31.50
查看kali的wireshark捕獲的數(shù)據(jù)結(jié)果
這是原本的所有流量捕獲!
在規(guī)則過濾器中填寫:FTP進(jìn)行過濾查看
你仔細(xì)看看,kali這次捕獲的是當(dāng)前網(wǎng)段中兩位其他主機(jī)(ubunu和xp)之間的通信,而不是kali本身。這就是ARP中間人緩存攻擊的厲害之處,因?yàn)橹灰谕粋€(gè)網(wǎng)段中,你和他人的所有通信數(shù)據(jù)都有可能被第三方違法者使用ARP欺騙截獲,從而導(dǎo)致信息泄露!
到目前為止,我們已經(jīng)學(xué)會(huì)了ARP的基礎(chǔ)知識(shí),以及如何進(jìn)行ARP緩存攻擊滲透同一網(wǎng)段中的其他主機(jī),從而截獲目標(biāo)主機(jī)間的流量數(shù)據(jù),獲取重要敏感信息!
所有的滲透測試旨在于告訴我們網(wǎng)絡(luò)信息安全不可忽視,切勿用于違法目的!后果自負(fù)!






