浅谈基于ARP协议的网络攻击

LogicPulseMaster
• 阅读 2336
本文首发于:行者AI

通信协议是指双方实体完成通信或服务所必须遵循的规则和约定,从而确保网络中数据顺利地传送到确定的地方,通信协议作为一个网络通信模型,提供了一整套网络传输协议,由于协议家族中的两大核心协议:TCP(传输控制协议)和IP(网际协议)为该家族中最早通过的标准,所以通常将通信协议家族称为TCP/IP协议族。

由于在网络中通信协议采用分层结构,当多个层次的协议同时工作时,规则类似与计算机中的栈空间,所以也被称为TCP/IP协议栈。

1. 如何进行通信交互?

1.1 计算机网络体系结构分层:OSI七层模型、TCP/IP概念层模型

浅谈基于ARP协议的网络攻击

1.2 网络传输流程概览

浅谈基于ARP协议的网络攻击

2. 什么是ARP协议

ARP(Address Resolution Protocol)协议是地址解析协议,作用与以太网环境,在以太网中,数据传输寻址是通过MAC地址而不是IP地址,从而依赖ARP协议将已知IP地址转换为MAC地址供寻址使用。

ARP协议工作在数据链路层,与硬件接口通信,同时为上层协议提供服务。 例:某IP数据包通过以太网进行传输过程中,以太网设备是不能识别32位IP地址的,而是以48位以太网地址(MAC地址)传输数据包的。此时则需要通过ARP协议对IP地址解析为对应的MAC地址。

2.1 ARP缓存表

每台主机都有一张ARP缓存表,它记录着以太网中近期交互的主机IP地址和MAC地址的对应关系。

windows/linux下可以通过命令行输入“arp -a”查看本机ARP缓存表

2.2 ARP动态映射

动态映射时,每次只要机器知道另一台需要通信主机的局域网IP地址,就可以使用协议找出物理地址。实现动态映射协议为ARP和RARP两种。

  • ARP把IP地址映射为物理地址
  • RARP把物理地址映射为IP地址 由此便可以完成自己ARP缓存表的动态映射动作。

2.3 ARP请求与响应过程

① PC1想发送数据给PC2时,PC1首先会在本地的ARP缓存表中查看PC2的MAC地址。因为局域网内通信时,需要明确自己的目标,获取目标的IP地址及MAC地址。

② 如果PC1在缓存表中没有找到PC2对应的MAC地址,便会将ARP请求帧广播到以太网中所有的主机。该帧中包括PC1的IP地址和MAC地址和目标主机PC2的IP地址。

③ 以太网中所有的主机都会接收到广播的ARP请求并会检查是否自己的IP与是否是PC2的IP。如果发现不匹配,则会忽略这个ARP请求。

④ PC2发现请求IP与自己匹配,则将PC1的IP地址和MAC地址添加至自己本地的ARP缓存表中。

⑤ PC2将包含其MAC地址的ARP回复包以单播的形式发送给PC1。

⑥ PC1接收到PC2的ARP回复包,将主机PC2的IP地址和MAC地址添加到自己的本地ARP缓存表,便可以正常的与P2进行消息交互了。

本地ARP缓存是有生存周期的,默认ARP生存周期为120s

2.4 ARP报文分析

浅谈基于ARP协议的网络攻击

  • 硬件类型:表示硬件地址的类型(1表示以太网地址,还可能表示令牌环地址)
  • 协议类型:表示要映射的协议地址类型(0x0800表示IP地址)
  • 硬件地址长度:指出该报文中硬件地址的长度(ARP报文中,该值为6)
  • 协议地址长度:该报文中协议地址的长度(ARP报文中,该值为4)
  • op:操作字段,共4种(1.ARP请求,2.ARP应答,3.RARP请求,4.RARP应答)
  • 发送者硬件地址:发送方设备的硬件地址
  • 发送者IP地址:发送方设备IP地址
  • 目的硬件地址:接收方设备硬件地址
  • 目的IP地址:接收方设备IP地址

2.5 ARP报文抓取

浅谈基于ARP协议的网络攻击

开启混杂模式下监听所在以太网中的ARP报文,根据上面的报文格式分析,选中的ARP报文是MAC地址为04:e6:76:68:59:ea的主机发出的ARP广播报,目的是为了获取IP地址为192.168.1.248的主机的MAC地址。

