kali无线渗透之wps加密模式和破解12

news2024/11/27 8:42:08

WPS(Wi-Fi Protected Setup,Wi-Fi保护设置)是由Wi-Fi联盟推出的全新Wi-Fi安全防护设定标准。该标准推出的主要原因是为了解决长久以来无线网络加密认证设定的步骤过于繁杂之弊病,使用者往往会因为步骤太过麻烦,以致干脆不做任何加密安全设定,因而引发许多安全上的问题。本章将介绍WPS加密模式。

WPS(Wi-Fi Protected Setup)是一种简化无线网络配置的标准。它使用户可以通过按下路由器上的WPS按钮或在设备上输入WPS PIN码来轻松连接到无线网络。然而,WPS也存在一些安全风险,因为它可能容易受到恶意攻击。


WPS简介


WPS在有些路由器中叫做QSS(如TP-LINK)。它的主要功能就是简化了无线网络设置及无线网络加密等工作。下面将详细介绍WPS。


什么是WPS加密


WPS加密就是使客户端连接WiFi网络时,此连接过程变得非常简单。用户只需按一下无线路由器上的WPS键,或者输入一个PIN码,就能快速的完成无线网络连接,并获得WPA2级加密的无线网络。WPS支持两种模式,分别是个人识别码(PIN,PinInputConfiguration)模式和按钮(PBC,Push Button Configuration)模式。后面将会介绍如何使用这两种模式。

WPS工作原理


用户可以将WPS认证产品的配置及安全机制,可以想象成“锁”和“钥匙”。该标准自动使用注册表为即将加入网络的设备分发证书。用户将新设备加入WLAN的操作可被当做将钥匙插入锁的过程,即启动配置过程并输入PIN码或按PBC按钮。此时,WPS启动设备与注册表之间的信息交换进程,并由注册表发放授权设备,加入WLAN的网络证书(网络名称及安全密钥)。
随后,新设备通过网络在不受入侵者干扰的情况下进行安全的数据通信,这就好像是在锁中转动钥匙。信息及网络证书通过扩展认证协议(EAP)在空中安全交换,该协议是WPA2使用的认证协议之一。此时系统将启动信号交换进程,设备完成相互认证,客户端设备即被连入网络。注册表则通过传输网络名(SSID)及WPA2“预共享密钥(PSK)”启动安全机制。由于网络名称及PSK由系统自动分发,证书交换过程几乎不需用户干预。WLAN安全设置的锁就这样被轻松打开了。

WPS的漏洞


WPS的设置虽然给用户带来了很大的方便,但是安全方面存在一定的问题。这是由于PIN码验证机制的弱点导致的网络的不安全。PIN码是有8位十进制数构成,最后一位(第8位)为校验位(可根据前7位算出)。验证时先检测前4位,如果一致则反馈一个信息,所以只需一万次就可完全扫描一遍前4位,pimn时速度最快为2s/pin。当前4位确定后,只需再试1000次可破解出接下来的3位),校验位可通过前7位算出。这样,即可暴力破解出PIN码。

WPS的优点和缺点


通过前面对WPS的详细介绍,可知该功能有优点,也有缺点。

下面将具体介绍该功能的优点和缺点。


1.优点


WPS能够在网络中为接入点及WPS客户端设备自动配置网络名(SSID)及WPA安全密钥。
当连接WPS设备时,用户没有必要去了解SSID和安全密钥等概念。
用户的安全密钥不可能被外人破解,因为它是随机产生的。
用户不必输入预知的密码段或几长的十六进制字符串:
信息及网络证书通过扩展认证协议(EAP)在空中进行安全交换,该协议是WPA2使用的认证协议之一。

WPS支持Windows Vista操作系统。


2.缺点

WPS不支持设备不依靠AP而直接通信的Adhoc网络
网络中所有的Wi-Fi设备必须通过WPS认证或与WPS兼容,否则将不能利用WPS简化网络安全配置工作。
由于WPS中的十六进制字符串是随机产生的,所以很难在WPS网络中添加一个非WPS的客户端设备
WPS是一项新的认证技术,所以并非所有厂商都支持。


