ARP欺骗的多种手法

学习参考:

ARP欺骗的各种d玩法-CSDN博客

https://juejin.cn/post/7383702153892954164

一、什么是ARP欺骗

1.什么是ARP?

ARP (Address Resolution Protocol) 是一种网络层协议,用于将 IP 地址转换为物理地址(MAC
地址)。在局域网中,每台设备都有唯一的 MAC 地址,而 IP 地址是可以重复分配的。

因此,当一个设备需要发送数据到另一个设备时,它需要知道另一个设备的MAC 地址。

2.什么是ARP欺骗?

ARP欺骗(ARP spoofing),又称ARP毒化(ARP poisoning 网上多译为ARP病毒)或ARP攻击。

ARP 欺骗是一种网络攻击技术,通过发送伪造的 ARP数据包,让目标设备误以为攻击者是其网关或其它设备,从而达到欺骗目标设备的目的。

(针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通)

这样,攻击者就可以截获目标设备发出的数据包,甚至可以修改、篡改数据包中的内容。

ARP欺骗危害:

ARP欺骗木马只需成功感染一台电脑,就可能导致整个局域网都无法上网,严重的甚至可能带来整个网络的瘫痪。该木马发作时除了会导致同一局域网内的其他用户上网出现时断时续的现象外,还会窃取用户密码。如盗取QQ密码、盗取各种网络游戏密码和账号去做金钱交易,盗窃网上银行账号来做非法交易活动等,这是木马的惯用伎俩,给用户造成了很大的不便和巨大的经济损失。

3.APR欺骗的原理

ARP 欺骗攻击通过伪造 ARP 数据包来破坏网络的正常通信,达到攻击的目的。

ARP 欺骗的原理主要基于 ARP 协议的工作原理。

ARP 协议的工作原理:

ARP 协议是通过广播请求来获取目标设备的 MAC 地址的。当一个设备需要发送数据到另一个设备时,它会发送一个 ARP请求,询问局域网内的所有设备,是否有指定 IP 地址对应的 MAC 地址。目标设备收到该请求后,会回复一个 ARP 应答,告诉请求者它的 MAC 地址。

ARP 欺骗利用了这种工作原理,攻击者会发送伪造的 ARP 数据包,将自己伪装成网关或其它设备。目标设备收到伪造的 ARP 数据包后,会将攻击者的 MAC地址映射到目标 IP地址上,并将后续数据包发送给攻击者。攻击者就可以截获目标设备发出的数据包,甚至可以修改、篡改数据包中的内容。

此时,攻击者已经拦截了目标设备和网关之间的数据包传输,并可能对数据包进行抓包,修改或篡改等攻击。同时,攻击者可以再发送伪造的ARP请求,将其它设备的IP映射到自己的MAC地址上,这样攻击者就可以中间人攻击,抓包,篡改等等。

二、ARP欺骗的实现

(一)ARP攻击的实现过程

1、攻击者扫描网络中的 IP 地址和 MAC 地址。

2、攻击者构造伪造的 ARP 数据包,其中包含网络中其他设备的 IP 地址和攻击者自己的 MAC 地址。

3、攻击者发送伪造的 ARP 数据包到网络中。

4、被攻击的设备接收到伪造的 ARP 数据包,并更新其 ARP 缓存表。

5、之后,被攻击的设备将数据包发送攻击者控制的设备上,而不是真正的目标设备,因此攻击者可以截获网络流量并篡改数据包。

(二)ARP欺骗的攻击方法

1.中间人攻击 :通过 ARP 欺骗,攻击者可以成为网络中的中间人,收集网络流量篡改数据包

2.数据劫持 :攻击者可以通过 ARP 欺骗来获取网络中的敏感信息,如用户名和密码。

3.欺骗DNS :攻击者可以通过 ARP 欺骗来重定向 DNS 请求到攻击者控制的服务器上。

4.后门攻击 :攻击者可以通过 ARP 欺骗来在网络中放置后门,进一步控制被攻击主机。

5.分布式拒绝服务攻击 (DDoS) :攻击者可以通过控制多台设备进行 ARP 欺骗来发起 DDoS 攻击。

三、ARP欺骗的模拟实验

