二、实验环境(实验设备)

硬件:微型计算机

软件: kali linux下的arpspoof工具和driftnet工具

三、实验原理及内容以及实验小结

ARP欺骗

利用arpspoof工具和driftnet工具的arp欺骗实验

①实验原理

1.ARP协议:ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址。

2.ARP协议的基本功能:通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的进行。

3. ARP攻击的局限性:ARP攻击仅能在局域网进行,无法对外网进行攻击。

4. ARP攻击的攻击原理:ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。

5.常见的ARP欺骗手法:同时对局域网内的一台主机和网关进行ARP欺骗,更改这台主机和网关的ARP缓存表。如下图(PC2是攻击主机,PC1是被攻击主机)所示:

攻击主机PC2发送ARP应答包给被攻击主机PC1和网关,分别修改它们的ARP缓存表, 将它们的ip地址所对应的MAC地址,全修改为攻击主机PC2的MAC地址,这样它们之间数据都被攻击主机PC2截获。

②实验内容

实验内容分为两个部分:ARP断网攻击和ARP欺骗(截获图片)。这两个实验都是用了arpspoof这个工具,其中进行断网攻击时,不开启IP转发功能即可(在我们用的kali linux系统中,这个功能默认是关闭的);而进行ARP欺骗时,要打开IP转发功能。

1、利用arpspoof进行ARP断网攻击

A. 实验说明:

*被攻击主机:电脑的物理机,win10系统,其ip地址为192.168.43.64,MAC地址为e0:94:67:9c:24:e9

*攻击主机:电脑的虚拟机,kali linux系统,其ip地址为192.168.43.149,MAC地址为00:0c:29:cd:6c:36

*网关:ip地址为192.168.43.1,MAC地址为d4-61-2e-d6-bc-10

*  攻击工具:kali linux系统下的arpspoof工具

B. 实验步骤:

Step 1. 在攻击主机打开终端,输入ifconfig,查看其网卡名称、ip地址、MAC地址。

图中,红色箭头为网卡名称,紫色箭头为ip地址,蓝色箭头为MAC地址。

Step 2. 在虚拟机中,通过fping命令,查看当前局域网还存在那些主机,以确定要攻击的主机的ip地址

上图中,第一个ip地址192.168.43.1即为当前局域网的网关,而第二个ip地址就是要攻击的物理机的ip地址:192.168.43.64

Step 3. 在物理机中,通过控制面板中的网络和共享中心,查看物理机的ip地址,验证步骤二是否正确。

从右图中可以看出,物理机的ip地址的确为192.168.43.64(蓝色箭头),其MAC地址为E0-94-67-9C-24-E9(红色箭头),而局域网的网关地址也确实为192.168.43.1

Step 4. 在虚拟机中,ping一下要攻击的物理机,同时在物理机中ping一下虚拟机。确保两台主机可以通信。

从图中可以看出,没有包丢失,两台主机可以通信。可以进行ARP攻击。

Step 5. 在进行ARP攻击之前,可以先查看一下被攻击主机的ARP缓存表。以便于被攻击后的ARP缓存表进行对照。在物理机中,打开cmd,输入arp -a

图中显示,物理机中的ARP缓存表记录了网关的MAC地址和攻击主机的MAC地址,可以看出它们的MAC地址是不一样的。

Step 6. 在攻击之前,检测一下被攻击主机的联网状态,用被攻击主机的cmd,ping一下百度。

图中显示,没有包丢失,说明此时被攻击主机可以上网。

Step 7. 在虚拟机中打开终端,利用arpspoof工具,对物理机发起ARP断网攻击。

输入arpspoof -i eth0 -t 192.168.43.64 192.168.43.1。其中,-i后面的参数是网卡名称,-t后面的参数是目的主机和网关,要截获目的主机发往网关的数据包。

从图中可以看出,此时虚拟机不断地向物理机发送ARP应答包,这个应答包将网关的ip地址192.168.43.1和虚拟机的MAC地址0:c:29:cd:6c:36绑定在一起,从而将物理机的ARP缓存表中的网关的MAC地址修改为虚拟机的MAC地址。