设置WPS


如果要进行WPS加密破解,则首先需要确定AP是否支持WPS,并且该AP是否已开启该功能。目前,大部分路由器都支持WPS功能。如果要是有WPS方式连接WiFi网络,则无线网卡也需要支持WPS功能。本节将介绍开启WPS功能及使用WPS方式连接WiFi网络的方法。

开启WPS功能


在设置WPS之前,首先要确定在AP上已经开启该功能。WPS功能在某些AP上叫做WPS,在某些设备上叫做QSS。下面将以TP-LINK路由器(AP)为例,介绍开启WPS功能的方法。


在TP-LINK路由器上开启WPS功能。

具体操作步骤如下所述:
登录路由器。本例中该路由器的IP地址是192.168.2.1,登录的用户名和密码都是admin。
登录成功后,直接找到然后打开就行,现在的都很智能。

在无线网卡上设置WPS加密


用户要在无线网卡上设置WPS加密,则需要先确定该无线网卡是否支持WPS加密。通常支持802.11 n模式的无线网卡,都支持WPS功能并且在某些USB无线网卡上,直接自带了OSS按钮功能(如TP-LINKTL-WN727N)。本节将介绍如何在无线网卡上设置WPS加密。
下面以芯片为3070的USB无线网卡为例,介绍设置WPS加密的方法。不管使用哪种无线网卡设置WPS加密,都需要在当前系统中安装该网卡的驱动,然后才可以进行设置。这里介绍下安装芯片3070的无线网卡驱动。具体操作步骤如下所述。


下载无线网卡3070驱动,其驱动名为RT3070L.exe。
开始安装驱动。双击下载好的驱动文件。该界面显示了安装RT3070L.exe驱动文件的许可证协议信息,这里选择“我接受许可证协议中的条款”复选框。然后单击“下一步”按钮。在该界面选择安装类型,这里选择默认的“安装驱动程序与Ralink无线网络设定程序”类型。然后单击“下一步”按钮。此时将开始安装驱动文件,要注意该界面的注意信息。如果当前系统中安装有杀毒软件,该驱动可能安装不完全,建议在安装该驱动文件时先将杀毒软件关闭。然后单击“安装”按钮。从该界面可以看到,该驱动已经安装完成。此时单击“完成”按钮,退出安装程序。这时候将在电脑右下角任务栏会出现一个驱动图标,表明驱动安装成功。


注意:在某些操作系统中,将网卡插入后会自动安装该驱动。如果默认安装的话,同样在任务栏会出现驱动图标。用户可以直接单击该图标进行设置。
通过以上的步骤无线网卡的驱动就安装完成了,接下来设置WPS加密方式,使网卡接入到WiFi网络。设置WPS加密可以使用PIN码和按钮两种方法,下面分别介绍这两种方法的使用。

首先介绍使用PIN码的方法连接到WiFi网络,具体操作步骤如下所述。


双击驱动图标。

在该界面单击第三个图标 (连线设定)。

在该界面单击(新增WPS 连线设定)图标。
在该界面显示了 WPS 的两种连接方式,这里选择 PIN 连线设定方式,并且选择连接的AP 。设置完后,单击(下 一步)按钮。
在该界面选择连线设定模式。该驱动默认支持“登录者”或“受理注册机构”两种模式。当使用“登录者”模式时,可以单击“更新8码”按钮来重新产生一组PIN码;如果使用“受理注册机构”时,会要求输入一组PIN码。这里选择“受理注册机构”,从该界面可以看到有一组PIN码。此时,记住这里产生的PIN码,该PIN码需要在路由器中输入。然后单击(下一步)按钮。
该界面将开始连接WiFi网络。但是,在连接之前需要先将该网卡的PIN码添加到路由器中才可连接。所以,此时在路由器的OSS安全设置界面单击“添加设备”按钮
该界面输入获取到的无线网卡的PIN码。然后单击“连接”按钮
从该界面可以看到,路由器正在连接输入的PIN码的设备。此时,返回界面单击“开始PIN”与AP建立连接。该连接过程大概需要两分钟。
从该界面可以看到,成功连接了网络名称为Test的WiFi网络,并且可以看到连接到AP的详细信息,如验证方法和加密方法等在Ralink的启动界面可以看到,主机获取到的P地址、子网掩码、频道及传输速度等。
从该界面可以看到当前主机获取到的详细信息,并且从左侧的图标也可以看到,当前网络为加密状态,无线信号也连接正常。