主要参数:
-a # 主机 :显示 arp 缓冲区的所有条目;
-H # 地址类型 :指定 arp 指令使用的地址类型;
-d # 主机 :从 arp 缓冲区中删除指定主机的 arp 条目;
-D # 使用指定接口的硬件地址;
-e # 以 Linux 的显示风格显示 arp 缓冲区中的条目;
-i # 接口 :指定要操作 arp 缓冲区的网络接口;
-s # 主机 MAC 地址 :设置指定的主机的 IP 地址与 MAC 地址的静态映射;
-n # 以数字方式显示 arp 缓冲区中的条目;
-v # 显示详细的 arp 缓冲区条目,包括缓冲区条目的统计信息;
-f # 文件 :设置主机的 IP 地址与 MAC 地址的静态映射。

虚拟机准备:        ip                                        网关

攻击机:kali          192.168.3.45                     

靶机:win7            192.168.3.44                    192.168.3.1

两虚拟机设置桥接模式

使用arp -a 查看网关mac

工具准备:arpspoof

语法
arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host参数
-i interface:指定要用于发送欺骗数据包的网络接口(eth0...)
-c own|host|both:控制是否将欺骗信息发送给目标主机或路由器,或者两者都发送。
(own表示仅欺骗目标主机;host表示仅欺骗路由器;both表示同时欺骗两者)
-t target:指定要欺骗的目标IP地址。
-r:用于在主机和目标之间进行双向ARP欺骗。
host:想要欺骗的主机的IP地址。

1.ARP断网

靶机能ping通百度,说明网络环境没问题

下面开始断网攻击

arpspoof  -i    eth0   -t  192.168.3.44 192.168.3.1
语法:
arpspoof   -i   网卡   -t    目标IP    网关也可以使用反向欺骗:
arpspoof   -i   网卡   -t    网关    目标IP

可欺骗win7的arp缓存表,导致win7不能上网,这是最常用的ARP断网技术。

win7不能上网的原因是linux默认不转发数据,即 此时的kali不转发网关和win7之间的数据导致win7无法上网。

在win7上查看arp -a 查看可以发现,网关的mac地址与kali的mac地址一样,证明欺骗成功 。

攻击成功后,目标主机断网“请求超时”

攻击机中ctrl(+shift)+c 停止后又可以访问

2.限制网速

使被欺骗的主机能够正常访问网站需要开启路由转发功能:

在使用arp欺骗前先开启Kali的IP转发:(开启后靶机不会断网)

echo 1 > /proc/sys/net/ipv4/ip_forward
查看是否开启:
cat /proc/sys/net/ipv4/ip_forward

/proc/sys/net/ipv4/ip_forward 是配置文件,默认内容为0,表示IP转发是关闭的,使用上述命令将该配置文件的内容改写为1,表示开启IP转发。

关闭路由转发功能

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

开启IP转发后 靶机访问网络需要经过攻击机的网卡,

于是攻击机限制自己网卡的速度或者转发的速度也就可以限制靶机。

使用工具tc限制网速(tc是通过限制自己网卡的速度来限制对方的)

限制网速200ms延时
sudo tc qdisc add dev eth0 root netem delay 200ms取消限制网速200ms延时
sudo tc qdisc del dev eth0 root netem delay 200ms参数:
qdisc:排队规则
add:添加
dev:设备(网卡)
root:root用户身份
netem delay:设置网络延时时间

我这里已经是root账户,可不加sudo

限制网速200ms延时,使用arpspoof发现靶机被限速,证明攻击成功

3.嗅探流量

什么叫流量嗅探?

流量中包含着敏感数据,攻击者在不入侵你计算机的情况下获得敏感数据,这个过程叫流量嗅探。

同样的在使用arp欺骗前 先开启Kali的IP转发

开启IP转发后 流量会经过kali的主机而后再去到目标,

这时开启arpspoof进行欺骗后目标就不会断网,此时kali可拦截相关受害者主机相关信息,开启wireshark拦截受害者ping数据。

arpspoof -i eth0 -t 172.16.17.139 172.16.17.254
过滤来自靶机的流量:
ip.addr==172.16.17.139

4.嗅探图片

