网络安全--使用Kali进行ARP欺骗(详细教程)

Posted 懷淰メ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络安全--使用Kali进行ARP欺骗(详细教程)相关的知识,希望对你有一定的参考价值。

文章目录


一.前言

本次依然使用Kali系统演示ARP欺骗,导致局域网目标设备无法上网。
根据我国《刑法》第二百八十六条的规定,违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役,后果特别严重的,处五年以上有期徒刑。 谨慎操作,请勿违法!

二.准备

1.虚拟机

使用Windows主流虚拟机软件:VMware虚拟机

产品:VMware® Workstation 16 Pro
版本:16.2.3 build-19376536

2.系统

Kali系统

3.网络环境

要想进行局域网攻击,攻击设备和被攻击设备一定要在一个局域网中,即处于同一网段。被攻击者可以是Windows、Linux,MAC还未测试。
本次的攻击者:

字段内容
攻击者Kali
类型虚拟机
IP192.168.123.118

本次的被攻击者(靶机):

字段内容
被攻击者Windows10
类型物理主机
IP192.168.123.24

三.原理

1.ARP协议

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。——摘自百度

2.具体原理

第一步:假设主机A访问某网站,那么要告知某网站我的IP和MAC地址,但这是以广播的方式告知的;
第二步,由于是广播方式告知,猥琐的B主机也知道了A的IP和Mac地址,于是猥琐的B主机把自己伪装成某网站,给A发送回复,A误以为B就是某网站,因此更新了自己本机的ARP缓存;
第三步,两者建立连接,A不断将自己的请求发给B,可怜的某网站被挂在一边了。如果B又把自己伪装成主机A,从而转发A的请求给某网站,然后网站C再回复给"A"(实为主机B)转发给A,那相当于A的流量都从B经过,这就是步骤4,因此B可以实现会话劫持;如果B给A的是一个假地址,那么A就永远上不了网了。

四.实战

1.实战准备

1.1扫描可攻击的目标

在Kali终端输入,

fping -asg 192.168.123.0/24

扫描可攻击的目标,发现有四台是存活的


其中192.168.123.1为网关 192.168.123.24为本次目标Windows10主机 192.168.123.118为Kali局域网IP

1.2查看目标IP

上一步已经扫描出来了所有局域网IP,本次操作是为了确认目标(靶机)IP,防止误伤。
在Windows10的命令提示符输入

ipconfig

查看本机的局域网IP,确认一下

2.开始实战

在Kali终端中输入

arpspoof -i 网卡 -t 靶机IP地址 网关

我的就是

arpspoof -i eth0 -t 192.168.123.24 192.168.123.1

解释一下参数:

字段内容
-i指定网卡
-t持续不断攻击

3.效果

3.1Kali

Kali中持续不断地发送arp应答包,进行ARP欺骗

3.2Windows10

Windows10已经无法进行网络访问了,QQ也掉线了

在Windows10的DOS中输入

arp -a

查看局域网中的IP-MAC对照表


发现Win10的192.168.123.1(网关)的MAC地址已经变成了Kali eth0网卡的MAC地址

4.停止攻击

在Kali终端按下Ctrl+c即可

5.验证

再次在Windows10的DOS中输入

arp -a


网关的MAC已经变回来了,因为ARP欺骗停止了,也证明了我们刚才的ARP欺骗成功了!

五.总结

本次使用Kali系统演示了ARP欺骗的全过程,实验结果满足预期,期间也参考了一些资料,如果有哪些地方不对的或者有更好的改进方法,请指出,让我们共同努力,一起进步!

六.参考

Kali下进行局域网断网攻击

kali局域网攻击

Kali局域网断网攻击

kali工具fping的简单使用之扫描IP

linux 断网 扫描基本命令

kali使用arpspoof命令进行ARP欺骗。

 

做法是获取目标主机IP镜像流量,再进行ARP欺骗。

 

此次测试实在局域网中进行,使用kali虚拟机和Windows10物理机测试。

 

最终效果是利用kali干扰物理机不能正常上网。