Step 8. 在物理机中再次使用cmd,向百度发送一个ping包,检查是否可以联网。

同时打开网页,进行检查。

图中的包全部丢失,没有接收到任何一个包。再打开百度网页进行查看。

从上面两张图,可以看出,此时物理机已经断网了。

Step 9.检查被攻击主机的ARP缓存表,验证其是否被ARP攻击了。

从图中,可以看出,此时被攻击主机的ARP缓存表中的网关和攻击主机的MAC地址是一样的,均为攻击主机的MAC地址。可以认定,物理机遭遇了ARP攻击。

Step 10. 关闭虚拟机的终端,再次检查物理机的联网状态,ping一下百度。

从图中可以看出,在一会的延迟之后,物理机又可以ping通百度了,又可以正常上网了。

2.利用arpspoof工具和driftnet工具进行ARP欺骗(截获图片)

A. 实验说明:

*被攻击主机:电脑的物理机,win10系统,其ip地址为192.168.43.64,MAC地址为e0:94:67:9c:24:e9

*攻击主机:电脑的虚拟机,kali linux系统,其ip地址为192.168.43.149,MAC地址为00:0c:29:cd:6c:36

*网关:ip地址为192.168.43.1,MAC地址为d4-61-2e-d6-bc-10

*  攻击工具:kali linux系统下的arpspoof工具

B. 实验步骤:

Step 1. 在攻击主机打开终端,输入ifconfig,查看其网卡名称、ip地址、MAC地址。

图中,红色箭头为网卡名称,紫色箭头为ip地址,蓝色箭头为MAC地址。

Step 2. 在虚拟机中,通过fping命令,查看当前局域网还存在那些主机,以确定要攻击的主机的ip地址

上图中,第一个ip地址192.168.43.1即为当前局域网的网关,而第二个ip地址就是要攻击的物理机的ip地址:192.168.43.64

Step 3. 在物理机中,通过控制面板中的网络和共享中心,查看物理机的ip地址,验证步骤二是否正确。

从右图中可以看出,物理机的ip地址的确为192.168.43.64(蓝色箭头),其MAC地址为E0-94-67-9C-24-E9(红色箭头),而局域网的网关地址也确实为192.168.43.1

Step 4. 在虚拟机中,ping一下要攻击的物理机,同时在物理机中ping一下虚拟机。确保两台主机可以通信。

从图中可以看出,没有包丢失,两台主机可以通信。可以进行ARP攻击。

Step 5. 在进行ARP攻击之前,可以先查看一下被攻击主机的ARP缓存表。以便于被攻击后的ARP缓存表进行对照。在物理机中,打开cmd,输入arp -a

图中显示,物理机中的ARP缓存表记录了网关的MAC地址和攻击主机的MAC地址,可以看出它们的MAC地址是不一样的。

Step 6. 在进行ARP欺骗前,得先打开攻击主机的IP转发功能,linux因为系统安全考虑,是不支持IP转发的,其配置文件写在/proc/sys/net/ipv4的ip_forward中。默认为0,接下来修改为1。

 

图中是直接找到ip_forward文件,将其值修改为1的。当然也可以通过命令行echo 1 > /proc/sys/net/ipv4/ip_forward实现。

Step 7.在进行ARP欺骗前,先检查物理机的联网状态,Ping一下百度。

没有包丢失,可以ping通,物理机可以正常上网。

Step 8.在kali linux中利用arpspoof工具,对物理机发起AR欺骗攻击。

输入arpspoof -i eth0 -t 192.168.43.64 192.168.43.1。其中,-i后面的参数是网卡名称,-t后面的参数是目的主机和网关,要截获目的主机发往网关的数据包。

从图中可以看出,此时虚拟机不断地向物理机发送ARP应答包,这个应答包将网关的ip地址192.168.43.1和虚拟机的MAC地址0:c:29:cd:6c:36绑定在一起,从而将物理机的ARP缓存表中的网关的MAC地址修改为虚拟机的MAC地址。虚拟机截获了物理机和网关之间的数据包。

Step 9.检查物理机的联网状态,Ping一下百度。