使用driftnet来嗅探图片,它可以展示流经网卡的图片,严格来说是把流经网卡的图片数据还原为图片,即win7上网看到的图片。

安装driftnet:

我用24年的kali,直接装会报错

需要先改一下源(以中科大为例)

24中科大Kali镜像源:
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib

重启kali后使用命令安装:

apt-get install driftnet

如果还是装不下来可以先更新一下源:

apt-get upgrade

使用driftnet -i eth0 来窃取受害者网络中传输的图片,图片以小窗口的形式显示。

  安装: sudo apt install driftnetdriftnet -help --获取使用文档语法: driftnet   [options]   [filter code]主要参数:-b 捕获到新的图片时发出嘟嘟声-i  interface     选择监听接口-f  file   读取一个指定pcap数据包中的图片-p  不让所监听的接口使用混杂模式-a  后台模式:将捕获的图片保存到目录中(不会显示在屏幕上)-m number 指定保存图片数的数目-d directory  指定保存图片的路径-x prefix  指定保存图片的前缀名

实时抓取图片

第一步,开启数据转发

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

第二步,arp欺骗

arpspoof -i eth0 -t 192.168.158.56 198.168.158.52

第三步,driftnet实时抓取图片

driftnet -i eth0   #eth0是要抓的网卡

但是这个工具公认的难用,没抓到图片

保存抓取下来的图片

操作同上,改变一下driftnet的命令

driftnet -i eth0 -a -d /tmp/win7

5.嗅探访问的URL

webspy:使用webspy嗅探受害者访问了哪些网页。

操作同嗅探图片 ,然后使用webspy来抓,但是只能抓取一次。

webspy -i eth0 192.168.158.56

urlsnarf(既能抓URL也能抓图片)

使用urlsnarf嗅探受害者访问了哪些网页,默认抓取80、8080、3128端口的数据。
开启路由转发功能,使用arpspoof开启欺骗,然后使用urlsnarf来抓,这个工具好用一些

urlsnarf -i eth0

6.dsniff 嗅探账密

当网络中出现了填写账号密码的数据时,dsniff工具就开始截获数据,-m参数会解析网络协议。
开启路由转发功能,使用arpspoof开启欺骗,然后使用dsniff来抓。
注意:dsniff不会实时显示结果,当在win7中输入quit的时候dsniff才会显示结果

dsniff -i eth0 -m

可以发现,当用户登录时成功获取到了账号和密码。

ftp>open 115.146.60.252
//尝试连接到IP地址为115.146.60.252的FTP服务器。
//这是FTP客户端用来初始化与服务器通信的标准命令。连接成功就能够登录到该服务器,并进行文件的上传、下载等操作

7.dns欺骗

dnsspoof启用DNS欺骗,如果是请求解析某个域名,dnsspoof会让该域名重新指向另一个IP地址(黑客所控制的主机),如果dnsspoof嗅探到局域网内有DNS请求数据包,它会分析其内容,并用伪造的DNS响应包来回复请求者。
由于dns查询是客户机向网关发起请求,所以如果要在局域网中实现DNS欺骗,前提仍然是arp欺骗。

arpspoof -i eth0 -t 172.16.17.139 172.16.17.254  //ip 网关

e.g 攻击目的:当靶机访问百度的时候会被我们劫持

(1)vim编辑 dnsspoof 配置文件

updatedb	            //更新locate的数据库
locate dnsspoof.host	//使用locate命令定位文件位置

vim /usr/share/dsniff/dnsspoof.hosts //使用vim编辑配置文件
//用法: i插入模式——>ESC——>:wq——>回车保存并退出

(2)kali上开启apache服务,让受害者可以访问到页面

systemctl start apache2.service

(3)发起DNS欺骗

dnsspoof -i eth0 -f /usr/share/dsniff/dnsspoof.hosts-i参数指定网卡,-f调用配置文件
udp dst port 53
//kali机会监听eth0网卡中发往udp53端口的数据包

四、Ettercap的使用

kali自带

ettercap是一种网络嗅探器和中间人攻击工具,通常用于网络安全测试和攻击。它可以捕获网络流量并进行分析,同时还可以修改和重定向流量以执行中间人攻击。