以上步骤就是使用WPS的PIN码连接WiFi网络的方法。

接下来,介绍如何使用按钮方式连接到WiFi网络。具体操作步骤如下所述。

驱动图标打开Ralink设置界面
在该界面单击(新增WPS连线设定)图标
在该界面单击(新增WPS连线设定)图标
在该界面选择"PBC连线设定方式"复选框,然后单击(下一步)按钮
在该界面单击“开始PIN"按钮,将开始连接WiFi网络
此时,按路由器上的QSS/RESET按钮
按一下路由器上的QSS/RESET按钮后,返回到Ralink连线设定界面。

在移动客户端上设置WPS加密


在上一小节介绍了在无线网卡上设置WPS加密的方法。但是,通常人们会使用一些移动设备连接WiFi网络,如手机和平板电脑等。下面将介绍在移动客户端上设置WPS加密的方法。
进入高级选项,看客户端的pin,然后进路由器输入客户端的pin就行了。

破解WPS加密(我自己建议wifite)


前面对WPS的概念及设置进行了详细介绍。通过前面的学习可以知道,使用WPS加密存在漏洞。所以,用户可以利用该漏洞实施攻击。在KaliLinux操作系统中,自带可以破解WPS加密的工具。如Reaver、Wifte和Fern WiFiCrcker等。本节将介绍使用这几个工具进行WPS加密破解的方法。


使用Reaver工具


Reaver是一个暴力破解WPS加密的工具。该工具通过暴力破解,尝试一系列AP的PIN码。该破解过程将需要一段时间,当正确破解出PIN码值后,还可以恢复WPA/WPS2密码。下面将介绍使用Reaver工具破解WPS加密的方法。
在使用Reaver工具之前,首先介绍该工具的语法格式,如下所示。
reaver -i <interface>-b <target bssid>-vv
以上语法中几个参数的含义如下所示。
-i:指定监听模式接口。
-b:指定目标AP的BSSID.
-vv:显示更多的详细信息。
该工具还有几个常用选项,下面对它们的含义进行简单地介绍。如下所示。
-c:指定接口工作的信道。
-e:指定目标AP的ESSID。
-p:指定WPS使用的PIN码。
-q:仅显示至关重要的信息。
如果用户知道AP的PIN码时,就可以使用-p选项来指定PIN码,快速的进行破解。但是,在使用Reave工具之前,必须要将无线网卡设置为监听模式

实操


本例中的PIN码是04588306。

所以,用户可以实现秒破。执行命令如下所示。
reaver -i mon0 -b 8c:21:0A:44:09:F8 -p 04588306

执行以上命令后可以发现,一秒的时间即可破解AP的密码

从输出的信息中可以看到,破解出AP的密码为daxueba!,AP的SSID号为Test。
如果用户不知道PIN码的话,暴力破解就需要很长的时间。Reaver利用的就是PIN码的缺陷,只要用户有足够的时间,就能够破解出WPA或WPA2的密码。当用户不指定AP的PIN码值时,可以执行如下命令进行暴力破解。

reaver -i mon0 -b 8C:21:0A:44:09:F8 -vv

 以上信息提示是否要恢复之前的会话,这是因为在前面已经运行过该命令。这里输入y,将进行暴力破解,在该过程中Reaver尝试发送一系列的PIN码。当发送的PIN码值正确时,也就表明成功破解出了密码。破解成功后,显示的信息如下所示。

从输出的信息中可以看到,成功破解出了WiFi的密码(PSK码)和PIN码。如果用户修改了该AP的密码,只要WPS功能开启,使用该PIN码可以再次破解出AP的密码。


