【网络攻击】ARP断网、ARP欺骗和DNS欺骗实验解析_arp实现断网

实验中模拟的攻击行为仅仅是为了让读者了解和认识这些网络攻击方式,以提高对网络安全的认识和意识。请不要将这些技术用于未经授权的活动,也不要对他人造成任何形式的伤害或损失。

实验中涉及的工具和方法仅仅是为了演示攻击原理和展示可能的防御措施。在进行任何实际部署和操作中,请务必遵守法律法规,仅在授权范围内进行操作。

这是本篇文章的脉络图:


一、ARP概述
1.1 什么是ARP

ARP(Address Resolution Protocol)是一种用于在TCP/IP网络中根据IP地址获取物理地址(MAC地址)的协议。在主机发送数据时,需要知道目标设备的物理地址来进行通信。ARP通过发送广播请求并接收返回消息的方式,来确定目标设备的物理地址。同时,收到返回消息后,主机将目标设备的IP地址和物理地址存入本机的ARP缓存表中,并在一定时间内保持有效,这样下次通信时就可以直接查询ARP缓存,节约资源。

1.2 ARP协议的基本功能

ARP协议的基本功能是通过目标设备的IP地址查询其对应的MAC地址,以确保通信的进行。它在局域网内进行操作,并且只能在局域网中工作。ARP协议将IP地址和MAC地址建立映射关系,以便在网络通信中能够正确地将数据传输到目标设备。

1.3 ARP缓存表

ARP缓存表是一个用于存储IP地址和MAC地址的缓冲区,实质上就是一个IP地址到MAC地址的映射表。每个主机或网络适配器都有自己的ARP缓存表。当需要查询已知IP地址对应的MAC地址时,ARP首先查找本地的ARP缓存表,如果存在相应的记录,则直接返回对应的MAC地址。如果在缓存中没有找到对应的记录,ARP才会发送ARP请求广播到局域网上,以查询目标设备的MAC地址。

1.4 ARP常用命令

在ARP协议中,有一些常用的命令用于管理和操作ARP缓存表。

(1)

'arp -a' 或 'arp -g'

这个命令用于查看ARP缓存表中的所有项目。在UNIX平台上,可以使用-g选项,而在Windows上则使用-a选项。这两个选项的结果是一样的,都用于显示ARP缓存中的所有项目。

(2)

'arp -a <ip>'

如果有多个网络接口,可以使用此命令加上接口的IP地址,以仅显示与该接口相关的ARP缓存项目。

二、ARP断网实验

ARP断网是指攻击者通过欺骗目标主机和网关的ARP缓存表,将目标主机和网关的IP地址对应的MAC地址修改为攻击者自己的MAC地址。这样,被断网的主机发送的数据包会被发送到攻击者的网卡,而不会继续流向网关或其他目标,从而导致目标主机无法正常连接到网络。

前提信息:

本文中提到的win7和kali是虚拟机,而且它们处于同一个网段。

受害者:win7
ip:192.168.216.128
mac:00-0C-29-9C-CD-25
win7网关:
ip:192.168.216.2
mac:00-50-56-f0-6a-ce

攻击者:kali
ip:192.168.216.129
mac:00:0c:29:be:d4:09

实验步骤:

2.1

通过fping命令,查看当前局域网还存在那些主机,以确定要攻击的主机的ip地址:

fping -g 192.168.216.0/24

或者用nmap扫描:

nmap -sn 192.168.216.0/24

2.2

arpspoof是一个常用于进行ARP欺骗攻击的命令行工具。其使用方法如下所示:

arpspoof -i <网卡名称> -t <目标IP> <网关>

通过运行这个命令,它会发送虚假的ARP响应包给目标主机和网关,将目标主机和网关的ARP缓存表中的IP地址对应的MAC地址修改为攻击者的MAC地址。这样,所有发往网关的数据包都会被截获并转发给攻击者,从而实现ARP欺骗攻击。

执行断网攻击:arpspoof -i eth0 -t 192.168.216.128 192.168.216.2

