解析中间人攻击(1/4)---ARP缓存中毒

本系列将讨论最常被使用的中间人攻击形式,包括ARP缓存中毒攻击(ARP Cache Poisoning)、DNS欺骗(DNS Spoofing)、HTTP会话劫持等。

  导言

  用于攻击个人以及企业的最常见的网络攻击方式就是中间人攻击(MITM)。作为一种主动窃听攻击方式,中间人攻击方式主要是通过与目标机器建立连接并在目标机器间传递信息来发动攻击。在这种情况下,用户会认为自己正在与另一名用户直接通信,而实际上,通过主机的通信流量正在对用户执行攻击。最终结果是,攻击主机不仅能截取重要信息,而且能够注入数据流来进一步控制受害用户。

  在本系列文章中,我们将讨论最常被使用的中间人攻击形式,包括ARP缓存中毒攻击(ARP Cache Poisoning)、DNS欺骗(DNS Spoofing)、HTTP会话劫持等。在实际情况中,你会发现,大多数受害用户使用的都是windows系统,因此我们将详细分析运行不同版本的windows系统时中间人攻击的情况。

  ARP缓存中毒

  在本文中我们将主要探讨ARP缓存中毒,这也是现代中间人攻击中最早出现的攻击形式,ARP缓存中毒(有时也被称为ARP中毒路由)能够让与受害用户在相同子网的攻击者窃取用户的所有网络留恋。我们首先讨论这种攻击形式是因为,它是最容易执行的攻击形式,但也是最有效的攻击形式。

  正常ARP通信

  ARP协议的主要目的在于简化OSI模型第二层和第三层间地址的翻译。第二层(也就是数据链层)使用MAC地址,以便硬件设备可以在小范围内直接进行通信。第三层(也就是网络层)使用IP地址(最常见的形式)来创建连通世界各地用户的大规模网络。数据链层直接处理连接在一起的设备,而网络层处理那些直接以及间接连接的设备,每一层都有自己的地址形式,他们必须合作才能实现网络通信。正是由于这个原因,ARP与RFC826(以太网地址解析协议)一起被创建。

  

  图1:ARP通信过程

  ARP运作实际上是围绕两个数据包进行的:ARP请求和ARP回复。请求和回复的目的在于确定与特定IP地址相关的硬件MAC地址,这样流量才能够在网络上找到目的地。请求数据包被发送给网络段上的每台设备并发出信息“我的IP地址是XX.XX.XX.XX,我的MAC地址是XX:XX:XX:XX:XX:XX,我需要将信息发送给这个IP地址XX.XX.XX.XX,但是我不知道它的硬件地址,请这个IP地址将其MAC地址回复给我?”回复会以ARP回复数据包的形式,并回复说“你好,传递设备,我就是你要找的IP地址XX.XX.XX.XX,我的MAC地址是XX:XX:XX:XX:XX:XX”,收到回复后,传递设备会更新其ARP缓存表,然后设备就可以与另一台设备进行通信。

  缓存中毒

  ARP缓存中毒利用了ARP协议不安全的本质。ARP协议有别于其他协议,例如DNS协议可以配置为仅接受安全动态更新,而使用ARP的设备则可以接受任何时间的更新。这意味着任何机器都可以向另一台主机发送ARP回复数据包,并迫使主机更新其ARP缓存。发送ARP回复而没有生成请求时,此时被成为无效ARP。当恶意攻击者以这种方式放置一些无效ARP时,用户就会认为他们正在与另一用户通信,而实际上是与窃取信息的攻击者通信。

  

  图2: ARP缓存中毒截取通信

  使用Cain & Abel工具

  让我们从具体情况来分析,攻击者会使用几种不同的工具执行必要的步骤以毒化受害者的ARP缓存,我们将使用常见的安全工具Cain & Abel来模拟缓存中毒攻击。Cain & Abel是非常有效的安全工具,并且安装过程也十分简单。

  在开始模拟缓存中毒前,你需要收集一些信息,包括你此次模拟攻击希望使用的网络接口,以及两个通信受害者IP地址。

  当你第一次打开Cain & Abel工具时,你会发现在窗口上方有很多选项卡,我们只需要使用Sniffer选项,当你点击此按钮,你会看到一个空表。为了完成此表格,你需要激活该程序的内置嗅探器并且扫描你的网络。

  

  图3: Cain&Abel工具的Sniffer选项

  点击工具栏上的第二个图标,类似于网络卡。首次操作时,会要求你选择你希望嗅探的接口,这个接口应该是连接到你将要执行ARP缓存中毒攻击的接口。选择好接口后,点击确认来激活Cain & Abel的内置嗅探器。此时,工具栏图标会变暗。为网络中有效主机建立列表,你需要点击类似+符号的主要工具栏,点击确认。

  

  图4:扫描主机  

  之前的空表格现在以及填满了所有连接网络上的主机名,以及MAC地址、IP地址以及供应商验证信息,这些是发动ARP缓存中毒攻击的有利信息。

  在程序窗口的地步,你会看到一组标签,这些标签将引领你到嗅探器的其他窗口。现在你已经建立了主机列表,你需要从ARP标签开始,点击标签以切换到ARP窗口。

  打开ARP窗口后,你会看到两个空表格:上表和下表。设置好这两个表格后,上表会显示ARP缓存中毒涉及的设备,下表会显示中毒机器间的所有通信。

  点击程序的标准工具栏上的+符号的图标以继续设置ARP中毒,显示的窗口有并排两个选择列,在左侧,你会看到所有有效主机的列表。点击其中一个IP地址,你会看到,右边窗口显示的是网络中所有主机,而没有显示你所选择的IP地址。在右边窗口,点击另一个受害者的IP地址,然后点击确认。

  

  图5:选择缓存中毒的攻击主机

  这些设备的IP地址现在都被列在主要程序窗口的上表中,为了完成这个操作,请点击标准工具栏的黄黑色放射符号。这样将激活Cain & Abel的ARP缓存中毒功能并允许系统成为受害机器间所有通信的中间人。如果你很好奇背后发生的情况,可以安装wireshark并窃听接口,你很快会看到受害电脑间的通信。

  

  图6:ARP通信注射

  完成以上操作后,只要再次点击黄黑色发射符号就可以停止ARP缓存中毒。

  防御ARP缓存中毒

  从防御者的角度来看ARP缓存中毒攻击似乎处于不利的位置,ARP进程在后台进行,我们很难控制。并没有万能的解决方案,你可以采用主动和被动的立场来考虑ARP缓存中毒。

  保护局域网安全

  ARP缓存中毒的确是截取位于相同局域网的两台主机间的通信的可行的攻击技术,但只有当网络上的本地设备比破坏,受信任用户有恶意企图,或者某用户试图将不可信设备接入网络时,ARP缓存中毒攻击才可能造成真正的威胁。尽管我们往往将主要精力集中在保护网络外围安全上,但抵御内部威胁以及确保内部安全绝对可以更好的确保系统安全。

  硬编码ARP缓存

  抵御ARP请求和回复的动态本质所带来的威胁的方法是使这个进程不那么动态,这是因为windows系统主机允许其他静态表项进入ARP缓存,你可以通过打开命令提示符并输入arp-a命令来查看windows系统的ARP缓存。

  

  图7:查看ARP缓存

  可以通过使用这个命令arp –s 来添加表项到这个列表。

  如果你的网络配置并不是经常变动,做静态ARP表项的列表并通过自动化脚本将表项部署到客户端是完全可行的。这可以确保设备始终依赖本地ARP缓存,而不是依赖ARP请求和回复。

  使用第三方程序监测ARP通信

  抵御ARP缓存中毒攻击的另一种方法是被动方法,监控主机的网络流量,这可以通过入侵检测系统(如Snort)或者其他监测工具(如xARP)来进行监控流量。对于一台主机而言,这可能是很简单的事情,但是对于整个网络而言就不是那么简单了。

  总结

  ARP缓存中毒是中间人攻击中最有效的攻击方式,因为它非常容易执行,对于现代网络是巨大的威胁,并且这种攻击方式很难检测和防御。