没有包丢失,可以ping通,物理机依旧可以正常上网。

Step 10.检查物理机的ARP缓存表,检查其是否遭遇了ARP欺骗。

从图中,可以看出,此时被攻击主机的ARP缓存表中的网关和攻击主机的MAC地址是一样的,均为攻击主机的MAC地址。可以认定,物理机遭遇了ARP欺骗。

Step 11. 此时,物理机和网关通信的数据包都会流经虚拟机,那么可以在虚拟机中利用driftnet工具,可以捕获物理机正在浏览的图片。在虚拟机中打开driftnet。

从图中可以看出,虚拟机正在不断地捕获物理机和网卡之间的数据包。

Step 12.在物理机中,打开一个网页,浏览几张图片。并在虚拟机中driftnet窗口中监看。

这是物理机正在查看一张风景图。

而虚拟机中driftnet窗口右下角可以看到这张图片,另外窗口中的其他图片是物理机登陆的QQ中的图片,第一行的前三个是群头像,其他的是QQ聊天的气泡图片,可以判断,此时这三个群有消息发送到物理机,而且这些消息使用了窗口显示的气泡。

此时,物理机换了一张图片进行查看。

在虚拟机中的driftnet窗口中,依旧可以看到这张图片。

③实验小结

(一)实验中遇到的主要问题及解决方法

1.问题:一开始查看虚拟机的ip地址时,发现虚拟机的ip地址和物理机的ip地址不在同一个网段中。如图:

虚拟机的ip地址为192.168.233.128,而物理机的ip地址为192.168.43.64。两者不在同一个局域网中。根据ARP攻击的局限性,不在同一个局域网的两台主机是无法进行攻击的。

解决方法:通过查阅资料,发现虚拟机的网络连接有三种模式:桥接模式、NAT模式、仅主机模式。一开始我们的虚拟机采用了默认的NAT模式,这种模式下虚拟机共享主机的IP地址,Vmware会在主机上创建专用的虚拟网络,用于主机和虚拟机之间进行通信。而在桥接模式下,虚拟机被当做一个完全独立的主机,占用局域网的一个IP地址,将虚拟机的网卡交接到主机的物理网卡上,通过主机的网卡访问外部的Internet。所以我们应该选择桥接模式。

2.

问题:物理机可以ping通虚拟机,虚拟机却ping不通物理机。

解决方式:组员积极讨论,回想老师在课上提到的“现在系统将不经常用的端口设置为默认关闭”,大胆猜测:linux系统比较开放,默认开启ping功能,而win10系统可能会默认关闭ping功能。查看win10系统上的与Ping相关服务的开启状态。

果然,win10默认关闭的ICMP的回显请求,启用该规则之后,两台主机就可以成功ping通了。

(二)实验心得

通过上面的两个小实验,我们对ARP攻击有了一个更加直观、更加深刻的了解。另外,通过自己动手实践,发现书上讲的知识还是要动手做一做才行,因为书上的机器环境可能和你自己的不一样,要通过自己的积极实践、不断查阅资料,才能不断解决问题,加深对知识的理解。最后,对于老师课上讲的东西,不仅仅要认真记录,更要去理解,只有在理解的基础上,才能达到举一反三、触类旁通的效果。

