一、內(nèi)容
1.網(wǎng)絡(luò)嗅探:Wireshark 監(jiān)聽網(wǎng)絡(luò)流量,抓包。
2.ARP欺騙:科來數(shù)據(jù)包發(fā)生器,構(gòu)造欺騙報文。
3.防范: 防范arp欺騙、非法DHCP防范。
二、使用的工具和平臺
Wireshark:用來抓包,
科來數(shù)據(jù)包生成器、科來數(shù)據(jù)包播放器:構(gòu)造欺騙的ARP欺騙報文
平臺:使用Win10作為攻擊機,靶機時虛擬機中的Win7
三、ARP欺騙原理
同一局域網(wǎng)里面的兩臺主機之間相互通信是通過mac地址尋址的,而如果兩臺主機若不是處于同一子網(wǎng)里面,則在通信的時候會相互將數(shù)據(jù)發(fā)送給各自的路由器網(wǎng)關(guān),通過網(wǎng)關(guān)的IP尋址以達到通信目的。但是網(wǎng)關(guān)和自己局域網(wǎng)里面的主機通信的時候還是依靠Mac地址尋址的,所以如果我們要把自己攻擊機偽造成網(wǎng)關(guān)達到欺騙作用,就應(yīng)該把目標主機上的網(wǎng)關(guān)Mac地址緩存改為攻擊機的Mac地址(這就可以通過偽造ARP報文來實現(xiàn))。
正常情況下數(shù)據(jù)包的發(fā)送:
如圖:在正常的情況下,處于兩個不同子網(wǎng)之間通信,會有A——>網(wǎng)關(guān)——>網(wǎng)卡——>外網(wǎng)。通過網(wǎng)關(guān)和網(wǎng)卡連通兩個子網(wǎng)。而現(xiàn)在所要做的就是將這一步改為A——>B——>網(wǎng)卡——>外網(wǎng),將B偽造成網(wǎng)關(guān),這樣一來所有從A到外網(wǎng)的數(shù)據(jù)就都會通過B了,從而可以分析出A的上網(wǎng)情況,甚至是一些明文密碼。
偽造的情況下:
同時,偽造網(wǎng)關(guān)后,還需要將數(shù)據(jù)轉(zhuǎn)發(fā)出去,否則會導致A上不了網(wǎng)而被發(fā)現(xiàn)網(wǎng)關(guān)是偽造的。
四、具體實現(xiàn)步驟
1.首先通過命令行和Wireshark知道攻擊機和靶機的MAC地址和IP地址。
使用ipconfig/all查看
① 200多本網(wǎng)絡(luò)安全系列電子書
② 網(wǎng)絡(luò)安全標準題庫資料
③ 項目源碼
④ 網(wǎng)絡(luò)安全基礎(chǔ)入門、linux、web安全、攻防方面的視頻
⑤ 網(wǎng)絡(luò)安全學習路線圖
私信“安全”免費領(lǐng)取
由此可知,攻擊機 IP:192.168.0.103 MAC:18-DB-F2-2C-FC-EC
靶機 IP:192.168.0.113 MAC:00-0C-29-EB-E5-8E
網(wǎng)關(guān) IP:192.168.0.1 MAC:04-95-e6-57-a6-c8
使用arp -a查看網(wǎng)關(guān)信息,注意這是的網(wǎng)關(guān)為192.168.0.1
這里信息也可以使用WireShark抓包來獲取
現(xiàn)在,基本的地址信息有了,下面開始構(gòu)造ARP欺騙報文
在科來數(shù)據(jù)包生成器中構(gòu)造ARP報文,以太網(wǎng)中的目標地址為廣播,源地址是攻擊機的MAC地址,
ARP地址解析協(xié)議中,源MAC地址為攻擊機,源IP為網(wǎng)關(guān),目標MAC和IP為靶機地址
數(shù)據(jù)包構(gòu)造完成后,使用科來數(shù)據(jù)包播放器發(fā)送,網(wǎng)卡選擇有效的,使用循環(huán)發(fā)送(現(xiàn)在的操作系統(tǒng)為了防止ARP欺騙,一般會再次確定網(wǎng)關(guān),所以需要循環(huán)發(fā)送)
這里使用靶機上網(wǎng),在WireShark中可以抓取到相應(yīng)的包
在網(wǎng)關(guān)欺騙成功之后,還需要將靶機的信息進行轉(zhuǎn)發(fā),否則會導致靶機無法上網(wǎng)
具體設(shè)置如下:
1.在命令行中輸入“Regedit”
2.查找一下路徑:
“HKEY_LOCAL_MACHINE” > SYSTEM > CurrentControlSet >Services> Tcpip >Parameters > IP Enable Router
右鍵點擊修改,將0改為1;
3.在運行中輸入
打開后啟用Routing and Remote Access Service服務(wù)即可
在偽造數(shù)據(jù)包的時候更深刻了解到了ARP報文的結(jié)構(gòu),在者就是認識到TCP/IP協(xié)議是相當不安全的,ARP報文可以修改達到中間人劫持獲取用戶和密碼的目地,同樣通過DNS欺騙可以制造釣魚網(wǎng)站竊取密碼,還可以通過修改UDP報文偽造對話,這一切的不安全因素都是因為在傳輸過程中任何人都可以截取、而且沒有認證機制,以至于任何人可以隨心所欲的修改它。所以需要防范ARP欺騙。
ARP欺騙防范:
1)設(shè)計靜態(tài)ARP表
在主機上設(shè)置靜態(tài)的MAC->IP對應(yīng)表,不要讓主機刷新設(shè)定好的轉(zhuǎn)換表。
在PC上綁定路由器的IP和MAC地址,路由器上綁定用戶主機的IP和MAC地址
批處理文件實現(xiàn):
@echo off
:::::::::讀取本機Mac地址
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M
:::::::::讀取本機ip地址
if exist IPAddr.txt del IPaddr.txt
find "IP Address" ipconfig.txt >IPAddr.txt
for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I
:::::::::綁定本機IP地址和MAC地址
arp -s %IP% %Mac%
:::::::::讀取網(wǎng)關(guān)地址
if exist GateIP.txt del GateIP.txt
find "Default Gateway" ipconfig.txt >GateIP.txt
for /f "skip=2 tokens=13" %%G in (GateIP.txt) do setGateIP=%%G
:::::::::讀取網(wǎng)關(guān)Mac地址
if exist GateMac.txt del GateMac.txt
arp -a %GateIP% >GateMac.txt
for /f "skip=3 tokens=2" %%H in (GateMac.txt) do setGateMac=%%H
:::::::::綁定網(wǎng)關(guān)Mac和IP
arp -s %GateIP% %GateMac%
del GateIP.TXT /Q
DEL GateMac.txt /q
del IPAddr.txt /q
del ipconfig.txt /q
del phyaddr.txt /q
exit
保存為IP-MAC.bat 開機運行就OK
2)安裝ARP防護軟件
這是一次關(guān)于ARP欺騙的實現(xiàn)過程。
PS:勿忘初心,持之以恒。