可以看到,当ARP攻击开始时,就出现了请求超时的提示:

2.3

arp -a 查看靶机网关mac地址的变化。

这是原来的mac地址:

这是现在的mac地址:

三、ARP欺骗实验

ARP欺骗是一种针对以太网地址解析协议(ARP)的攻击技术。攻击者通过欺骗局域网内的主机,将其ARP缓存表中的IP地址与MAC地址的映射关系更改为攻击者所指定的对应关系。这样,当主机发送数据时,数据将被发送到攻击者的主机而不是真正的目标主机,从而实现网络欺骗和窃取数据的目的。

ARP欺骗的常见手法是同时对局域网内的一台主机和网关进行欺骗。攻击者发送虚假的ARP响应包给被攻击的主机和网关,将其ARP缓存表中的IP地址对应的MAC地址修改为攻击者的MAC地址。这样,被攻击的主机和网关会将所有的数据包发送到攻击者的主机,攻击者可以截获、篡改或窃取这些数据包。此外,由于ARP是局域网内的协议,ARP欺骗攻击只对同一局域网内的主机有效。

前提信息:

本文中提到的win7和kali是虚拟机,而且它们处于同一个网段。

受害者:win7

ip:192.168.216.128
mac:00-0C-29-9C-CD-25
win7网关:
ip:192.168.216.2
mac:00-50-56-f0-6a-ce

攻击者:kali
ip:192.168.216.129
mac:00:0c:29:be:d4:09

3.1内网截获图片

实验步骤:

3.1.1

要在Linux系统中允许流量转发,可以通过修改sysctl.conf配置文件来实现。下面是修改步骤:

(1)打开终端窗口,输入以下命令以使用root权限打开sysctl.conf文件:

   sudo vim /etc/sysctl.conf

(2)在sysctl.conf文件中找到以下行:

   #net.ipv4.ip_forward=1

(3)将这一行的注释符号“#”去掉,修改为如下内容:

   net.ipv4.ip_forward=1

(4)保存并关闭文件。在vim编辑器中,可以按Esc键,然后输入冒号(:)并输入wq,然后按回车键。

(5)应用新的配置,可以输入以下命令使sysctl.conf配置生效:

   sudo sysctl -p /etc/sysctl.conf

3.1.2

进行ARP欺骗:arpspoof -i eth0 -t 192.168.216.128 192.168.216.2

因为开启了ip流量转发,所以此时win7是可以上网的(与ARP断网攻击的不同)。

查看一下ARP缓存表,可以发现欺骗成功。

3.1.3

此时,我的kali就会成为win7和网关之间数据流量的中转,所有经过kali的数据包都将被截获,可以进行进一步的网络攻击。

例如,driftnet是一个命令行工具,可以用于监听网络流量,并从其中提取出所有能够识别为图像的数据。

在kali运行以下命令:

driftnet –i eth0

这样,driftnet就会开始监听eth0网卡上的流量,并在图形界面窗口中实时显示图像,这些图像是从网络流量中提取出来的。

需要注意的是,driftnet只能提取出网络中传输的图像,而不是所有的文件或数据。而且它只能截取到http协议的图片。

在win7中使用火狐浏览器访问百度,搜索图片进行访问的时候,这个driftnet窗口就能捕捉到你在win7访问的图片(在火狐浏览器搜索图片时,一些网站显示的是不安全连接,而当一个网站显示不安全连接时,通常意味着它使用的是http协议而不是https协议)。

3.2 HTTP账户密码获取

实验步骤:

ettercap是一款非常常用的基于ARP欺骗方式的网络嗅探工具,它能够对交换型局域网进行嗅探,并拦截、修改、替换或注入网络数据包,从而实现多种攻击方式和安全检测方法。

比如,在一个本地网络中,你可以运行ettercap命令来嗅探流通数据,并查看被嗅探到的数据,如下所示:

ettercap -Tq -i eth0

