【网络攻防】ARP欺骗实验
实验概述
ARP欺骗是一类地址欺骗类病毒,属于木马病毒,自身不具备主动传播的特性,不会自我复制。但是由于其发作的时候会不断向全网发送伪造的ARP数据包,导致网络无法正常运行,严重的甚至可能带来整个网络的瘫痪。此外,黑客还会通过这种攻击手段窃取用户密码,如盗取QQ密码、盗取各种网络游戏密码和账号、盗窃网上银行账号,给用户造成了很大的不便和巨大的经济损失。因此,它的危害比一些蠕虫病毒还要厉害。
电脑感染ARP病毒后的表现为:网速时快时慢,极其不稳定,局域网内频繁性区域或整体掉线,重启计算机或网络设备后恢复正常;网上银行、游戏及QQ账号的频繁丢失。随着加密技术的不断提高,ARP病毒在盗取用户账号、密码时遇到了很大的难度。于是又出现了一类新的ARP病毒,该类ARP病毒保留了ARP病毒的基本功能,即向全网发送伪造的ARP欺骗广播,将自身伪装成网关。在此基础上,对用户发出的HTTP请求访问进行修改,在其中插入恶意网址链接,用户在不知情的情况下点击这些链接时,木马病毒就会利用系统漏洞种植到用户电脑中,从而使用户电脑感染病毒。
实验目的
- 掌握ARP协议的基本概念及其缺陷
- 认识到ARP欺骗的危害
- 掌握ARP欺骗的两种工作原理
- 掌握ARP欺骗时表现出的基本特征
- 掌握ARP欺骗的防范策略
- 学会在现实环境中解决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数据包根据功能不同,也可以分为两种:
- ARP请求包(ARP Request):作用是用于获取局域网内某IP对应的MAC地址。
- ARP回复包(ARP Reply):作用是告知别的主机,本机的IP地址和MAC是什么。
广播的一般都是ARP请求包,非广播的一般都是ARP回复包。
我们通过一个案例简单分析一下。假设局域网内有以下两台主机,主机名、IP地址、MAC地址分别如表 12.1.1所示:
表1 两台主机的IP地址及MAC地址
当主机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表。
图 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所示:
图 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包给服务器(靶机),导致服务器收到错误的网路信息(实验拓扑图如下)。
图 3 实验拓扑图
备注:开启靶机windows和linux,在linux终端运行工具ettercap,对windows靶机进行攻击(linux终端运行:ettercap -G)。
实验步骤
- 打开ARP攻击源,在终端中输入ifconfig –a,可以查看攻击源的IP地址、广播地址、子网掩码等攻击源的相关网络信息。(图 4)
图 4 ARP攻击源相关网络信息
- 在终端中输入ipconfig /all,可以查看靶机的IP地址、广播地址、子网掩码等靶机的相关网络信息。(图 5)
在windows靶机网络设置中添加DNS:8.8.8.8,并测试靶机能上网后才进行以下实验。
图 5 靶机相关网络信息
- 在靶机终端中输入“ping 172.16.2.254”,可以查看网关的畅通与否。此时再次输入“ping 172.16.2.10”, 可以看到网关可以ping通本网段的其他机器。这里以某一学生的靶机为例子。
图 6查看网关的畅通与否
打开浏览器IE,并输入百度的主页网址,结果表明网络畅通(图 7)。
图 7 网络畅通
- 在ARP攻击源的linux终端中,输入“sudo ettercap –G”,登录ettercap软件(图8)。
图 8 登录ettercap
- 依次点击:Sniff>Unified sniffing>Network interface中选择当前的网卡(图 9、图 10)。
图 9 点击sniff
图 10 选择当前网卡
- 扫描该网段的所有主机的相关信息,并显示主机列表。(图 11、图 12、图 13、图 14)
图 11 选择Scan for hosts
扫描完成后
图 12扫描所有主机的相关信息
即可查看扫描到的主机列表:
图 13 选择Hosts list
图 14查看扫描到的主机列表
- 向目标框中添加网关IP和靶机的IP,并执行ARP欺骗:
选择网关IP MAC 添加 > add to target 1
图 15 add to target 1
添加目标ip,也就是要欺骗的ip,添加到target 2,如下图 16:
图 16添加目标ip
跳转到当前的目标,也就是点击targets->current targets,如下图 17:
图 17跳转到当前的目标
开始Arp欺骗,选择Mitm->Arp poisoning..,进行欺骗,如下图 18:
图 18选择Mitm->Arp poisoning
勾上,点击OK 开始欺骗。
图19 开始ARP欺骗
- 回到靶机的终端中,再依次输入“ping –n 5 172.16.2.254”和“ping –n 5 www.baidu.com”,发现网关地址和百度网址都ping不通,打开浏览器IE,并输入百度的主页网址,结果表明此时网络不通畅(图 20、图 21)。
图20 网关地址无法ping通
图21 网络不通畅
- 退出 ARP欺骗攻击,在靶机cmd中清理一下ARP缓存“arp -d”,再次测试查看靶机的网络情况(图 22、图 23)
图22 退出ARP欺骗攻击
图23 查看靶机网络情况
可以看到由于ARP欺骗攻击,会造成靶机的网络瘫痪,由此可见,防范ARP欺骗攻击对于保护自身网络安全的重要性。
思考总结
- ARP协议有哪些缺陷?
- ARP欺骗的两种工作原理分别是什么?
- ARP欺骗发生时,所表现出的基本特征是什么?
- 如何防范ARP欺骗?
【网络攻防】ARP欺骗实验的更多相关文章
- 20145306 张文锦 网络攻防 web基础
20145306 网络攻防 web基础 实验内容 WebServer:掌握Apache启停配置修改(如监听端口)前端编程:熟悉HTML+JavaScript.了解表单的概念编写不同的HTML网页,放入 ...
- kali Linux 渗透测试 | ettercap图形界面(ARP 欺骗 + DNS欺骗)
上次我们使用 arpspoof 工具在命令行中完成了 arp 欺骗实验,今天我们用另一种工具 ettercap 工具来实现.ettercap支持图形化操作,对新手非常友好,并且操作非常简单, ette ...
- ARP欺骗病毒,网页“篡改”,注入iframe代码!
---------------权威资料看这里--------------- 清华大学信息网络工程研究中心-中国教育和科研计算机网应急响应组<ARP 欺骗网页劫持攻击分析>PDF文件,直接I ...
- 20155313 杨瀚 《网络对抗技术》实验一 PC平台逆向破解(5)M
exp1 PC平台逆向破解(5)M 一.实验内容 1.手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数. 2.利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发 ...
- 20169214 2016-2017-2 《网络攻防实践》第十一周实验 SQL注入
20169214 2016-2017-2 <网络攻防实践>SQL注入实验 SQL注入技术是利用web应用程序和数据库服务器之间的接口来篡改网站内容的攻击技术.通过把SQL命令插入到Web表 ...
- 20155201 网络攻防技术 实验九 Web安全基础
20155201 网络攻防技术 实验九 Web安全基础 一.实践内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.报告内容: 1. 基础问题回答 1)SQL注入攻击 ...
- 20155201 网络攻防技术 实验八 Web基础
20155201 网络攻防技术 实验八 Web基础 一.实践内容 Web前端HTML,能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. We ...
- 20155235 《网络攻防》 实验九 Web安全基础
20155235 <网络攻防> 实验九 Web安全基础 实验内容 SQL注入攻击 XSS攻击 CSRF攻击 WebGoat WebGoat是OWASP组织研制出的用于进行web漏洞实验的应 ...
- 【网络编程4】网络编程基础-ARP响应(ARP欺骗之中间人攻击)
arp欺骗->arp响应 ARP 缓存中毒(ARP欺骗) arp传送原理在于主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址:收到返回消 ...
- 20155201 网络攻防技术 实验五 MSF基础应用
20155201 网络攻防技术 实验五 MSF基础应用 一.实践内容 一个主动攻击实践,如ms08_067 一个针对浏览器的攻击,如ms11_050 一个针对客户端的攻击,如Adobe 成功应用任何一 ...
随机推荐
- C#钩子(Hook) 捕获键盘鼠标所有事件 - 5分钟没有操作,自动关闭 Form 窗体
C# 钩子 捕获键盘鼠标所有事件,可用于:判断鼠标键盘无操作时,关闭 Winform 窗体 5分钟没有操作,自动关闭 Form 窗体 钩子(Hook)的作用主要体现在监视和拦截系统或进程中的各种事件消 ...
- 第八章 (Nginx+Lua)流量复制/AB测试/协程
流量复制 在实际开发中经常涉及到项目的升级,而该升级不能简单的上线就完事了,需要验证该升级是否兼容老的上线,因此可能需要并行运行两个项目一段时间进行数据比对和校验,待没问题后再进行上线.这其实就需要进 ...
- Flask: SSO原理及实现
原文链接:http://www.tuicool.com/articles/ZbyU3e 现在大多数软件公司的业务不再是单条线,而是发展成多元化的产品线.包括多个网站应用.移动APP以及桌面软件,那么 ...
- Hat靶机
Hat靶机的ip是192.168.200.8 先用nmap扫描一下靶机所有的端口 nmap -p- 192.168.200.8 发现22端口不知道是否开放 还有一个65535 的unkown端口 详细 ...
- 将个人PC转变为高效的云电脑:理论、实践与优化
本文分享自天翼云开发者社区<将个人PC转变为高效的云电脑:理论.实践与优化>,作者:不知不觉 在数字化时代的今天,我们越来越依赖互联网和计算机技术进行工作和生活.然而,传统的个人电脑(PC ...
- redis 过期监听配置
package org.jeecg.config; import java.lang.reflect.Method; import java.time.Duration; import java.ut ...
- have my hair cut
标题致敬传奇抗压王裤子. 今天去剪了头发.体验很好,老师帅. 但是还是一直很不安 我们 i 人剪了头发是这样的 剪头发不是换发型 但大概率得换 而且很快会剪短 乌龟的壳换了形状 或是变薄 肯定不安 一 ...
- Linux安装hive
1.需要先安装hadoop以及mysql,参考其他文章 安装hive和hadoop都在hadoop用户目录下 2.安装hive,之前,先在mysql上创建一个hive,数据库,并在hive数据库中建立 ...
- nginx 简单实践:Web 缓存【nginx 实践系列之三】
〇.前言 本文为 nginx 简单实践系列文章之二,主要简单实践了两个内容:正向代理.反向代理,仅供参考. 关于 Nginx 基础,以及安装和配置详解,可以参考博主过往文章: https://www. ...
- 运行中的Docker容器获取 .NET项目的Dump文件
进入容器的 shell docker exec -it 容器名称或 id /bin/bash 使用cd命令进入NETSDK所在文件夹 cd /usr/share/dotnet/shared/Micro ...