arp欺骗攻击及其原理

前置知识

Arp协议

arp(英语:Address Resolution Protocol,缩写:ARP)是一个通过解析网络层地址来找寻数据链路层地址的网络传输协议,它在IPv4中极其重要。ARP最初在1982年的RFC 826(征求意见稿)[1]中提出并纳入互联网标准STD 37。ARP也可能指是在多数操作系统中管理其相关地址的一个进程。

ARP是通过网络地址来定位MAC地址。 ARP已经在很多网路层和数据链接层之间得以实现,包括IPv4,Chaosnet, DECnet和Xerox PARC Universal Packet(PUP)使用IEEE 802标准, 光纤分布式数据接口, X.25, 帧中继异步传输模式(ATM),IEEE 802.3IEEE 802.11标准上IPv4占了多数流量。

以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。

Arp原理

  • 每台主机都会有一个ARP缓存表,表里的IP地址与MAC地址是一对应的
  • 通信过程
    1. 主机A向主机B发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址,如果找到就知道目标MAC地址,接把目标MAC地址写入里面发送就可。
    2. 如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播(ARP request),目标MAC地址是“FF.FF.FF.FF.FF.FF”(ARP广播:用于确定目标的MAC地址)。
    3. 网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应(ARP response):自己的IP和MAC地址。这样,主机A就知道主机B的MAC地址,它就可以向主机B发送信息。同时它还更新自己的ARP高速缓存(ARP cache),下次再向主机B发送信息时,直接从ARP缓存表里查找就可。

Arp协议缺陷

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

Arp攻击原理

  1. 如果欺骗者主机向网关发出的ARP Request包,源IP地址为PC1主机的IP地址,源MAC为欺骗者主机的MAC地址,而网关收到该数据包后会修改ARP缓存表,将PC1主机的IP地址对应的MAC地址更新为欺骗者主机的MAC地址,网关会将原本发往被PC1主机的数据包发给欺骗者主机。
  2. 而同时,欺骗者主机也会发给PC1主机一个ARP Request,将源IP地址封装为网关的IP地址,源MAC地址封装为自己的MAC地址。PC1主机收到数据包后会将ARP缓存表里网关的IP地址对应的MAC地址更新为欺骗者主机的MAC地址。PC1主机会将发往网关的数据包发给黑客。
  3. 这样PC1主机的通信就会经过”中间人“(欺骗者主机),而整个过程无论是目标笔记本的安全软件,还是网络内的防火墙都不会发现有异常。

image-20211023144929966

Arp攻击实操

环境

攻击主机:kali:192.168.0.7

被攻击主机:Windows 2008:192.168.0.5

网关:192.168.0.1

实操

kali:

image-20211023150656769

Windows 2008:

image-20211023184604679

网关:

image-20211023150745320

  1. 使用netdiscover扫描192.168.0.0/16,可以看到目标主机

image-20211023185445551

也可以使用fping,fping -g 192.168.0.0/24

image-20211023185653246

  1. 检查主机能否上网

image-20211023185824228

  1. 使用Arpspoof进行攻击

arpspoof -i eth0 -t 192.168.0.5 -r 192.168.0.1

image-20211023190129732

可以看到被攻击主机已经断网

image-20211023190239536

并且mac也已经改变

image-20211023190110946

基于Arp攻击获取目标信息

要想获取对方信息就需要开启ip转发功能,不然就会断网,没有起到“中间人”的作用,开启后则可在靶机毫无察觉下获取其访问数据

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

成功欺骗

image-20211023192602893

使用ettercap嗅探工具

  1. 打开新的终端,输入 attercap -G 启动工具

  2. 点击对勾

image-20211023194409434

  1. 点击搜索

image-20211023194443654

  1. 点击Hosts List按钮,查看主机

image-20211023194538184

  1. 选择要攻击的主机,分别添加到”add to target 1″和”add to target 2″

image-20211023194629642

  1. 点击”MITM menu”,选择”arp poisoning spoofing”

image-20211023194737175

  1. 选择”sniff remote connections”,然后点击”OK”。这样就配置完成,ettercap会自动开始arp欺骗。

image-20211023194848734

  1. 选择View下的”Connections”可以监听流量

image-20211023194956994

image-20211023195027225

使用Wireshark抓包

能够获取所有被攻击者的访问数据流

image-20211023200819437

image-20211023200922060

关于Arp欺骗的防御

  • 防御原理很简单,只要使用静态MAC地址,将ip和MAC地址绑定,就不可能被arp欺骗
  • 输入命令:ARP -S 主机IP MAC
    • 即可绑定静态arp
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