————————————————————————————————

 

具体方法:

 

1、获取目标主机IP地址及网关。方法非常多,用kali的nmap工具可以进行扫描,不过有点费时间,但是是做测试的不二选择,作为新手,这里我就用自己电脑做测试,Windows下CMD打开命令提示符,输入ipconfig查看本机IP。

物理机IP是192.168.1.112(局域网)
物理机默认网关是192.168.1.1

 

 

2、kali命令行中输入ifconfig查看kali信息如下图:1代表着网卡符号:eth0(数字0不是英文字母O);2代表kali的IP地址192.138.1.115(局域网地址)。

 

 

3、开始对目标主机进行ARP欺骗:

A.攻击前确定我的物理机能上网,我来ping一下百度。


确保可以ping通百度。

B.在kali上使用以下命令:

 

arpspoof -i eth0 -t 192.168.1.112 192.168.1.11

arpspoof命令
后面接上与网络有关的-i(interface)
网卡eth0
目标-t(target)
目标IP:192.168.1.112
目标主机网关192.168.1.1


出现上图界面说明开始对目标进行了ARP欺骗。

 

4、让kali处于3的状态不变,转到物理机验证目标主机是否被欺骗了。


直接找不到百度主机了,这就表示网络流量转发成功。

5、在kali虚拟机中按住:Ctrl+C中断欺骗,此时你的物理机就能正常上网啦。
---------------------

第一步、打开终端,输入以下命令,这个命令是扫描192.168.1.0/24这个网段在线的ip地址。
fping -asg 192.168.1.0/24第二部、你可以找到一个IP地址进行断网测试,或者是使用你自己的网试试,小伙伴的ip也可以哦。这个命令的意思是arp欺骗,欺骗别人发送的arp包都到我的网卡上来,第一个参数是监听本地的eth0网卡,第一个IP是受害者ip,第二个是网关ip
---------------------
2. fping的命令和参数详解

