【网络攻防】ARP欺骗实验

实验概述

ARP欺骗是一类地址欺骗类病毒,属于木马病毒,自身不具备主动传播的特性,不会自我复制。但是由于其发作的时候会不断向全网发送伪造的ARP数据包,导致网络无法正常运行,严重的甚至可能带来整个网络的瘫痪。此外,黑客还会通过这种攻击手段窃取用户密码,如盗取QQ密码、盗取各种网络游戏密码和账号、盗窃网上银行账号,给用户造成了很大的不便和巨大的经济损失。因此,它的危害比一些蠕虫病毒还要厉害。
电脑感染ARP病毒后的表现为:网速时快时慢,极其不稳定,局域网内频繁性区域或整体掉线,重启计算机或网络设备后恢复正常;网上银行、游戏及QQ账号的频繁丢失。随着加密技术的不断提高,ARP病毒在盗取用户账号、密码时遇到了很大的难度。于是又出现了一类新的ARP病毒,该类ARP病毒保留了ARP病毒的基本功能,即向全网发送伪造的ARP欺骗广播,将自身伪装成网关。在此基础上,对用户发出的HTTP请求访问进行修改,在其中插入恶意网址链接,用户在不知情的情况下点击这些链接时,木马病毒就会利用系统漏洞种植到用户电脑中,从而使用户电脑感染病毒。

实验目的

  1. 掌握ARP协议的基本概念及其缺陷
  2. 认识到ARP欺骗的危害
  3. 掌握ARP欺骗的两种工作原理
  4. 掌握ARP欺骗时表现出的基本特征
  5. 掌握ARP欺骗的防范策略
  6. 学会在现实环境中解决ARP攻击

实验原理

一、什么是ARP协议

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。我们知道在局域网中,网络以“帧”的形式传输数据。一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址,目标主机的MAC地址理应就包含在数据帧中。显然在双方通信之初,发送方是无法知道目标MAC地址的,它的获得就是通过地址解析这个过程。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

二、ARP协议的工作原理

ARP数据包根据接收对象不同,可分为两种:

  1. 广播包(Broadcast)。广播包目的MAC地址为FF-FF-FF-FF-FF-FF,网络设备如交换机接收到广播包后,会把它转发给局域网内的所有主机。
  2. 非广播包(Non-Broadcast)。非广播包后只有指定的主机才能接收到。
    ARP数据包根据功能不同,也可以分为两种:
  3. ARP请求包(ARP Request):作用是用于获取局域网内某IP对应的MAC地址。
  4. ARP回复包(ARP Reply):作用是告知别的主机,本机的IP地址和MAC是什么。
    广播的一般都是ARP请求包,非广播的一般都是ARP回复包。
    我们通过一个案例简单分析一下。假设局域网内有以下两台主机,主机名、IP地址、MAC地址分别如表 12.1.1所示:
    表1 两台主机的IP地址及MAC地址
    表1
    当主机A需要与主机B进行通讯时,它会先查一下本机的ARP缓存中,有没有主机B的MAC地址。如果有就可以直接通讯。如果没有,主机A就需要通过ARP协议来获取主机B的MAC地址。具体做法是主机A会形成一个ARP请求,以物理广播地址在本子网上广播,并等待目的主机的应答。这个请求包含发送方的IP地址、物理地址以及目标主机的IP地址。
    当主机B接收到来自主机A的“ARP广播-请求”数据包后,它会先把主机A的IP地址和MAC地址对应关系保存/更新到本机的ARP缓存表中,然后它会给主机A发送一个“ARP非广播-回复”数据包,当主机A接收到主机B的回复后,它会把主机B的IP地址和MAC地址对应关系保存/更新到本机的ARP缓存表中,之后主机A和B就可以进行通讯了。图 1显示了两台网络设备的ARP表。
    【网络攻防】ARP欺骗实验_第1张图片
    图 1 两台设备的ARP表

从上述局域网主机通讯过程可以看出,主机在两种情况下会保存、更新本机的ARP缓存表:

  1. 接收到“ARP广播-请求”包时
  2. 接收到“ARP非广播-回复”包时
    通过以上分析我们可以看出,ARP协议是没有身份验证机制的,局域网内任何主机都可以随意伪造ARP数据包,ARP协议设计天生就存在严重缺陷。ARP欺骗的过程基本思路是PC03首先向PC02发送了一个ARP数据包,作用相当于告诉PC02:“我是10.0.0.1,我的MAC地址是03-03-03-03-03-03”,接着他也向GateWay也发送了一个ARP数据包,作用相当于告诉GateWay:“我是10.0.0.2,我的MAC地址是03-03-03-03-03-03”。欺骗成功后,主机PC02与GateWay之间的数据流向,以及它们各自的ARP缓存表就变成如图 2所示:

【网络攻防】ARP欺骗实验_第2张图片
图 2 ARP欺骗后的网络设备保存的ARP表

三、ARP欺骗的防范策略

ARP欺骗木马只需成功感染一台电脑,就可能导致整个局域网都无法上网,严重的甚至可能带来整个网络的瘫痪。
1、 清空ARP缓存
点击“开始”按钮->选择“运行”->输入“arp -d”->点击“确定”按钮,然后重新尝试上网,如能恢复正常,则说明此次掉线可能是受ARP欺骗所致。
2 、个人主机ARP绑定
通过执行“arp -s 210.31.197.94 00-03-6b-7f-ed-02”,临时绑定主机IP与MAC地址。或者,通过建立一批处理文件,绑定IP和MAC。方法如下:

