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.rhkb.cn/news/447858.html

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

相关文章

湖科大-计网真题笔记

09 序列号不涉及首部

前端开发笔记-- 黑马程序员4

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 css 三角写法用户界面鼠标样式取消表单轮廓vertical-align文本溢出 html5 新标签多媒体标签视频标签![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d85d…

深入解析 HashMap 的 remove() 方法及其相关实现

HashMap 是 Java 中最常用的集合类之一,它提供了高效的键值对存储和检索功能。本文将详细解析 HashMap 的 remove() 方法及其相关的内部实现,包括 removeNode() 和 removeTreeNode() 方法。通过这些方法,我们可以了解 HashMap 如何高效地移除…

中国剩余定理 C++

题目 解题思路 原链接:https://www.acwing.com/solution/content/3539/ 大致步骤: 将第2,3,4…n个方程不断与第一个方程合并,得到方程a1k1a2k2m2-m1;用扩展欧几里得算法解出a1k1a2k2gcd(a1, a2)的结果,再将结果扩大(m2-m1)/d倍即…

Linux:进程控制(三)——进程程序替换

目录 一、概念 二、使用 1.单进程程序替换 2.多进程程序替换 3.exec接口 4.execle 一、概念 背景 当前进程在运行的时候,所执行的代码来自于自己的源文件。使用fork创建子进程后,子进程执行的程序中代码内容和父进程是相同的,如果子进…

12.2 Linux_进程间通信_共享内存

概述 什么是共享内存: 共享内存又叫内存映射,可以通过mmap()映射普通文件。 实际上就是将磁盘中的一个文件映射到内存的一个缓冲区中去,这样进程就可以直接将这块空间当作普通内存来访问,不需要再使用I/O中的read/write去访问这…

CV实战01 YOLOv5实现图像分割

网上翻了一天,没找到称心的教程,最后发现还是Ultralytics官方的教程文档好用!这里贴上官方教程一起学习! 【1:找到官方教程文档】 yolov5官方下载地址:GitHub - ultralytics/yolov5: YOLOv5 &#x1f680…

数字后端零基础入门系列 | Innovus零基础LAB学习Day1

一 Floorplan 数字IC后端设计如何从零基础快速入门?(内附数字IC后端学习视频) Lab5-1这个lab学习目标很明确——启动Innovus工具并完成设计的导入。 在进入lab之前,我们需要进入我们的FPR工作目录。 其中ic062为个人服务器账户。比如你端…

多线程代码案例

案例一.单例模式 单例模式是一种设计模式;类似于棋谱,有固定套路,针对一些特定场景可以给出一些比较好的解决方案; 只要按照设计模式来写代码,就可以保证代码不会太差,保证了代码的下限; --------------------------------------------------------------------------------…

【优选算法】(第三十六篇)

目录 ⼆叉树的锯⻮形层序遍历(medium) 题目解析 讲解算法原理 编写代码 ⼆叉树的最⼤宽度(medium) 题目解析 讲解算法原理 编写代码 ⼆叉树的锯⻮形层序遍历(medium) 题目解析 1.题目链接&#xf…

植物大战僵尸杂交版

最新版植物大战僵尸杂交版 最近本款游戏火爆 下载资源如下: win版本:2.3.7 链接:下载地址 提取码:9N3P Mac(苹果版本):2.0.0 链接:下载地址 提取码:Bjaa 介绍&#xff…

mysql/doris 计算两个时间相差n天n时n分示范

mysql/doris 计算两个时间相差n天n时n分示范 两个时间:so.create_time,so.update_time CONCAT(FLOOR(DATEDIFF(HOUR ,so.create_time,so.update_time)/24),天,DATEDIFF(HOUR ,so.create_time,so.update_time)%24,时,DATEDIFF(MINUTE ,so.create_time,so…

【重学 MySQL】六十六、外键约束的使用

【重学 MySQL】六十六、外键约束的使用 外键约束的概念关键字主表和从表/父表和子表外键约束的创建条件外键约束的特点外键约束的创建方式外键约束的删除外键约束的约束等级外键约束的级联操作外键约束的示例外键约束的作用开发场景阿里开发规范 在MySQL中,外键约束…

(已解决)vscode使用launch.json进行debug调试报错:Couldn‘t spawn debuggee:embedded null byte

Launch.json 进行debug时报错: 主要原因是vscode全局配置被整乱了,下面是个人解决的方法,以供参考. 在网上也寻找过解决方法,有的说是,在launch.json中,添加一行"python":"/root/miniconda3…

git版本控制软件,操作方法

git版本库操作 1. 注册用户信息 git config --global (邮箱和用户名) 2. 创建工作区 git init 3. 编写文件 vim readme.txt 4. 把文件放到暂存区 git add readme.txt 5. 查看工作区状态 git status 6. 把文件放到本地版本库里 git commit -m "" filename 7. 查看日志…

总结拓展十四:批次管理(2)

1、批次管理后台配置 1.1 批次管理级别配置(T-code:OMTC) ——路径:IMG->后勤-常规->批次管理->指定级别并激活状态管理 1.2 批次状态管理配置(T-code:OMTC) ——路径:IMG->后勤-常规->批次管理->指定级别并激活状态管理 批状态管…

2.1.ReactOS系统NtReadFile函数的实现。

ReactOS系统NtReadFile函数的实现。 ReactOS系统NtReadFile函数的实现。 文章目录 ReactOS系统NtReadFile函数的实现。NtReadFile函数的定义NtReadFile函数的实现 NtReadFile()是windows的一个系统调用,内核中有一个叫NtReadFile的函数 NtReadFile函数的定义 NTS…

【Go初阶】两万字快速入门Go语言

初见golang语法 package mainimport "fmt"func main() {/* 简单的程序 万能的hello world */fmt.Println("Hello Go")} 第一行代码package main定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main…

如何捕捉行情爆发的前兆

在金融市场的激烈角逐中,每一次行情的爆发都是投资者获取丰厚回报的关键时刻。然而,如何识别并把握这些时刻,却是一门需要深厚金融专业知识和敏锐洞察力的艺术。今天,我们就来深入探讨行情爆发的初期信号,揭示那些能够…

【Linux】嵌入式Linux系统的组成、u-boot编译

Linux—嵌入式Linux系统的组成、u-boot编译 前言一、嵌入式Linux系统的组成1.1 嵌入式Linux系统和PC完整的操作系统的对比如下:1.2 PC机—Windows系统启动流程(PC机—Linux系统、嵌入式ARM—linux系统的启动流程类似) 二、编译u-boot2.1 u-bo…