虛擬網(wǎng)關解決ARP攻擊
今天VBS群里有人要了解ARP攻擊,ARP攻擊盛行于局域網(wǎng),找了這個BAT,對付ARP攻擊。
網(wǎng)上流行一個vbs的虛擬網(wǎng)關,也有斯普林的程式的,這個是批處理,加開機批處理,爽到不行了!
@echo off
FOR /F "usebackq eol=; tokens=2 delims=:" %%I in (`ipconfig /all^|find /i "IP Address"`) do set IP=%%I
FOR /F "usebackq eol=; tokens=2 delims=:" %%I in (`ipconfig /all^|find /i "Physical Address"`) do set MAC=%%I
’第一行是讀取本機的IP地址,第二行是讀取本機的MAC地址
Set /a a=%RANDOM%/128
Set /a b=%RANDOM%/128
Set IPhead=172.16
Set GatewayIP=%IPhead%.%a%.%b%
’這四行是生成一個172.16開頭的隨機網(wǎng)關IP地址
我自己的內(nèi)網(wǎng)網(wǎng)段為172.16.0.0,所以設成這樣
(若想生成192.168.1.X網(wǎng)段的IP,可改成如下
Set /a a=%RANDOM%/128
Set IPhead=192.168.1
Set GatewayIP=%IPhead%.%a%
若想限制生成的隨機IP范圍在192.168.1.100-192.168.1.255之間,可改成如下
:start
Set /a a=%RANDOM%/128
IF %a% LEQ 100 goto start
’這樣就可以限制a比100大
’EQU - 等于,NEQ - 不等于,LSS - 小于,LEQ - 小于或等于,GTR - 大于,GEQ - 大于或等于
’要限制在其他范圍的話,自己改一下代碼吧
Set IPhead=192.168.1
Set GatewayIP=%IPhead%.%a%
Set GatewayMAC=00-0f-e2-3e-b6-66
’這里的是真實的網(wǎng)關MAC地址
arp -d
arp -s %IP% %MAC%"
’靜態(tài)綁定本機IP和本機MAC地址
arp -s %GatewayIP% %GatewayMAC%"
’靜態(tài)綁定隨機生成的網(wǎng)關IP和真實的網(wǎng)關MAC地址
route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 %GatewayIP% metric 1
’刪除原先的默認路由,定義默認路由指向隨機生成的網(wǎng)關IP
4.手動修改網(wǎng)內(nèi)所有PC的網(wǎng)關地址為一個不存在的IP
如果更換了網(wǎng)關設備,你只需改動Server服務器中的腳本即可,不用到每臺客戶機去修改
原理簡單分析:
PART I.ARP病毒攻擊手段一是向網(wǎng)內(nèi)其它PC謊稱“網(wǎng)關IP地址對應的MAC地址是aa-bb-cc-dd-ee-ff”;
例:PC1騙PC2、PC3說“網(wǎng)關192.168.1.1的MAC地址為11-11-11-11-11-11”,192.168.1.1是PC1用IPCONFIG命令查看到的網(wǎng)關地址,PC2、PC3信以為真,在各自的ARP表中添加一個ARP條目“192.168.1.1 11-11-11-11-11-11”,但是PC2、PC3上網(wǎng)的網(wǎng)關地址并不是192.168.1.1,而是隨機生成的那個IP地址,所以即使受騙了也不要緊,依然可以正常上網(wǎng);
ARP病毒攻擊手段二是向網(wǎng)關謊稱“PC1的MAC地址是bb-cc-dd-ee-ff-gg”,“PC2的MAC地址是cc-dd-ee-ff-gg-hh”之類;
例:PC1騙網(wǎng)關地址192.168.1.1說“PC2的MAC地址為22-22-22-22-22-22”,但192.168.1.1是隨便改的一個不存在的IP地址,所以不會有機器上當受騙
PART II.默認路由里指向的網(wǎng)關MAC地址正確,就確保了所有發(fā)向外網(wǎng)的數(shù)據(jù)包可以順利發(fā)送到真實的網(wǎng)關;
總結(jié):
理論上說,用上面的方法去綁定所有的客戶機(注意要一臺不漏喔),不在路由上綁也是可以的;實踐中還要等你測試過之后跟我說效果;
有條件的話,最好在路由或者交換機里面綁定所有客戶機的IP和MAC,這樣ARP欺騙應該就可以完美解決的了.
【編輯推薦】