备注:转自IT专家网

时间: 2024-10-12 03:14:27

解析中间人攻击(1/4)---ARP缓存中毒的相关文章

解析中间人攻击(2/4)---DNS欺骗

在上篇文章中,我们讨论了正常ARP通信以及ARP缓存中毒是如何利用潜在恶意信息通过另一台设备重定向设备网络通信的问题,这看似高级的中间人攻击形式(即ARP缓存攻击)其实是非常容易实现的.而在本文中我们将讨论一种类似的中间人攻击,即DNS欺骗. DNS欺骗 DNS欺骗是这样一种中间人攻击形式,它是攻击者冒充域名服务器的一种欺骗行为,它主要用于向主机提供错误DNS信息,当用户尝试浏览网页,例如IP地址为XXX.XX.XX.XX ,网址为www.bankofamerica.com,而实际上登录的确实I

解析中间人攻击(3/4)---会话劫持

本文我们将探讨会话劫持的理论以及演示,并讨论相关检测和防御技巧. 导言 在前面两篇文章中我们分别探讨了ARP缓存中毒和DNS欺骗,从前面展示的例子我们可以看到,中间人攻击是非常有效的攻击形式,并且越来越难以被察觉.而在本文中,我们将探讨会话劫持攻击的理论以及演示,并讨论相关检测和防御技巧. 会话劫持 我们经常会听到会话劫持,通常情况下,任何涉及对设备间会话的攻击就是会话劫持,这里所说的会话,指的是存在状态的设备间的连接. 在这篇文章中,我们将从cookie盗窃(涉及HTTP会话)角度来探讨会话劫