注意:Reaver工具并不是在所有的路由器中都能顺利破解(如不支持WPS和WPS关闭等),并且破解的路由器需要有一个较强的信号,否则Reaver很难正常工作,可能会出现一些意想不到的问题。整个过程中,Reaver可能有时会出现超时,PIN码死循环等问题。一般都不用管它们,只要保持电脑尽量靠近路由器Reaver最终会自行处理这些问题。
除此之外,用户可以在Reaver运行的任意时候按Ctrl+C快捷键终止工作。这样Reaver会退出程序,但是Reaver下次启动的时候会自动恢复并继续之前的工作,前提是你没有关闭或重新启动电脑。

使用Wifite工具


Wifite是一款自动化WEP和WPA破解工具,它不支持Windows和OSX操作系统。Wifite的特点是可以同时攻击多个采用WEP和WPA加密的网络。Wifite只需要简单的配置即可自动运行,中间无需手动操作。目前,该工具支持任何Linux发行版。下面将介绍使用Wifite工具破解WPS加密的方法。
Wifite,工具在Kali Linux操作系统中已被默认安装。下面可以直接使用该工具,它的语法格式如下所示。
wifite[选项]

常用选项含义如下所述,
-i:指定捕获的无线接口。
-c:指定目标AP使用的信道
-dict <file>:指定一个用于破解密码的字典。
-e:指定目标AP的SSID名称。
-b:指定目标AP的BSSID值:
-wpa:仅扫描WPA加密的网络
仅扫描WEP加密的网络,-wep:
-pps:指定每秒注入的包数,
-wps:仅扫描WPS加密的网络。

实操


wifite -pps 660

当扫描到自己想要破解的无线网络时,按 Ctrl+C快捷键停止扫描

从以上输出的信息中可以看到,目前已经扫描到14个无线网络并且可以看到网络的ESSID、工作的信道、加密方式、是否支持WPS及连接的客户端等信息。

从以上信息中可以看到,当前无线网卡扫描到16个AP。以上信息中共显示了7列,每列分别表示AP的编号、ESSID号、信道、加密方式、信号强度、是否开启WPS,以及连接的客户端。其中,POWER(pwr)列值,20db比10db大,但是-60db比-70db大,信号越强。
此时,要求选择攻击的AP。从以上信息中可以看到,搜索到的无线AP中Test1是使用WEP加密的,并且开启了WPS功能。所以,为了能快速地破解出密码,这里选择第一个AP,输入编号1,将显示如下所示的信息: 

从以上输出的信息中可以看到,已成功破解出了Test1WiFi网络的加密密码为3132333435。该值是ASCII码值的十六进制,将这个值转换为ASCII码值后,结果是12345。

使用Fern WiFi Cracker工具


Ferm WiFi Cracket是一种无线安全审计和攻击软件编写的程序,使用的是Python编程语言和Python的Qt图形界面库。该工具可以破解并恢复出WEP、WPA和WPS键的无线网络密码。下面将介绍使用FernWiFiCracker工具破解WPS加密的方法。

实操

使用Fern WiFi Cracker工具破解WPS加密的WiFi网络
 fern-wifi-cracker

该界面选择无线网络接口,并单击Scan for Access Points图标扫描无线网络

在该界面可以看到扫描到的使用WEP和WPA加密的所有WiFi网络。用户可以选择任何一个WiFi网络进行破解。这里选择WEP加密的,所以单击WiFiWEP图标,将显示如图

从该界面可以看到,只有一个Test1无线网络,并且该网络支持WPS功能。所以,用户可以选择WPS攻击方法来破解出网络的密码。
在该界面选择攻击目标Test1,并单击RegularAttack按钮。然后选择Automate复选框,并单击WiFiAttack按钮开始暴力破解。 

从该界面可以看到,正在进行破解密码。在该界面以百分比的形式显示破解的进度,当破解成功后将会在进度条框下显示破解出的密码。但是此过程的时间相当长,需要用户耐心的等待。


注意:通过使用以上工具破解WPS加密,可以发现使用该加密方式是非常不安全的。所以,为了使自身的无线网络安全,最好将WPS功能禁用,手动设置WPA2加密

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

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