Usage: fping [options] [targets...]
用法:fping [选项] [ping的目标]
   -a         show targets that are alive
               显示可ping通的目标
   -A         show targets by address
               将目标以ip地址的形式显示
   -b n       amount of ping data to send, in bytes (default 56)
               ping 数据包的大小。(默认为56)
   -B f       set exponential backoff factor to f
               设置指数反馈因子到f 【这个不懂,求指教~】
   -c n       count of pings to send to each target (default 1)
                ping每个目标的次数 (默认为1)
   -C n       same as -c, report results in verbose format
                同-c, 返回的结果为冗长格式
   -e         show elapsed time on return packets
                显示返回数据包所费时间
   -f file    read list of targets from a file ( - means stdin) (only if no -g specified)
               从文件获取目标列表( - 表示从标准输入)(不能与 -g 同时使用)
   -g         generate target list (only if no -f specified)
               生成目标列表(不能与 -f 同时使用)
                (specify the start and end IP in the target list, or supply a IP netmask)
                (ex. fping -g 192.168.1.0 192.168.1.255 or fping -g 192.168.1.0/24)
                (可指定目标的开始和结束IP, 或者提供ip的子网掩码)
                (例:fping -g 192.168.1.0 192.168.1.255 或 fping -g 192.168.1.0/24)
   -H n       Set the IP TTL value (Time To Live hops)
                设置ip的TTL值 (生存时间)
   -i n       interval between sending ping packets (in millisec) (default 25)
               ping包之间的间隔(单位:毫秒)(默认25)
   -l         loop sending pings forever
              循环发送ping
   -m         ping multiple interfaces on target host
                ping目标主机的多个网口
   -n         show targets by name (-d is equivalent)
                将目标以主机名或域名显示(等价于 -d )
   -p n       interval between ping packets to one target (in millisec)
                对同一个目标的ping包间隔(毫秒)
                (in looping and counting modes, default 1000)
                (在循环和统计模式中,默认为1000)
   -q         quiet (don\'t show per-target/per-ping results)
               安静模式(不显示每个目标或每个ping的结果)
   -Q n       same as -q, but show summary every n seconds
               同-q, 但是每n秒显示信息概要
   -r n       number of retries (default 3)
               当ping失败时,最大重试次数(默认为3次)
   -s         print final stats
               打印最后的统计数据
   -I if      bind to a particular interface
              绑定到特定的网卡
   -S addr    set source address
                  设置源ip地址
   -t n       individual target initial timeout (in millisec) (default 500)
               单个目标的超时时间(毫秒)(默认500)
   -T n       ignored (for compatibility with fping 2.4)
                请忽略(为兼容fping 2.4)
   -u         show targets that are unreachable
                显示不可到达的目标
   -O n       set the type of service (tos) flag on the ICMP packets
                在icmp包中设置tos(服务类型)
   -v         show version
                显示版本号
   targets    list of targets to check (if no -f specified)
                需要ping的目标列表(不能和 -f 同时使用)
-h              show this page
                 显示本帮助页
 
 
3. 使用实例
#  fping -A -u -c 4 192.168.1.1 192.168.1.74 192.168.1.20
192.168.1.1  : xmt/rcv/%loss = 4/4/0%, min/avg/max = 1.54/2.30/4.32
192.168.1.74 : xmt/rcv/%loss = 4/0/100%
192.168.1.20 : xmt/rcv/%loss = 4/4/0%, min/avg/max = 0.07/0.07/0.08
 
fping
fping -a -f file
-a       #显示存活主机
-f        #后跟文件
-s       #显示最终结果
-g       #创建ip范围:-g 192.168.0.100 192.168.0.149
-n       #按名称排序
信息收集 3:存活主机判断 - xiao106347 - Linux 折腾笔记
 
hping3
hping3 -AFS -p x xxx.com
-A          #设置ACK标志位
-F          #设置FIN标志位
-S          #设置SYN标志位
hping3 -a 伪造IP -S 目标IP -p 80 -i u1000                 #据说对win2000很有效
-i uX       #发送时间间隔
hping3 -2 -p x IP -d xx -E xxx.sig                              #发送指定签名数据包
-2            #开启UDP模式
-d            #数据包大小
-E            #数据包
 
hping 常用于洪水攻击!!!
 
dnmap-server dnmap-client         #这个基本不算是存活主机判断了
#cat dic.txt
nmap -sS -A -p1-1024 192.168.0.148 (目标主机)
dnmap-server -f dic.txt      #攻击主机执行
dnmap-client -s 192.168.0.149 (攻击主机)          #目标主机执行
-------------------------
NMAP基本操作

1 打开nmap的方式一:通过开始菜单栏打开。

2 通过终端打开。

3 扫描目的主机防火墙是否关闭。

4 输入“nmap+空格+域名或IP地址”进行的扫描时普通速度的扫描,时间较长,如上图所示。

5 输入“nmap”+“空格”+“-F”+空格+“域名或IP地址”,进行的是加速扫描,时间较短。

6 同时扫描多个ip方法:输入“nmap+空格+IP地址段”。
[](http://images2015.cnblogs.com/blog/909764/201605/909764-20160527232248116-1257679091.png

7 扫描主机操作系统版本:输入“nmap+空格+“-O”+空格+IP地址或域名。

8 扫描所有TCP端口:输入“nmap+空格+“-sT”+空格+IP地址或域名”。

9 扫描所有开放的UDP端口:输入“nmap+空格+“-sU”+空格+IP地址或域名”。

10 扫描防火墙安全漏洞:输入“nmap+“-sN”+空格+IP地址或域名”。

11 扫描使用IP协议的端口:输入“nmap+空格+“-sO”+空格+IP地址或域名。

 

 

以上是关于网络安全--使用Kali进行ARP欺骗(详细教程)的主要内容,如果未能解决你的问题,请参考以下文章

用Kali实现arp欺骗

Kali Linux三种网络攻击方法总结(DDoSCC和ARP欺骗)

kali之ARP欺骗

网络安全学习-Kali中间人攻击

网络安全学习-Kali中间人攻击

Kali Linux断网攻击