使用ettercap,攻击者可以轻松地欺骗受害者,从而获取敏感信息,例如登录凭据、信用卡号码等。同时,ettercap也可以用作网络安全工具,以检测和纠正网络漏洞和安全漏洞。

使用ettercap进行ARP欺骗攻击实验(保姆级教程)-CSDN博客

启动 Ettercap

在终端中输入以下命令启动 Ettercap 图形界面:

sudo ettercap -G

选择eth0后点击右上方的 √ ,然后点击左上方的🔍扫描该网段的所有主机信息

然后点击🔍右面的hosts-list查看扫描结果,可以看到,已经将win7的ip 172.16.17.139扫描出来了

1.ARP欺骗

进行 ARP欺骗,分别将靶机网关ip 172.16.17.254和Win7ip 172.16.17.139 分别添加为Target1和Target2

点击小地球图标(MITM menu)中选择ARP Poisoning

点击ok开始攻击,成功

查看Win7的mac地址已经变成了攻击机kali的mac地址,win7可以连网

打开ettercap的终端不要关闭,关闭了就不能继续进行欺骗攻击了

wireshark 嗅探流量

dsniff 嗅探账密

ARP实验均可实现。

2.DNS欺骗

e.g 攻击目的:使得win7的网络访问转移到攻击机Kali上

(1)vim编辑 etter.dns 配置文件

locate etter.dns  //使用locate命令定位文件位置

sudo vim /etc/ettercap/etter.dns  //使用vim编辑配置文件

将攻击机kali的ip地址172.16.17.227添加到如下位置,保存退出

打开kali的apache服务

systemctl start apache2.service

在ettercap上进行DNS劫持

点击右上方的三个竖排点,选择plugins——>Manage plugins

双击选择攻击模式 dns_spoof

在win7上访问百度,通过ping 发现响应包不正常了(ddc5)是kali的(962f)说明DNS劫持成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/56244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

paddlepaddle显存未正常释放

NVIDIA GPU 显存未正常释放 问题描述 paddlepaddle 训练过程出现问题中断等导致GPU显存没有释放。 情况1: 使用nvidia-smi -l查看显存占用情况,输出结果中没有显示PID,但是有显存占用。 解决方法 使用killall python 直接kill掉所有python进程。假如运行此命…

LINUX——内核移植、内核编译教程

Linux内核编译是一个将内核源代码转换成可在特定硬件架构上运行的二进制文件的过程。以下是编译Linux内核的一般步骤: 1、准备工作: 确保安装了必要的编译工具,如gcc、make、ncurses库(用于make menuconfig)等。 2、…

点云深度学习系列:4DenoiseNet——考虑时空维度的去雪模型

文章:4DenoiseNet: Adverse Weather Denoising From Adjacent Point Clouds 代码:https://github.com/alvariseppanen/4DenoiseNet 1)摘要 可靠的点云数据对于感知任务至关重要,例如在机器人和自动驾驶应用中。恶劣天气会导致特定…

giugughk

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

基于Arduino的智能眼镜

基于Arduino的智能眼镜 制作智能眼镜 大家好,今天我要和大家分享一个非常有趣的项目——使用Arduino Nano制作智能眼镜。这个项目结合了电子技术和编程,是DIY爱好者的完美选择。以下是如何构建这款智能眼镜的基本概述。 实物图: 智能眼镜的…

ESP8266使用AT指令完成MQTT功能

ESP8266使用AT指令完成MQTT功能 在esp8266设备中烧录安信可的AT固件之后,进行AT指令完成信息发布,并最终实现在Homeassistant中发布传感器并设置传感器状态。 一、基础指令 以下是完整的步骤和对应的AT指令: 1. 配置ESP8266为Station模式 …

贪吃蛇游戏(代码篇)

我们并不是为了满足别人的期待而活着。 前言 这是我自己做的第五个小项目---贪吃蛇游戏(代码篇)。后期我会继续制作其他小项目并开源至博客上。 上一小项目是贪吃蛇游戏(必备知识篇),没看过的同学可以去看看&#xf…

多态对象的存储方案小结

某个类型有几种不同的子类,Jackson中的JsonTypeInfo 和JsonSubTypes可以应对这种情形,但有点麻烦,并且name属性必须是字符串、必须用Jackson为基础的json工具类对json字符串和对象进行序列化和反序列化。用过一次这种方案后边就不想再用了。 …

