首页建站经验 ARP地址欺骗的解决方法

ARP地址欺骗的解决方法

   什么是arp   地址解析协议(address resolution protocol,arp)是在仅知道主机的ip地址时确定其物理地址的一种协议。因ipv4和以太网的广泛应用,其主要用作将ip地址翻译为…

   什么是arp

   地址解析协议(address resolution protocol,arp)是在仅知道主机的ip地址时确定其物理地址的一种协议。因ipv4和以太网的广泛应用,其主要用作将ip地址翻译为以太网的mac地址,但其也能在atm和fddiip网络中使用。从ip地址到物理地址的映射有两种方式:表格方式和非表格方式。arp具体说来就是将网络层(ip层,也就是相当于osi的第三层)地址解析为数据连接层(mac层,也就是相当于osi的第二层)的mac地址。

   假设:
   计算机a的ip为192.168.1.1,mac地址为00-11-22-33-44-01;
   计算机b的ip为192.168.1.2,mac地址为00-11-22-33-44-02;

   arp工作原理如下:

   在tcp/ip协议中,a给b发送ip包,在包头中需要填写b的ip为目标地址,但这个ip包在以太网上传输的时候,还需要进行一次以太包的封装,在这个以太包中,目标地址就是b的mac地址.

   计算机a是如何得知b的mac地址的呢?解决问题的关键就在于arp协议。

   在a不知道b的mac地址的情况下,a就广播一个arp请求包,请求包中填有b的ip(192.168.1.2),以太网中的所有计算机都会接收这个请求,而正常的情况下只有b会给出arp应答包,包中就填充上了b的mac地址,并回复给a。

   a得到arp应答后,将b的mac地址放入本机缓存,便于下次使用。

   本机mac缓存是有生存期的,生存期结束后,将再次重复上面的过程。

   arp协议并不只在发送了arp请求才接收arp应答。当计算机接收到arp应答数据包的时候,就会对本地的arp缓存进行更新,将应答中的ip和mac地址存储在arp缓存中。因此,当局域网中的某台机器b向a发送一个自己伪造的arp应答,而如果这个应答是b冒充c伪造来的,即ip地址为c的ip,而mac地址是伪造的,则当a接收到b伪造的arp应答后,就会更新本地的arp缓存,这样在a看来c的ip地址没有变,而它的mac地址已经不是原来那个了。由于局域网的网络流通不是根据ip地址进行,而是按照mac地址进行传输。所以,那个伪造出来的mac地址在a上被改变成一个不存在的mac地址,这样就会造成网络不通,导致a不能ping通c!这就是一个简单的arp欺骗。

   应用

   在网络执法官中,要想限制某台机器上网,只要点击"网卡"菜单中的"权限",选择指定的网卡号或在用户列表中点击该网卡所在行,从右键菜单中选择"权限",在弹出的对话框中即可限制该用户的权限。对于未登记网卡,可以这样限定其上线:只要设定好所有已知用户(登记)后,将网卡的默认权限改为禁止上线即可阻止所有未知的网卡上线。使用这两个功能就可限制用户上网。其原理是通过arp欺骗发给被攻击的电脑一个假的网关ip地址对应的mac,使其找不到网关真正的mac地址,这样就可以禁止其上网。

   防御
   arp欺骗可以导致目标计算机与网关通信失败

   更可怕的是会导致通信重定向,所有的数据都会通过攻击者的机器,因此存在极大的安全隐患。

   基与pc到pc的ip-mac双向绑定可以解决arp欺骗

   但是对于不支持ip-mac双向绑定的设备

   就需要用可以绑定端口-mac的交换来预防arp欺骗

   另外,windows 2ksp4 xpsp1 的arp-s绑定是无效的

   需要升级到 2ksp5 或 xpsp2


   网页挂马原理

   不管是访问服务器上的任何网页,就连404的页面也会在后加入:

   ;,挂马的位置在html标记左右,上面这段恶意代码,它会每隔几秒加入代码,也就是说在输出具体的东西之前就被挂了,有时有有时又没有,不是网页源代码问题,也没有在网页源代码中加入恶意代码,即使重装服务器,格式化重分区过第一个硬盘,放上去网站没多久一样再会出现这种情况.

   首先就排除了网站被入侵的可能,因为首页能加在那个位置只能是 title的地方,用js控制也不大可能.然后去看了php.ini的设置也没有任何的异常,而且这个插入的代码有的时候出现有的时候不出现,说明不是网站的问题了.打开同服务器的其他网站也有这个情况发生,而且状况一一样.检查并且搜索挂马的关键字之后确定不是网站程序的问题.

   那么剩下的要么是iis自己出了问题,要么是网络的问题,因为数据是处理没有问题(这个由程序输出,而且即使是html都会出问题),经过一个一个排查,最后基本可以确定就是arp欺骗欺骗数据报走向,然后中间人修改一些定义的关键字.因为是网络层次有问题(所以重做系统是没有用的).

   目的:通过arp欺骗来直接挂马

   优点:可以直接通过arp欺骗来挂马.

   通常的arp欺骗的攻击方式是在同一vlan下,控制一台主机来监听密码,或者结合ssh中间人攻击来监听ssh1的密码
但这样存在局限性:1.管理员经常不登陆,那么要很久才能监听到密码
2.目标主机只开放了80端口,和一个管理端口,且80上只有静态页面,那么很难利用.而管理端口,如果是3389终端,或者是ssh2,那么非常难监听到密码.

   优点:1.可以不用获得目标主机的权限就可以直接在上面挂马
2.非常隐蔽,不改动任何目标主机的页面或者是配置,在网络传输的过程中间直接插入挂马的语句.
3.可以最大化的利用arp欺骗,从而只要获取一台同一vlan下主机的控制权,就可以最大化战果.

   原理:arp中间人攻击,实际上相当于做了一次代理。

   正常时候: a---->b ,a是访问的正常客户,b是要攻击的服务器,c是被我们控制的主机
arp中间人攻击时候: a---->c---->b         b---->c---->a

   实际上,c在这里做了一次代理的作用

   那么http请求发过来的时候,c判断下是哪个客户端发过来的包,转发给b,然后b返回http响应的时候,在http响应包中,插入一段挂马的代码,比如