3. 基于ARP协议攻击

3.1 ARP协议缺陷

ARP协议是建立在信任局域网内所有节点的基础上,它很高效,但是并不安全。它是无状态的协议,不会检查自己是否发过请求包,也无法判断是否是合法的应答,只要收到目标MAC是自己的ARPreply包或arp广播包,都会接收并缓存。这就为ARP欺骗提供了可能,恶意节点可以发布虚假的ARP报文从而影响网内节点的通信,甚至可以做“中间人”,发起中间人攻击。

3.2 常见的ARP攻击

① ARP断网攻击:伪造ARP报文并频繁发送至局域网中,强制篡改被攻击者的ARP缓存表,导致被攻击者所有流量发送至攻击者或未知地址,无法发出网络请求至公网。

② ARP中间人攻击:与断网攻击类似,区别是打开流量转发,被攻击者的流量便会流经攻击者才转发至公网,攻击者便可以分析抓取的流量内信息,甚至篡改。

3.3 ARP攻击原理分析

① 假冒ARPreply包(单播或广播),向单体主机或多台主机发送虚假的IP/MAC地址。

② 假冒ARPrequest包(单播或广播),实际上是单播或广播虚假的IP,MAC映射。

③ 假冒中间人,启用包转发向两端主机发送假冒的ARPreply,由于ARP缓存老化机制,有时还需要做周期性连续性欺骗。

浅谈基于ARP协议的网络攻击

3.4 攻击流程

使用kali系统或centos系统,kali系统天然自带很多攻击工具,所以实现比较简单,centos需要额外安装一些工具* >Kali 是一个基于 Debian 的 Linux 发行版。目标旨在尽可能多的包含渗透和审计工具,所以大多数做安全测试的开源工具都被囊括在其中。 Kali是一个安全工具,有着像 NMap 和 Wireskark 这样的经典信息采集工具、也有像 Hydra、Crunch、Hashcat、以及 John the Ripper 这样的密码破解工具。

重要的是,Kali并不是一个平时可以随意使用的系统,使用不当会造成很多实质性的危害。所以若使用Kali,请合理合法的发挥他的优势,否则在给别人带来危害时,同时给自己也会带来无法弥补的麻烦。

① 发起局域网内攻击时,需要明确自己的目标,获取目标的IP地址及网关的IP地址。

查看同一局域网内在线的主机情况: >fping -asg 192.168.xxx.0/24 >

浅谈基于ARP协议的网络攻击

如何甄别谁的ip才是你要攻击的ip,也可以根据ARP缓存表中的MAC地址进行厂牌分析,还可以进行传说中的社会工程学~

② 找到需要攻击的在线主机后,便可以开始非常简单的一行命令攻击。

arpspoof -i eth0 -t 192.168.135.131 192.168.135.2 >

浅谈基于ARP协议的网络攻击

  • eth0:网卡
  • 第一个IP:被攻击者IP
  • 第二个IP:在他ARP缓存表中伪造的身份(比如这里写网关ip,他会认为你才是网关)

发起命令后,将会进行持续的ARP轰炸,不断的告诉被攻击者,你要找的网关是我,你把包都发给我。在没有打开流量转发的时候,被攻击者目前应该已经处于断网状态了,大功告成。

3.5 防御方法

  • 在客户端使用arp命令绑定网关的真实MAC地址命令如下:arp-d*(先清除错误的ARP表)arp-s192.168.xxx.xxx xx-xx-xx-xx-xx-xx(静态指定网关的MAC地址)
  • 在交换机上做端口与MAC地址的静态帮定。
  • 在路由器上做IP地址与MAC地址的静态绑定。
  • 使用”ARPSERVER”按一定时间间隔广播网段内所有主机的正确IP-MAC映射表。
  • 最主要是要提高用户的安全意识,养成良好的安全习惯,包括:及时安装系统补丁程序,为系统设置强壮的密码,安装防火墙,安装有效的杀毒软件并及时升级病毒库
  • 不主动进行网络攻击,不随便运行不受信任的软件。