ARP欺骗与MITM(中间人攻击)实例

? 主题名称 ARP欺骗与MITM(中间人攻击)实例 ? ? ARP协议(address resolution protocol):地址解析协议 一台主机和另一台主机通信,要知道目标的IP地址,但是在局域网中传输数据的网卡却不能直接识别IP地址,所以用ARP解析协议将IP地址解析成MAC地址.ARP协议的基本功能就是通过目标设备的IP地址,来查询目标设备的mac地址. 在局域网的任意一台主机中,都有一个ARP缓存表,里面保存本机已知的此局域网中各主机和路由器的IP地址和MAC地址的对照关系.AR

ARP欺骗与中间人攻击

前言: 上一篇WPA/WAP2wifi 密码破解笔记说到如何探测附近开放的AP并且破解进入,那么进入别人据局域网我们能干些什么呢?换句话说如果别人进入了我们内部网络,会有什么影响?本文简要介绍了ARP和MITM原理,并在实际环境中对目标主机的流量进行劫持.曝露了公共网络中普遍存在的问题,藉此来看看局域网中的客户端究竟面临着怎样的隐私泄漏和安全风险. ARP与MITM原理 什么是ARP ARP全称为Address Resolution Protocol,即地址解析协议.是根据IP地址获取物理地址的

中间人攻击——ARP欺骗的原理、实战及防御

? 1.1 什么是网关 首先来简单解释一下什么是网关,网关工作在OSI七层模型中的传输层或者应用层,用于高层协议的不同网络之间的连接,简单地说,网关就好比是一个房间通向另一个房间的一扇门. 1.2 ARP协议是什么 ARP(Address Resolution Protocol)地址转换协议,工作在OSI模型的数据链路层,在以太网中,网络设备之间互相通信是用MAC地址而不是IP地址,ARP协议就是用来把IP地址转换为MAC地址的.而RARP和ARP相反,它是反向地址转换协议,把MAC地址转换为I

中间人攻击-Arp之局域网内DNS欺骗

基础知识 网关是啥? 网关是工作在OSI七层模型中的传输层或者应用层,用于高层协议的不同网络之间的连接,网关就好比一个房间通向另一个房间的一扇门. ARP协议 假设A(192.168.1.2)与B(192.168.1.3)在同一局域网,A要和B实现通信.A首先会发送一个数据包到广播地址(192.168.1.255),该数据包中包含了源IP(A).源MAC.目的IP(B).目的MAC,这个数据包会被发放给局域网中所有的主机,但是只有B主机会回复一个包含了源IP(B).源MAC.目的IP(A).目的

利用ARP欺骗进行MITM(中间人攻击)

ARP欺骗主要骑着信息收集得作用,比如可以利用欺骗获取对方流量,从流量分析你认为重要得信息 0X01  了解ARP Arp协议 ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址. 以太网(局域网)进行信息传输时,不是根据IP地址进行通信,因为IP地址是可变的,用于通信是不安全的.然而MAC地址是网卡的硬件地址,一般出厂后就具有唯一性.ARP协议就是将目标IP地址解析成MAC地址进行验证通

中间人攻击——ARP欺骗 就是中间人攻击 利用报文欺骗并修改IP和mac地址之间的映射关系 让传送数据的地址失效

中间人攻击——ARP欺骗的原理.实战及防御 0x01 网关是啥? 网关是工作在OSI七层模型中的传输层或者应用层,用于高层协议的不同 网络之间的连接,网关就好比一个房间通向另一个房间的一扇门. 0x02 ARP协议 ARP(Address Resolution Protocol)地址转换协议,工作在OSI模型的数据链路层,在以太网中,网络设备之间互相通信是用MAC地址而不是IP地址,ARP协议就是用来把IP地址转换为MAC地址的.而RARP和ARP相反,它是反向地址转换协议,把MAC地址转换为I

中间人攻击之arp欺骗 科普ARP欺骗

中间人攻击之arp欺骗 科普ARP欺骗 A <-> B A中有个ARP Table,每次发包都会在此Table中查找,若找不到,发APR Request包询问.此时若hacker冒充B的MAC,于是A -> hacker. (1)如何清空A中的ARP Table?不然它一查询,直接发包给B. 经过百度: ARP Table采用老化机制,某一行一段时间不用就被删除,提速. hacker大量发ARP包产生大量ARP通信量使通络堵塞,A就找不到B,A必然会发ARP Request包问:B是谁,