移动安全 安全管理 应用案例 网络威胁系统安全 应用安全 数据安全 云安全
当前位置: 主页 > 信息安全 > 系统安全 >

BAT批处理解决ARP攻击问题

时间:2013-03-11 15:01来源: 点击:
现在局域网中感染ARP病毒的情况比较多,清理和防范都比较困难,给不少的网络管理员造成了很多的困扰。 BAT批处理解决ARP攻击问题
TagsARP攻击(25)ARP欺骗(78)BAT批处理(2)  

  现在中感染的情况比较多,清理和防范都比较困难,给不少的网络管理员造成了很多的困扰。下面就是个人在处理这个问题的一些经验,同时也在网上翻阅了不少的参考资料。

  ARP的症状

  有时候无法正常上网,有时候有好了,包括访问网上邻居也是如此,拷贝文件无法完成,出现错误;局域网内的包爆增,使用ARP查询的时候会发现不正常的地址,或者是错误的MAC地址对应,还有就是一个MAC地址对应多个IP的情况也会有出现。

  ARP攻击的原理

  ARP欺骗攻击的包一般有以下两个特点,满足之一可视为攻击包报警:第一以太网数据包头的源地址、目标地址和ARP数据包的协议地址不匹配。或者,ARP数据包的发送和目标地址不在自己网络网卡MAC内,或者与自己网络MAC数据库MAC/IP不匹配。这些统统第一时间报警,查这些数据包(以太网数据包)的源地址(也有可能伪造),就大致知道那台机器在发起攻击了。现在有网络管理工具比如网络执法官、P2P终结者也会使用同样的方式来伪装成,欺骗客户端对网关的访问,也就是会获取发到网关的流量,从而实络流量管理和网络监控等功能,同时也会对网络管理带来潜在的危害,就是可以很容易的获取用户的密码等相关信息。

  处理的办法:

  写个脚本提供大家参考,解决局域网内部的APR攻击

  c:

  cd\

  if exist ipconfig.txt del ipconfig.txt

  ipconfig /all >c:\ipconfig.txt //获取本地MAC地址

  if exist GateMac.txt del GateMac.txt

  arp -a %GateIP% >c:\GateMac.txt

  for /f "skip=3 tokens=2"%%H in(GateMac.txt)do set GateMac=%%H //获取出口路由(即网关)的MAc地址

  if exist GateIP.txt del GateIP.txt

  find "Default Gateway" ipconfig.txt >c:\GateIP.txt

  for /f "skip=2 tokens=13"%%G in (GateIP.txt) do set GateIP=%%G

  echo set Ws= Wscript.Createobject("Wscript.Shell") >c:\banding.vbs

  echo count =0>>banding.vbs

  echo for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_>>banding.vbs

  间隔6秒重新将网关的IP地址与MAC地址进行绑定

  echo if ps.name="wscript.exe" then count=count+1>>banding.vbs

  echo if count >2 then wscript.quit>>banding.vbs

  echo i=1 >>banding.vbs

  echo for i= 1 to 5>>banding.vbs

  echo i=i-1>>banding.vbs

  echo Wscript.sleep(1000*60*0.1)每6秒钟绑定一次 >>banding.vbs

  echo ws.run "arp-d",0>>banding.vbs

  echo ws.run "arp -s %GateIP% %GateMac%",0>>banding.vbs

  echo next >>banding.vbs

  清除ARP缓存,重新将本机的Ip地址与MAC地址进行绑定

  c:

  cd \

  start banding.vbs

  del /f /q GateMac.txt

  del /f /q ipconfig.txt

  del /f /q GateIP.txt

  copy banding.vbs c:\ windows\system32

  echo Windows Registry Editor Version 5.00 >c:\arp.reg

  echo.>>arp.reg

  echo [HKEY_LOC AL_MACHINE\SOFTWARE\\Windows\CurrentVersion\Run]>>arp.reg

  echo "arptom"="c:\\windows\\system32\\banding.vbs">>arp.reg

  regedit -is arp.reg

  del /f /q arp.reg

  del /f /q banding.vbs

  exit

  把这些代码复制放入记事本,后缀名保存为.bat

  适合各种环境。

------分隔线----------------------------

推荐内容