首页 > 其他分享 >记ARP欺骗攻击与防范实验

记ARP欺骗攻击与防范实验

时间:2023-09-06 17:33:24浏览次数:46  
标签:ARP 请求 192.168 MAC 防范 攻击者 欺骗

本文仅用于研究ARP欺骗攻击与防护技术,切勿用于非法用途,本文不承担任何法律责任。
ARP(地址解析协议)欺骗是一种中间人攻击,攻击者试图在网络通信中介入,截取、篡改或监视通信流量。ARP欺骗攻击利用了ARP协议的漏洞,通过伪造ARP响应来欺骗目标设备,使其误认为攻击者的MAC地址与特定IP地址相对应,从而导致网络通信流量被重定向到攻击者的设备上。

前置准备

image.png

  1. 虚拟机网关:192.168.0.2(win10)
  2. 靶机:192.168.0.134(win sp1)
  3. 攻击机:192.168.0.140(kali 2023.1)
  4. 工具安装:driftnet、arpspoof

driftnet
类型:网络嗅探工具。
简介:Driftnet是一个开源的网络嗅探工具,旨在捕获网络流量中的图像文件。它可以监视网络中的HTTP流量,并提取其中的图像文件,然后将这些图像显示在用户界面上。Driftnet通常用于教育、安全研究和网络监视,以便分析网络流量中是否存在敏感或不适当的图像内容。
使用示例:
driftnet -i eth0
arpspoof
类型:ARP欺骗工具。
简介:Arpspoof是一个网络工具,用于执行ARP欺骗攻击。ARP欺骗攻击是一种中间人攻击,攻击者通过伪造ARP响应来欺骗目标设备,使其认为攻击者的MAC地址与目标设备的IP地址相对应。这使得攻击者能够拦截、篡改或监视目标设备与其他设备之间的网络通信。Arpspoof通常用于网络安全测试和演示,以揭示网络中的潜在安全漏洞。
使用示例:
arpspoof -i eth0 -t target_ip gateway_ip

漏洞原理

ARP数据包的种类有两种
ARP请求:
目的:当一个设备需要知道某个特定IP地址对应的MAC地址时,它会发送一个ARP请求。
过程:设备会在本地网络广播一个ARP请求帧,其中包含了目标IP地址,以请求其他设备提供对应的MAC地址。
响应:网络中的其他设备会接收到这个ARP请求,如果其中有一个设备拥有被请求的IP地址,它会发送一个ARP应答帧回应,包含了自己的MAC地址。
ARP应答:
目的:当一个设备收到ARP请求并且拥有被请求的IP地址时,它会发送一个ARP应答。
过程:设备收到ARP请求后,会构建一个ARP应答帧,其中包含了自己的MAC地址,并将其发送给ARP请求的源设备。
效果:源设备收到ARP应答后,就知道了目标IP地址对应的MAC地址,从而可以在数据链路层上正确地发送数据帧。
ARP欺骗漏洞产生原因
ARP协议的工作原理:ARP(Address Resolution Protocol)是用于将IP地址映射到物理MAC地址的协议。它是一个无状态协议,没有验证机制,因此容易受到攻击。攻击者可以发送虚假的ARP响应,欺骗其他计算机,使其将数据发送到错误的MAC地址。

  1. 缺乏身份验证:ARP协议本身没有身份验证机制,任何计算机都可以发送ARP请求或响应。这使得攻击者可以伪装成合法设备,发送虚假ARP响应,引导流量经过他们的计算机。
  2. 局域网环境:ARP欺骗漏洞通常发生在局域网环境中,因为ARP协议仅在同一局域网中工作。攻击者必须在同一物理网络中,才能执行ARP欺骗攻击。
  3. 缺乏加密:ARP协议中的ARP请求和响应都是明文传输的,不经过加密。这意味着攻击者可以轻松地拦截和篡改这些消息,从而进行欺骗攻击。
  4. 网络设备不安全:某些网络设备可能缺乏足够的安全措施,容易受到ARP欺骗攻击。这些设备可能不会正确验证ARP响应的真实性,导致攻击成功。