此命令是将ettercap启动在文本模式下,并使用eth0网卡嗅探数据包,同时关闭Ettercap的交互式模式和输出所有嗅探信息的详情,以方便进行安静的数据监控。在ettercap中,还有许多参数和插件可供配置和使用,具体可参考其文档和官方网站。

启动ettercap:

在win7访问网址(我访问的是一个仅为了做实验而诞生的盗版网站),输入用户名及密码。这里我输入filotimo/666666。

返回kali攻击机,查看记录。

四、DNS欺骗实验

DNS(Domain Name System,域名系统)是一种分布式的关键网络服务,它将域名解析成相应的IP地址,帮助用户轻松访问互联网资源。

DNS欺骗是指攻击者利用DNS的工作原理和弱点,将用户的域名解析请求重定向到攻击者控制的虚假的域名服务器,使得用户被导向错误的网站或资源,或者受到其它类型的攻击或欺诈。

前提信息:

本文中提到的win7和kali是虚拟机,而且它们处于同一个网段。

受害者:win7
ip:192.168.216.128
mac:00-0C-29-9C-CD-25
win7网关:
ip:192.168.216.2
mac:00-50-56-f0-6a-ce

攻击者:kali
ip:192.168.216.129
mac:00:0c:29:be:d4:09

实验步骤:

首先打开ettercap的dns文件进行编辑,在kali,linux2.0下的文件路径为/etc/ettercap/etter.dns:

在对应的位置添加对应的标识和IP地址, * 代表所有域名。

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包,需要点击下方链接即可前往获取

读者福利 | 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述
在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)
在这里插入图片描述

在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

在这里插入图片描述

黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

读者福利 | 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

### 防御Kali Linux ARP攻击的方法 #### 使用静态ARP条目防止MAC地址被篡改 为了有效抵御ARP欺骗攻击,可以配置静态ARP条目来固定IP地址与MAC地址之间的对应关系。这能阻止恶意节点发送伪造的ARP响应报文影响正常的通信流程[^3]。 ```bash sudo arp -s <target_ip> <target_mac> ``` 例如,在终端执行如下命令设置静态ARP记录: ```bash sudo arp -s 192.168.1.100 00:aa:bb:cc:dd:ee ``` #### 启用操作系统自带的安全特性 现代操作系统通常具备一些防范措施,如Windows系统的“保护模式”,Linux下的`arp_ignore`参数以及`arp_announce`策略等。调整这些选项有助于增强系统抵抗ARP欺骗的能力[^4]。 对于Linux环境而言,可以通过修改sysctl变量加强安全性: ```bash echo "net.ipv4.conf.all.arp_ignore = 1" | sudo tee -a /etc/sysctl.conf echo "net.ipv4.conf.default.arp_ignore = 1" | sudo tee -a /etc/sysctl.conf echo "net.ipv4.conf.all.arp_announce = 2" | sudo tee -a /etc/sysctl.conf echo "net.ipv4.conf.default.arp_announce = 2" | sudo tee -a /etc/sysctl.conf sudo sysctl -p ``` 上述操作会使得只有当接口接收到发往其自身的广播或单播请求时才会回复ARP应答;同时指定优先使用本地直连子内的地址作为源地址进行ARP查询回应。 #### 应用第三方防护软件 除了依靠OS本身的功能外,还可以部署专门设计用来检测预防此类威胁的应用程序。Arpwatch就是一个典型例子,它可以持续监控网络活动中的任何异常变化并及时发出警告通知管理员采取行动[^2]。 安装Arpwatch的方式取决于具体发行版,以下是Debian系Linux的一般做法: ```bash sudo apt-get update && sudo apt-get install arpwatch ``` 启动服务并将之设为开机自启状态: ```bash sudo systemctl start arpwatch.service sudo systemctl enable arpwatch.service ``` 此外还有其他更高级别的解决方案可供选择,比如Snort入侵检测系统配合ET Pro规则集能够提供更为全面细致的日志分析功能,帮助识别潜在风险点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值