相关文章

CTFshow web(php文件上传155-158)

web155 老样子&#xff0c;还是那个后端检测。 知识点&#xff1a; auto_append_file 是 PHP 配置选项之一&#xff0c;在 PHP 脚本执行结束后自动追加执行指定的文件。 当 auto_append_file 配置被设置为一个文件路径时&#xff0c;PHP 将在执行完脚本文件的所有代码后&…

python分离字符串 2022年12月青少年电子学会等级考试 中小学生python编程等级考试二级真题答案解析

目录 python分离字符串 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python分离字符串 2022年12月 python编程等级考试级编程题 一、题目要…

华为机考入门python3--(14)牛客14-字符串排序

分类&#xff1a;列表、排序 知识点&#xff1a; 字典序排序 sorted(my_list) 题目来自【牛客】 def sort_strings_by_lex_order(strings): # 使用内置的sorted函数进行排序&#xff0c;默认是按照字典序排序 sorted_strings sorted(strings) # 返回排序后的字符串列…

Imgui(2) | macOS 绘制 CPU 占用率曲线

Imgui(2) | macOS 绘制 CPU 占用率曲线 文章目录 Imgui(2) | macOS 绘制 CPU 占用率曲线0. 简介1. 绘制曲线 - 以正弦函数为例1.1 基于 sf::RectangleShape 的渲染 - 不好看&#xff0c;效率低1.2 基于 sf::VertexArray 的绘制 2. 获取和绘制所有 CPU 的占用率2.1 测试程序 - 用…

idm下载路径在哪 idm下载保存路径怎么设置 IDM下载器 internetdownloadmanager官方版下载 网络加速器

春节&#xff08;Spring Festival&#xff09;&#xff0c;是中国最隆重最富有特色的传统节日之一。春节期间我们与一家人团聚在一起&#xff0c;其乐融融。2024年春晚已经接近尾声了&#xff0c;很多人已经踏上了返程的路上。在部分地区&#xff0c;如春晚直播过程中或者网络高…

AJAXJSON入门篇

AJAX&JSON 概念&#xff1a;AJAX(Asynchronous JavaScript And XML):异步的JavaScript和XML AJAX作用&#xff1a; 与服务器进行数据交换&#xff1a;通过AJAX可以给服务器发送请求&#xff0c;并获取服务器响应的数据 使用了AJAX和服务器进行通信&#xff0c;就可以使用H…

二叉树-------前,中,后序遍历 + 前,中,后序查找+删除节点 (java详解)

目录 提要&#xff1a; 创建一个简单的二叉树&#xff1a; 二叉树的前中后序遍历&#xff1a; 二叉树的前序遍历&#xff1a; 二叉树的中序遍历&#xff1a; 二叉树的后续遍历&#xff1a; 小结&#xff1a; 二叉树的前中后续查找&#xff1a; 二叉树的前序查找&#…

面试前的准备

面试前的准备 Java程序员校招与社招的区别 校招和社招都是企业招聘形式的一种&#xff0c;只是面向的对象不同。校招 只允许在校生参加&#xff0c;社招理论上是任何人都能参加的(包括在校生)。 但是&#xff0c;无论是社招还是校招&#xff0c;它的难度都取决于你的水平高低。…

VueCLI核心知识4:动画效果、过渡效果

1 动画效果 【代码】 <template><div><button click"isShow !isShow">显示/隐藏</button><!-- <transition name"xxx" :appear"true"> 可以指定name属性&#xff0c;也可以不指定&#xff0c;name属性在有…

红日靶场2学习

靶场下载来自&#xff1a; http://vulnstack.qiyuanxuetang.net/vuln/detail/3/ 靶场统一登录密码&#xff1a;1qazWSX 按大佬的说法是 环境需要模拟内网和外网两个网段&#xff0c;PC端虚拟机相当于网关服务器&#xff0c;所以需要两张网卡&#xff0c;一个用来向外网提供web…

Django学习全纪录:编写你的第一个 Django 应用,Django内置数据库的配置,以及扩展性的数据库介绍和配置