温馨提示:不要轻易在任何现实环境中进行此类攻击测试,可以自己通过组网搭建虚拟环境进行此类攻击测试。

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
React Hooks实现异步请求实例—useReducer、useContext和useEffect代替Redux方案
<blockquote本文是学习了2018年新鲜出炉的ReactHooks提案之后,针对<strong异步请求数据</strong写的一个案例。注意,本文假设了:<br1.你已经初步了解<codehooks</code的含义了,如果不了解还请移步<ahref"https://reactjs.org/docs/hooksintro.html
Wesley13 Wesley13
3年前
Java面试
<divclass"htmledit\_views"id"content\_views"<pid"maintoc"<strong目录</strong</p<pid"Java%E5%9F%BA%E7%A1%80%EF%BC%9Atoc"style"marginleft:40px;"<ahref"Java%E5%
Wesley13 Wesley13
3年前
DDoS的攻击方法
DDoS攻击DDoS攻击的方法攻击网络带宽资源我们可以采用对目标的网络带宽资源进行攻击,目的就是浪费对方有限的网络带宽资源,使得目标服务出现网络滞缓直至网络带宽资源匮乏,无法访问或访问速度慢。直接攻击直接攻击,使用大量的受控主机直接向被攻击目标发送大量的网络数据包,占用目标的网络
Wesley13 Wesley13
3年前
IP被攻击了怎么办
1、断开所有网络连接。服务器之所以被攻击是因为连接在网络上,因此在确认系统遭受攻击后,第一步一定要断开网络连接,即断开攻击。2、根据日志查找攻击者。根据系统日志进行分析,查看所有可疑的信息进行排查,寻找出攻击者。3、根据日志分析系统。根据系统日志进行分析,查看攻击者是通过什么方式入侵到服务器的,通过
Wesley13 Wesley13
3年前
(寒假开黑gym)2017
<ahref"https://codeforces.com/gym/101933/"target"\_blank"style"fontsize:24px;"<strong传送门</strong</a付队!(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.
Stella981 Stella981
3年前
Linux应急响应(一):SSH暴力破解
0x00前言SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全。SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包含字母等,容易被攻击者破解,一旦被攻击者获取,可用来直接登录系统,控制服务器所有权限。0x01应急场景某天,网站
Easter79 Easter79
3年前
Tomcat安装、配置、优化及负载均衡详解
<divid"cnblogs\_post\_body"class"blogpostbody"<p<strong原文地址:https://www.cnblogs.com/rocomp/p/4802396.html</strong</p<p<strong一、常见JavaWeb服务器</strong</p<div<strong&
专注IP定位 专注IP定位
3年前
TCP/IP协议常见漏洞类型
摘要:TCP/IP由网络层的IP协议和传输层的TCP协议组成。常见的漏洞类型包括ARP病毒攻击、基于RIP的攻击、DNS欺骗、TCP连接欺骗。TCP/IP是TransmissionControlProtocol/InternetProtocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是lnternet最基本的协议、Intera
专注IP定位 专注IP定位
2年前
网络攻击中常见掩盖真实IP的攻击方式及虚假IP地址追踪溯源方法
前言:在网络取证领域,网络攻击溯源一直是一个重要的追踪方式。近年来,网络安全事件层出不穷,各种网络攻击给国家、社会和个人带来了严重的危害,如分布式拒绝服务攻击(DDoS)、基于僵尸网络(Botnet)的高级可持续攻击(APT)、利用远程控制木马的信息窃取等。在这些攻击方法中,攻击者会向目标主机,也就是受害主机,发送特定的攻击数据包。从受害主机的角度来看,能够
专注IP定位 专注IP定位
3年前
关于TCP/IP协议漏洞的安全措施
摘要:我们介绍了TCP/IP协议中常见的漏洞类型包括ARP病毒攻击、基于RIP的攻击、DNS欺骗、TCP连接欺骗。面对TCP/IP协议中存在的漏洞我们要采取什么样的安全措施去预防和解决呢?首先从架构角度来说:IPSec与TLS最常用的两种安全架构,可以利IPSec、TLS安全架构在不同的协议层来保护数据传输的安全性。一、IPSecIPSec 是一组用来在网络
常见应用层DDoS攻击
本文分享自天翼云开发者社区《》,作者:罗文DDoS(分布式拒绝服务)应用层攻击是一种针对网络应用层的攻击方式。应用层是网络协议栈中最高级别的层次,负责处理用户与网络应用之间的交互。在应用层攻击中,攻击者通过发送大量的恶意请求或者利用应用层协议的漏洞,使目标