漏洞复现

抓取ICMP包

清空windows靶机的arp表并关闭防火墙
image.png
攻击机ip信息
image.png
Linux开启路由转发功能

# 将配置项写入配置文件
└─$ sudo vim /etc/sysctl.conf
└─$ cat /etc/sysctl.conf | tail -n 1
net.ipv4.ip_forward=1
# 重新加载内核参数设置
└─$ sudo sysctl -p
net.ipv4.ip_forward = 1
# 重启主机并验证
└─$ sysctl net.ipv4.ip_forward 
net.ipv4.ip_forward = 1

查看当前网段下的主机的IPMAC地址
image.png
靶机原ARP
image.png
正常ICMP请求包
image.png
进行ARP欺骗攻击

# 将攻击机(192.168.0.140)伪装成网关(192.168.0.2)
sudo arpspoof -i eth0 -t 192.168.0.2 192.168.0.140
# 将攻击机(192.168.0.140)伪装成靶机(192.168.0.134)
sudo arpspoof -i eth0 -t 192.168.0.134 192.168.0.2

image.png
image.png
欺骗后的ARP表,可以发现网关的MAC地址被篡改
image.png
被篡改后的ICMP请求包
image.png

抓取HTTP包

在云主机上存放一张图片,启动一个简单的HTTP服务器
image.png
url为:http://x.x.x.x:8080/1.jpg
image.png
开启**driftnet**捕获网络流量中的图像文件
image.png
靶机浏览器请求访问 http://x.x.x.x:8080/1.jpg
image.png
篡改前与篡改后的请求路线对比
image.png
"网关"(这里的网关被篡改为攻击机的MAC)去请求云服务器(http://x.x.x.x:8080/1.jpg),数据在回传回来到"网关",最后“网关”再回传到靶机浏览器上显示1.jpg图片
image.png
ps: 这里难以抓取https的数据包
还要一些利用方法后续更新(下次一定)

ARP安全防范

  1. 静态ARP表项设置:将重要的网络设备的ARP表项设置为静态,这样它们不会轻易受到欺骗攻击的影响。这需要在网络设备上手动配置。
  2. ARP缓存检查:监控ARP缓存中的条目,检测是否有异常的ARP记录,例如同一IP地址对应不同的MAC地址。可以使用工具或脚本来实现自动检查。
  3. ARP欺骗检测工具:部署专门的ARP欺骗检测工具,这些工具可以监控和检测ARP攻击,并立即采取措施来应对异常情况。
  4. 端口安全措施:在交换机和路由器上启用端口安全功能,限制每个端口可以学习的MAC地址数量,防止攻击者通过伪造MAC地址来进行ARP欺骗。
  5. 网络隔离:将网络分段,使用VLAN等技术将不同的部门或设备隔离开来,减少潜在的ARP攻击面。
  6. ARP缓存定期清除:定期清除设备上的ARP缓存,以防止缓存中的恶意或过期ARP记录对网络造成潜在威胁。
  7. 网络监控:实施全面的网络监控,以检测异常流量和活动,从而更早地发现并应对潜在的ARP攻击。
  8. 强化物理安全:确保网络设备受到适当的物理安全保护,防止未经授权的人员访问设备并进行ARP攻击。

参考链接

linux 网络问题 ipv4 forwarding_ipv4_forward_MrMoving的博客-CSDN博客
arpspoof+driftnet+ ARP欺骗简单图片抓取 - 晓枫v5 - 博客园
ARP欺骗 · 白帽与安全 · 看云

标签:ARP,请求,192.168,MAC,防范,攻击者,欺骗
From: https://www.cnblogs.com/fnewll/p/17682917.html

相关文章

  • 关于将视频监控技术与烟火检测相结合防范安全隐患的一些见解
    随着夏季的到来,气温不断升高,一些疏忽细节可能导致火灾和其他灾害事故。夏季火灾事故的主要类型包括电气火灾、汽车火灾、施工现场火灾、危化品火灾、物质自燃火灾、液化石油气火灾、电动车火灾以及非法火源操作火灾等。为了减少和防止火灾危害,我们需要根据火灾发生的特点和原因采取......
  • 无涯教程-JavaScript - DVARP函数
    描述DVARP函数通过使用列表或数据库中符合您指定条件的记录的字段(列)中的数字,基于整个总体计算总体的方差。语法DVARP(database,field,criteria)争论Argument描述Required/Optionaldatabase组成列表或数据库的单元格范围。数据库是相关数据的列表,其中相关信息......
  • cefsharp - WinForms 和 Wpf 示例之间的巨大性能差异
    https://www.coder.work/article/7217456我注意到在使用 http://www.vsynctester.com 时CefSharp.WinForms.Example和CefSharp.Wpf.Example之间存在非常重要的性能差异(以FPS计)在我的显卡控制面板和CefExampleInit()中的设置中关闭VSync时settings.CefCommandLi......
  • 05 地址解析协议ARP
    地址解析协议(ARP)ARP(AddressResolutionProtocol)地址解析协议:根据已知的IP地址解析获得其对应的MAC地址ARP工作流程1.HOST1ARP缓存HOST1通信之前需要封装数据包,其中在封装二层数据链路层时,终端查询自己的ARP缓存表,ARP缓存表维护一个IP和MAC地址的对应关系,根据对端IP地......
  • abc265e Warp
    Warp大概就是个dpf[n][x][y]表示走了n步,第一种走了x次,第二种走了y次。不过写来写去发现都会TLE,N^3怎么会TLE呢?后面发现原来是map的写法一直有问题,比如判断一个点是否可行,我是这样的if(!h[make_pair(x,y)]){}这样的话其实是相当于将(x,y)插入进去,所以就会变慢正确的写法......
  • sharp.js的常用方法
    sharp.js是一个用于处理图像的JavaScript库,它提供了许多方法来操作和修改图像。以下是一些常用的sharp.js方法及其详细参数说明: 1.`resize(width,height)`:调整图像的宽度和高度。  -width(Number):新的宽度。  -height(Number):新的高度。 2.`crop(left,top,widt......
  • 【保护你的上线】风险治理的防范与排查之路 | 京东云技术团队
    前言项目研发的过程中经历了需求评审、开发评审、代码编写、测试用例评审、项目测试、产品和UI验收等一系列流程,其中投入了大量的人力和精力。然而最后的上线阶段,总是存在诸多不确定性和可变性,往往在测试阶段测N次都没有丝毫问题,一上线就会出现Bug(简直是墨菲定律的诅咒)。经过多年的......
  • C# 使用 PaddleOCRSharp 识别 图片中的文字、 使用QRCoder生成二维码
    使用PaddleOCRSharp识别图片中的文字  在只用PaddleOCRSharp之前用过另外一种识别:Tesseract。它识别速度是非常快的,但是准确率堪忧,而且使用的时候需要区分语言,这里权当一些经验交流,不是说Tesseract不好。PaddleOCRSharp资料汇总:开源工具开发者博客:https://www.cnblogs.com/ra......
  • 客户案例:中圣科技—CAC2.0防范盗号威胁,加固安全防线
    客户背景中圣科技(江苏)股份有限公司(以下简称“中圣科技”),是一家以技术研发为驱动,以清洁能源核心成套装备和节能环保工程服务为支撑的科技创新型企业。其以南京为核心运营基地,与当地政府、大型国有企业和行业龙头,共同推动清洁能源产业的创新和可持续发展。 此类企业具备着丰富的知识......
  • CSharp_exe执行文件点击运行无反应;
    问题:点击试图运行exe可执行文件,但无法运行!解决思路:首先,想到的就是C#项目出错;再者就是运行环境缺少支持,查看Microsoft.NETFramework2.0以及Microsoft.NETFramework3.5是否安装,没安装的应该就不能运行的,所以装上即可!......