天下古今之庸人&#xff0c;皆以一惰字致败&#xff1b;天下古今之人才&#xff0c;皆以一傲字致败。——[清]曾国藩 导言 大家好&#xff0c;在上一篇文章里&#xff0c;我们一起学习了Django的视图以及路由&#xff0c;并且对Django的应用有了初步的认识&#xff0c;掌握了…

DS:二叉树的链式结构及实现

创作不易&#xff0c;友友们给个三连吧&#xff01;&#xff01; 一、前言 前期我们解释过二叉树的顺序结构&#xff08;堆&#xff09;为什么比较适用于完全二叉树&#xff0c;因为如果用数组来实现非完全二叉树&#xff0c;那么数组的中间部分就可能会存在大量的空间浪费。 …

JVM(3)高级篇

1 GraalVM 1.1 什么是GraalVM GraalVM是Oracle官方推出的一款高性能JDK&#xff0c;使用它享受比OpenJDK或者OracleJDK更好的性能。 GraalVM的官方网址&#xff1a;https://www.graalvm.org/ 官方标语&#xff1a;Build faster, smaller, leaner applications。 更低的CPU、内…

vivim复习

vi/vim常用命令 vi&vim常用命令 set nu 显示行号 gg 跳转到文件开头 / 向后搜索 ? 向前搜索 n 查找下一处N 查找上一处 | 光标所在行行首L 屏幕所显示的底行{ 段首} 段尾- 前一行行首 后一行行首 ( 句首 ) 下一句首 $ 行末 M 屏…

Javaweb基础-tomcat,servlet

一.配置文件基础&#xff1a; properties配置文件&#xff1a; 由键值对组成 键和值之间的符号是等号 每一行都必须顶格写&#xff0c;前面不能有空格之类的其他符号 xml配置文件&#xff1a;&#xff08;xml语法HTML语法HTML约束&#xff09;xml约束-DTD / Schema DOM4…

单测的思路

文章目录 单测的定义方法的单测几种生成工具的对比生成步骤 接口的单测场景的单测总结参考 单测的定义 单元测试&#xff08;Unit Testing&#xff09;是一种软件开发中的测试方法&#xff0c;它的主要目的是确保软件中的最小可测试单元&#xff08;通常是函数、方法或类&…

今日arXiv最热NLP大模型论文:清华提出LongAlign,打破长上下文对齐瓶颈,数据、训练策略、评估基准一网打尽

随着LLMs的发展&#xff0c;其支持的上下文长度越来越长。仅一年时间&#xff0c;GPT-4就从一开始的4K、8K拓展到了128k。 128k什么概念&#xff1f;相当于一本300页厚的书。这是当初只支持512个tokens的BERT时代不敢想象的事情。 随着上下文窗口长度的增加&#xff0c;可以提…

【STM32 CubeMX】GPIO的工作模式

文章目录 前言一、有哪些工作模式&#xff1f;1.1 GPIO的详细介绍1.2 GPIO的内部框图输入模式输出部分 总结 前言 在嵌入式系统开发中&#xff0c;对于STM32微控制器的GPIO&#xff08;General Purpose Input/Output&#xff09;引脚的配置和使用是至关重要的。GPIO引脚可以通…

MySQL 基础知识(六)之数据查询(一)

目录 1 基本查询 1.1 查询相关列 (select * / 列名) 1.2 别名 (as) 1.3 去重 (distinct) 1.4 对列中的数据进行运算 (、-、*、/) 2 条件查询 (where) 2.1 等值查询 () 2.2 非等值查询 (>、<、>、<、!、><) 2.3 逻辑判断 (and、or、not) 2.4 区间判…

累加器 - 分布式共享写变量

水善利万物而不争&#xff0c;处众人之所恶&#xff0c;故几于道&#x1f4a6; 文章目录 概念注意&#xff1a;应用 概念 因为RDD是可分区的&#xff0c;每个分区在不同的节点上运行&#xff0c;如果想要对某个值进行全局累加&#xff0c;就需要将每个task中的值取到然后进行累…