探索网络攻击:ARP断网、ARP欺骗和DNS欺骗实验解析

简介: 在这篇博客中,我介绍了ARP断网、ARP欺骗和DNS欺骗这几种常见的网络攻击方式。然而,需要明确的是,这些实验仅仅是出于教育和研究目的,并且应以合法和道德的方式进行。

前言

在这篇博客中,我介绍了ARP断网、ARP欺骗和DNS欺骗这几种常见的网络攻击方式。然而,需要明确的是,这些实验仅仅是出于教育和研究目的,并且应以合法和道德的方式进行。

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

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

这是本篇文章的脉络图:

image.png


一、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'

image.gif

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

image.png

(2)

'arp -a <ip>'

image.gif

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

image.png

二、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

image.gif

image.png

或者用nmap扫描:

nmap -sn 192.168.216.0/24

image.gif

image.png

2.2

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

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

image.gif

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

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

image.png

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

image.png

2.3

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

这是原来的mac地址:

image.png

这是现在的mac地址:

image.png

三、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

image.gif

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

#net.ipv4.ip_forward=1

image.gif

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

net.ipv4.ip_forward=1

image.gif

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

image.png

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

sudo sysctl -p /etc/sysctl.conf

image.gif

image.png

3.1.2

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

image.png

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

image.png

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

image.png

3.1.3

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

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

在kali运行以下命令:

driftnet –i eth0

image.gif

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

image.png


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

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

3.2 HTTP账户密码获取

实验步骤:

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

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

ettercap -Tq -i eth0

image.gif

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

启动ettercap:

image.png


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

image.pngimage.gif

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

image.png


四、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:

image.png


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

image.png


在kali终端输入命令/etc/init.d/apache2 start 来启动apache2 服务器。

image.png


(1)输入命令ettercap -G来进入ettercap的图形界面。

image.png


(2)点击右上角的勾。

image.png


(3)扫描网关下的所有在线的计算机主机。

image.png


(4)继续打开Hosts选项,列出扫到的主机,点击上面三横杠。

image.png


(5)在列表里选择网关进行添加,我这里的网关是192.168.216.2,先点击一下。然后点击 Add to target 1。

image.png


(6)然后选择目标的IP地址。

image.png


(7)按图操作,即可进行arp欺骗了

image.png


点一下ok

image.png


(8)可以看到目标机win7的网关mac地址已是攻击机kali的mac地址了(192.168.216.2是win7网关ip,192.168.216.129是kali的ip)。

image.png


(9)进行如下操作,就可进行dns欺骗了。

image.png


image.png

image.gif

(10)双击运行dns_spoof,开启欺骗。

image.png

(11)欺骗成功后,ping 任何.com结尾的网址,都会被解析成攻击机kali的地址。

这是欺骗之前,ping百度的结果:

image.png

这是现在,欺骗成功之后,ping百度的结果:

image.png


总结

虽然ARP断网、ARP欺骗和DNS欺骗等网络攻击方式是存在的,但需要明确的是,这些攻击方式应该被视为潜在的威胁,而不是普遍存在的风险。

网络安全是一个重要的问题,我们都应该关注和保护自己的网络安全。在日常使用互联网时,我们可以采取一些预防措施来减少风险。首先,保持操作系统和应用程序的更新,以获取最新的安全补丁和修复程序。其次,使用强密码,并定期更改密码。另外,谨慎点击来自不明来源的邮件和链接,避免下载和安装可疑的软件。此外,启用防火墙、安装安全软件和使用虚拟专用网络(VPN)等也是有效的安全措施。

目录
相关文章
|
10月前
|
域名解析 存储 网络协议
域名解析的终极指南:从基础到进阶,彻底搞懂 DNS 记录
域名解析是网站运行的基础,正确配置DNS记录至关重要。本文从基础到进阶全面解析DNS知识,涵盖A、AAAA、CNAME、MX、TXT、CAA等常见记录类型及其应用场景。通过学习,你将了解DNS的工作原理,掌握如何优化域名配置,确保网站与邮件服务高效运行。无论搭建个人博客还是企业官网,本文都能助你轻松搞定域名解析!
2385 0
|
9月前
|
域名解析 网络协议 网络安全
SSL证书验证全攻略:DNS/HTTP/手动解析怎么选?
SSL证书在网络安全中至关重要,1Panel提供三种验证方式:DNS验证、HTTP验证和手动解析。DNS验证便捷,适合CDN网站;HTTP验证快速,需服务器在线;手动解析灵活,但操作复杂。根据需求选择合适确认方式,定期检查证书状态。
974 2
|
11月前
|
域名解析 存储 缓存
深入学习 DNS 域名解析
在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。
|
9月前
|
网络协议 安全 Linux
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
2684 0
|
12月前
|
负载均衡 网络协议 容灾
【飞天技术沙龙】云解析 DNS 上海站《多云+IDC 融合场景下的 DNS 最佳实践》圆满落幕
【飞天技术沙龙】云解析 DNS 上海站《多云+IDC 融合场景下的 DNS 最佳实践》圆满落幕
288 0
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
293 4
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
【10月更文挑战第27天】计算机主机网关的作用类似于小区传达室的李大爷,负责将内部网络的请求转发到外部网络。当小区内的小不点想与外面的小明通话时,必须通过李大爷(网关)进行联系。网关不仅帮助内部设备与外部通信,还负责路由选择,确保数据包高效传输。此外,网关还参与路由表的维护和更新,确保网络路径的准确性。
306 2
|
11月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1067 29
|
11月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
455 4
|
11月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

推荐镜像

更多
  • DNS