@echo off
arp -d
arp -s IP MAC

每次开机,计算机都会执行一次静态ARP地址绑定,从而较好地防范ARP欺骗。如果能在机器和路由器中都进行绑定,效果会更好。
3 采用适当的杀毒与防范软件
诺顿、卡巴斯基、瑞星等杀毒软件均可查杀此类病毒。蓝盾防火墙、蓝盾UTM、ARP防火墙、风云防火墙等,都是针对性较强的防ARP欺骗攻击软件,可以起到防范甚至追踪ARP攻击源的作用。

实验环境

ARP攻击源向服务器发送带有虚假MAC地址信息的ARP包给服务器(靶机),导致服务器收到错误的网路信息(实验拓扑图如下)。

【网络攻防】ARP欺骗实验_第3张图片
图 3 实验拓扑图

备注:开启靶机windows和linux,在linux终端运行工具ettercap,对windows靶机进行攻击(linux终端运行:ettercap -G)。

实验步骤

  1. 打开ARP攻击源,在终端中输入ifconfig –a,可以查看攻击源的IP地址、广播地址、子网掩码等攻击源的相关网络信息。(图 4)

【网络攻防】ARP欺骗实验_第4张图片
图 4 ARP攻击源相关网络信息

  1. 在终端中输入ipconfig /all,可以查看靶机的IP地址、广播地址、子网掩码等靶机的相关网络信息。(图 5)
    在windows靶机网络设置中添加DNS:8.8.8.8,并测试靶机能上网后才进行以下实验。

【网络攻防】ARP欺骗实验_第5张图片
图 5 靶机相关网络信息

  1. 在靶机终端中输入“ping 172.16.2.254”,可以查看网关的畅通与否。此时再次输入“ping 172.16.2.10”, 可以看到网关可以ping通本网段的其他机器。这里以某一学生的靶机为例子。

【网络攻防】ARP欺骗实验_第6张图片
图 6查看网关的畅通与否

打开浏览器IE,并输入百度的主页网址,结果表明网络畅通(图 7)。

【网络攻防】ARP欺骗实验_第7张图片
图 7 网络畅通

  1. 在ARP攻击源的linux终端中,输入“sudo ettercap –G”,登录ettercap软件(图8)。

【网络攻防】ARP欺骗实验_第8张图片
图 8 登录ettercap

  1. 依次点击:Sniff>Unified sniffing>Network interface中选择当前的网卡(图 9、图 10)。

【网络攻防】ARP欺骗实验_第9张图片
图 9 点击sniff

【网络攻防】ARP欺骗实验_第10张图片
图 10 选择当前网卡

  1. 扫描该网段的所有主机的相关信息,并显示主机列表。(图 11、图 12、图 13、图 14)

【网络攻防】ARP欺骗实验_第11张图片
图 11 选择Scan for hosts

扫描完成后

图 12扫描所有主机的相关信息
图 12扫描所有主机的相关信息

即可查看扫描到的主机列表:

图 13 选择Hosts list
图 13 选择Hosts list

【网络攻防】ARP欺骗实验_第12张图片
图 14查看扫描到的主机列表

  1. 向目标框中添加网关IP和靶机的IP,并执行ARP欺骗:
    选择网关IP MAC 添加 > add to target 1

【网络攻防】ARP欺骗实验_第13张图片
图 15 add to target 1

添加目标ip,也就是要欺骗的ip,添加到target 2,如下图 16:

【网络攻防】ARP欺骗实验_第14张图片
图 16添加目标ip

跳转到当前的目标,也就是点击targets->current targets,如下图 17:

【网络攻防】ARP欺骗实验_第15张图片
图 17跳转到当前的目标

开始Arp欺骗,选择Mitm->Arp poisoning…,进行欺骗,如下图 18:

【网络攻防】ARP欺骗实验_第16张图片
图 18选择Mitm->Arp poisoning

勾上,点击OK 开始欺骗。

【网络攻防】ARP欺骗实验_第17张图片
图19 开始ARP欺骗

  1. 回到靶机的终端中,再依次输入“ping –n 5 172.16.2.254”和“ping –n 5 www.baidu.com”,发现网关地址和百度网址都ping不通,打开浏览器IE,并输入百度的主页网址,结果表明此时网络不通畅(图 20、图 21)。

【网络攻防】ARP欺骗实验_第18张图片
图20 网关地址无法ping通

【网络攻防】ARP欺骗实验_第19张图片
图21 网络不通畅

  1. 退出 ARP欺骗攻击,在靶机cmd中清理一下ARP缓存“arp -d”,再次测试查看靶机的网络情况(图 22、图 23)

【网络攻防】ARP欺骗实验_第20张图片
图22 退出ARP欺骗攻击

【网络攻防】ARP欺骗实验_第21张图片
图23 查看靶机网络情况

可以看到由于ARP欺骗攻击,会造成靶机的网络瘫痪,由此可见,防范ARP欺骗攻击对于保护自身网络安全的重要性。

思考总结

  1. ARP协议有哪些缺陷?
  2. ARP欺骗的两种工作原理分别是什么?
  3. ARP欺骗发生时,所表现出的基本特征是什么?
  4. 如何防范ARP欺骗?

你可能感兴趣的:(网络,网络,安全)