目录
前言
一、ARP概述
1.1 什么是ARP
1.2 ARP协议的基本功能
1.3 ARP缓存表
1.4 ARP常用命令
二、ARP断网实验
三、ARP欺骗实验
3.1 内网截获图片
3.2 HTTP账户密码获取
四、DNS欺骗实验
总结
🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。
💡本文由Filotimo__✍️原创,首发于CSDN📚。
📣如需转载,请事先与我联系以获得授权⚠️。
🎁欢迎大家给我点赞👍、收藏⭐️,并在留言区📝与我互动,这些都是我前进的动力!
🌟我的格言:森林草木都有自己认为对的角度🌟。
前言
在这篇博客中,我介绍了ARP断网、ARP欺骗和DNS欺骗这几种常见的网络攻击方式。然而,需要明确的是,这些实验仅仅是出于教育和研究目的,并且应以合法和道德的方式进行。
实验中模拟的攻击行为仅仅是为了让读者了解和认识这些网络攻击方式,以提高对网络安全的认识和意识。请不要将这些技术用于未经授权的活动,也不要对他人造成任何形式的伤害或损失。
实验中涉及的工具和方法仅仅是为了演示攻击原理和展示可能的防御措施。在进行任何实际部署和操作中,请务必遵守法律法规,仅在授权范围内进行操作。
这是本篇文章的脉络图:
一、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欺骗攻击。
三、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
进行ARP欺骗:arpspoof -i eth0 -t 192.168.216.128 192.168.216.2
因为开启了ip流量转发,所以此时win7是可以上网的(与ARP断网攻击的不同)。
此时,我的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中,还有许多参数和插件可供配置和使用,具体可参考其文档和官方网站。
四、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:
点一下ok
(10)双击运行dns_spoof,开启欺骗。
总结
虽然ARP断网、ARP欺骗和DNS欺骗等网络攻击方式是存在的,但需要明确的是,这些攻击方式应该被视为潜在的威胁,而不是普遍存在的风险。
网络安全是一个重要的问题,我们都应该关注和保护自己的网络安全。在日常使用互联网时,我们可以采取一些预防措施来减少风险。首先,保持操作系统和应用程序的更新,以获取最新的安全补丁和修复程序。其次,使用强密码,并定期更改密码。另外,谨慎点击来自不明来源的邮件和链接,避免下载和安装可疑的软件。此外,启用防火墙、安装安全软件和使用虚拟专用网络(VPN)等也是有效的安全措施。