网络攻防实战--ARP欺骗相关推荐

  1. 【网络攻防】ARP欺骗实验

    实验概述 ARP欺骗是一类地址欺骗类病毒,属于木马病毒,自身不具备主动传播的特性,不会自我复制.但是由于其发作的时候会不断向全网发送伪造的ARP数据包,导致网络无法正常运行,严重的甚至可能带来整个网络 ...

  2. 网络攻防实战演习之蓝队指南

    第一章 概述 背景 网络实战攻防演习是当前国家.重要机关单位和企业组织用来检验网络安全防御能力的重要手段之一,是当下检验对关键信息系统基础设施网络安全保护工作的重要组成部分.网络实战攻防演习通常是以实 ...

  3. 网络攻防实战——使用wirelesskeyview轻松获取无线密码

    网络攻防实战--使用wirelesskeyview轻松获取无线密码 陈小兵 对于无线密码的获取主要有两种方式,一种是通过截获无线数据包,通过分析数据包中的内容来获取无线密码,典型的就是使用BT3来进行 ...

  4. 网络攻防实战研究 漏洞利用与提权读书笔记一

    网络攻防实战研究 漏洞利用与提权读书笔记一 第一章 提权基础 1.1提权概述 1.1.1提权简介 1.1.2 提权条件 1.1.3 提权准备工作 1.1.4 实施提权 1.2 Windows账号和密码 ...

  5. 网络嗅探与ARP欺骗

    目录 一.网络嗅探概述 1.1 网络嗅探的概念 1.1.2 一把双刃剑 1.1.3 特点 1.2 网络嗅探的原理 1.2.1 网络嗅探的条件 1.2.2 网卡的工作模式 1.2.3 局域网的传输技术 ...

  6. 长角牛网络监听 arp欺骗

    一.原理 arp欺骗和攻击的原理是一样的,都是向目标计算机投毒,发送虚假ip地址对应的mac地址,致使被投毒计算机数据被窃听或者数据被盗取. 多数情况欺骗和攻击会发生在计算机和网关的连接过程中,给目标 ...

  7. 无线网络攻防实战 WEP密钥如何被攻破的 图

    WLAN技术出现之后,"安全"就成为始终伴随在"无线"这个词身边的影子,针对无线网络技术中涉及的安全认证加密协议的攻击与破解就层出不穷.现在,因特网上可能有数以 ...

  8. 无线网络攻防实战:WEP密钥如何被攻破的(图

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! WLAN ...

  9. 网络攻防技术——DNS欺骗

    一.题目 本实验的目标是让学生获得对DNS(域名系统)的各种攻击的第一手经验.DNS是互联网的电话簿:它将主机名转换为IP地址,反之亦然.这种转换是通过DNS解析实现的,这种解析发生在幕后.DNS欺骗 ...

最新文章

  1. 不填写内容用哪个斜杠代替_越来越多人衣柜不装移门,今后都流行用这种代替,好看又不占地!...
  2. “混”的中层们,你们的下一站是?
  3. java 同一个package import_【编程基础】Java 中的Package和Import
  4. 看风水用什么罗盘最好_兰花用什么花盆栽植最好?
  5. CentOS 6.5 Zabbix-agent3.2 安装 1.0版
  6. 微信公众号url服务器在哪里,微信公众号url认证(服务器认证)
  7. ios APP进程杀死之后和APP在后台接收到推送点击跳转到任意界面处理
  8. bitherj java_比太钱包为什么从 Bitcoinj 切换到了 Bitherj ?比太钱包从 Bitcoinj 切换到了 Bitherj原因是什么?...
  9. python3中find函数的用法_Python3正则匹配re.split,re.finditer及re.findall函数用法详解...
  10. 安装SQL Server 2012 报错“启用windows功能NetFx3时出错”解决方法
  11. 不用爬虫也可以轻松获取 unsplash 图片
  12. php中怎么添加css样式_html怎么添加css样式?
  13. 解决office软件无法打印预览 / 添加打印机失败问题
  14. 【OpenCV】Mango的OpenCV学习笔记【三】
  15. WiFi 6是不是真的很“6”?一文解决你对WiFi 6的所有疑惑
  16. kali --之 Maltego ce 的使用教程
  17. pwd 显示当前目录
  18. Linux下MySQL的安装与使用
  19. Dism命令安装组策略(gpedit.msc)
  20. samsung android usb device驱动

热门文章

  1. 如何用计算机拼接纸片,基于计算机处理的碎纸片拼接复原的研究.doc
  2. angularjs中$scope是什么意思
  3. Ceph论文译文--Ceph:一个可扩展,高性能分布式文件系统
  4. c++assert函数
  5. MATLAB-主成分分析法CCC
  6. 前端element下拉菜单样式修改
  7. c/c++刷题记录1(里面有我自己写的源码)
  8. JSP:从入门到st2漏洞环境本地搭建
  9. 一个软件项目开始应该怎么入手分析,搭建
  10. Windows注册表内容 及添加notepad++到右键菜单