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工具和wash(反正大概率是破解不了,因为路由器前置的wps要求是wpa2级别的)
如果你想看看在你周边哪些AP接入点存在上面这种安全漏洞或潜在地存在这种漏洞最简单的方法就是使用一个绑定了Reaver程序的工具。一款名为Wash的软件可以完成这样的任务,该软件是一个被动式探测软件,可以探测到周边的所有AP接入点,并且显示出该点的 WPS 状态。
wash -i wlan0mon 扫描周围网络是否禁用wps
reaver -i wlan0mon -b f8:1a:67:de:23:5a -vv
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加密