【Python数据结构】深入理解Python中的列表、字典和集合!

【Python数据结构】深入理解Python中的列表、字典和集合! 在Python编程中,数据结构是处理和组织数据的核心部分。Python提供了许多内置的数据结构,如列表、字典和集合,它们为程序员提供了灵活、高效的数据管理方式。本篇博客将深…

如何实现简单的 WinCC 项目分屏?

说明: 本文主要介绍了在不使用分屏器的情况下,通过 WinCC 项目中的设置,实现简单的分屏操作。两台显示器分别显示不同的 WinCC 画面,独自操作,互不影响。 试验环境 : 本文试验时所用硬件及软件环境…

Ubuntu如何显示pcl版本

终端输入: apt-cache show libpcl-dev可以看到,Ubuntu20.04,下载的pcl,应该都是1.10版本的

机器学习可解释性

机器学习的稳健性、可解释性和结果正确性等是人工智能安全可信应用必须解决的关键问题。 传统机器学习: 内置可解释性:决策树IF-Then规则,直观可理解事后可解释性:训练结束后的可解释技术特定于模型体系结构的解释与解释方法及模…

VS Code设置右侧滚动条高亮选中的字符位置

打开菜单“文件 -> 首选项 -> 设置”, 搜索“hightlight”,扩展中的Highlight Selections,再点击“在 settings.json中编辑”, 将editor.selectionHighlight选项改为true保存即可

【读书笔记·VLSI电路设计方法解密】问题12:制造MOSFET晶体管的主要工艺步骤是什么

VLSI芯片是在半导体材料上制造的,这种材料的导电性介于绝缘体和导体之间。通过一种称为掺杂的工艺引入杂质,可以改变半导体的电气特性。能够在半导体材料的细小且定义明确的区域内控制导电性,促使了半导体器件的发展。结合更简单的无源元件(电阻、电容和电感),这些器件被…

股市入门常见术语介绍

鉴于最近行情讨论火热,我也想借此平台,结合我大学时期身边同学老师的投资经历,写一篇交易入门术语简介。内容不多但是足以达到科普之用。 ​ 希望大家能谨慎对待投资,始终保持谦虚学习的态度。不要迷失在瞬息万变的金融市场&…

Redis拒绝连接问题分析与解决方案

目录 前言1. 问题描述2. Redis拒绝连接的常见原因分析2.1 Redis服务未启动2.2 Redis配置中的绑定地址问题2.3 防火墙或安全组问题2.4 Redis连接池耗尽2.5 Redis服务器负载过高2.6 权限配置问题 3. 深度解决方案和优化建议4. 总结 前言 在分布式系统中,Redis作为高性…

游戏服务端架构演进

文章目录 前言初出茅庐粗通皮毛略有小成炉火纯青内劲深厚最后 前言 对于网络游戏,一般分为客户端和服务端,客户端主要负责界面图像的渲染与一些交互操作,服务端主要负责数据的业务处理与存储还有与客户端之间的信息交互 比如玩家聊天、广播…

黑马程序员-redis项目实践笔记1

目录 一、 基于Session实现登录 发送验证码 验证用户输入验证码 校验登录状态 Redis代替Session登录 发送验证码修改 验证用户输入验证码 登录拦截器的优化 二、 商铺查询缓存 缓存更新策略 数据库和缓存不一致解决方案 缓存更新策略的最佳实践方案 实现商铺缓…

TS中如何正确处理window类型

在Typescript项目中,你可能都遇到过这个错误: Window & typeof globalThis 类型上不存在属性 X。 快速修复方案 我们将介绍几种不同的解决方案来解决这个问题。 Window 接口是在名为 lib.dom.d.ts 的文件中全局定义的。你可以使用各种技术来更改它&a…

Windows 11 24H2版本有哪些新功能_Windows 11 24H2十四大新功能介绍

距离上次发布的23H2版本已经过去了一年时间,现在,Win 11的24H2版本终于等到了,微软已经全面公开发布Win11 24H2版本,版本号为26100.1742,此次官宣的版本包括了消费者版、商业版、LTSC 2024版等,各种语言版本…