无线网络wifi (WPA/WPA2)密码破解方法
无线网络password破解WPA/WPA2教程
本教程用于探索无线路由安全漏洞,禁止用于非法用途,违者法律必究(与我无关)
在动手破解WPA/WPA2前,应该先了解一下基础知识,本文适合新手阅读
首先大家要明确一种数学运算,它叫做哈希算法(hash),这是一种不可逆运算,你不能通过运算结果来求解出原来的未知数是多少,有时我们还须要不同的未知数通过该算法计算后得到的结果不能同样,即你不太可能找到两个不同的值通过哈希得到同一个结果。哈希是一类算法的统称,通常哈希算法都是公开的,比方MD5,SHA-1等等。;
我们平时说的WPApassword事实上叫PSK(pre-shared key),长度通常是8-63字节,它加上ssid通过一定的算法能够得到PMK(pairwise master key)。PMK=SHA-1(ssid,psk) ,PMK的长度是定长的,都是64字节。因为计算PMK的过程开销比較大,是我们破解花费时间长的关键,所以採用以空间换时间的原则把PMK事先生成好,这个事先生成好的表就是常说的HASH表(生成PMK的算法是一种哈希),这个工作就是用airlib-ng这个工具来完成的,我们的高速破解就是这么来的。
认证的时候会生成一个PTK(pairwise temporary),这是一组密钥,详细细节不详细说了,它的生成方法也是採用的哈希,參数是连接的clientMAC地址、AP的BSSID、A-NONCE、S-NONCE、PMK,当中A-NONCE和S-NONCE是两个随机数,确保每次连接都会生成不同的PTK。PTK的计算消耗非常小。PTK加上报文数据採用一定的算法(AES或TKIP),得到密文,同一时候会得到一个签名,叫做MIC(message integrality check),tkip之所以被破解和这个mic有非常大关系。
四次握手包中含有以上的哪些东西呢?client的MAC地址,AP的BSSID,A-NONCE,S-NONE,MIC,最关键的PMK和PTK是不包括在握手包里的!
8 A2 m6 T& }) U2 J认证的原理是在获得以上的全部參数后,client算出一个MIC,把原文连同MIC一起发给AP,AP採用同样的參数与算法计算出MIC,并与client发过来的比較,假设一致,则认证通过,否则失败。
眼下的破解方法是我们获得握手包后,用我们字典中的PSK+ssid先生成PMK(假设有HASH表则略过),然后结合握手包中的(clientMAC,AP的BSSID,A-NONCE,S-NONCE)计算PTK,再加上原始的报文数据算出MIC并与AP发送的MIC比較,假设一致,那么该PSK就是密钥。
眼下最耗时的就是算PMK,可谓破解的瓶颈。即使搞定了运算量的问题,海量的密钥存储也是个问题(PMK都是64字节长度)!
近期出来的tkiptun-ng仅仅是能够解开使用tkip加密了的数据包,并非说能够高速算出PMK或PSK。假设感兴趣,能够到书店看看讲哈希的书,说不定你把这些HASH算法都破解出来了。
wpa_supplicant套件中有个小工具,叫做wpa_passphrase,它和airolib-ng的作用几乎相同,都是用来生成PMK,在backtrack中应该自带这个工具。比方有个ssid为TP-LINK,PSK是12345678,那么生成PMK的方法就是wpa_passphrase TP-LINK 12345678,结果应该是这样:
network={ ssid="TP-LINK"
#psk="12345678"
psk=1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da
psk=1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da事实上就是PMK了,一般在电脑上执行查看无线password的软件就是得到这个,把1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da直接输入到无线client中就能够连上该ssid,相当于输入了12345678,生成PMK的过程是不可逆的,即无法通过1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da来逆推得到12345678。能够看到同样是psk是12345678,假设ssid名字改变,那么pmk就会发生改变,这就是为什么用airolib-ng建表是仅仅能按ssid生成。
以下进入正题
首先下载“cdlinux -0.9.6.1 ISO无线破解系统”
然后准备好虚拟机,我用的vm7
- VMware Workstation(虚拟机软件)V7.1.4 精简中文版
- 授权:免费软件 大小:117M 语言: 简体
假设不喜欢虚拟机执行的话,能够直接刻录光盘来载入启动
可是为了方便跑包(暴力破解password),还是在win下用虚拟机比較方便
硬件方面,我用卡皇,芯片8187的
大家能够依据自己实际情况安排
第一部:设置虚拟机(光盘启动的能够直接路过本部)
首先安装完vm(绿色版直接执行)我就是绿色版
出现例如以下画面
1、首先建立一个虚拟机
然后直接猛击下一步
2、继续下一步
然后还是下一步
3、这个吗就是默认了,直接下一步
这里客户机操作系统选择linux,
4、这就是选择操作系统和内核,非常重要,依照我的选择就ok
5、给他一个名字
6、我还是下一步
7、因为cd容量非常小,130mb多的文件,你给他200mb就够了!我给他1g
到如今基本上一个虚拟机雏形基本上诞生
接下来最后一步
也是最重要一步
给他一个iso包
8、给他一个路径,让他知道你的iso在哪儿!就这么简单
接下来你就能够启动虚拟机了!
接下来
这里选择中文,你应该知道吧?
系统启动,选择语言界面,这里你选择中文,假设你是外国人,选择外语,我相信看到这儿都是中国人吧?
虚拟机启动ing
启动过后才是令人激动地时刻
嘿嘿
接下来
第二部:破解wep/wpa2
系统启动成功,桌面
1、系统启动啦,这就是桌面!咋样?熟悉吧?非常像win的!非常easy上手
2、然后打开第二排的第一个软件minidwep-gtk~~出现此对话框,直接点ok!就过去了
3、看左上角那个下拉菜单,找到自己的网卡!!!然后右上角!!扫描!!!然后就開始激动人心了!~
4、够激动吧?看到沒有?
sssid---就是扫描到无线接入点的mac地址 pwr:信号强度 data:这句是所谓的数据包 最后面的essid就知道了吧?那就是你扫描到的路由名称!这样就明确了吧?当然了,假设沒有数据包的话,你还是省省吧!毕竟是破解!沒有数据包代表抓不到握手包,抓不到握手包如何破解呢?所以还是须要数据量的!然后抓到握手包以后就開始破解啦!
5、怎么样?嘿嘿,看到了吧?软件已经搜索到了wpa2加密的方式的路由器!当然了,软件的搜索方式是一起搜索,也就是wep,wpa2一起搜索,看看软件左边栏的“加密方式”你选择wep就会显示wep方式加密的路由,你选择wpa2就会显示wpa2方式加密的路由,咱们这儿讲的是破解wpa2加密方式的路由!所以wep一笔带过!假设是破解wep的路由,直接右边栏的“启动”button,剩下的差点儿不用动手自己主动搜索password(前提是有数据包哦!)
6、接下来開始抓取握手包,看图片最后面一行字,抓到一个握手包,正在等待认证,等待认证后就会给你提示!告诉你已经抓到一个握手包,然后就能够破解啦!(当然,抓取握手包是须要耐心的,有时候rp暴增,没准上来就能抓到,我这儿抓了十几分钟才抓到)
7、基本上已经成功,剩下的就是破解啦!这里開始进入破解第一部,跑包,開始測试password!
8、接下来,把你的字典贡献给minidwep-gtk!嘿嘿,这个都会了吧?我给他一个默认的字典,就是最后一个wordlist.txt。你能够依据情况来选择字典,事实上我上藏了3g多的字典呢!嘿嘿,只是这个路由是弱口令的!所以这个字典足够了!
9、这下子就解密啦,成功啦!!!嘿嘿,哈哈!!!看见wpakey:0123456789 这就是password!这个password牛屄吧?够弱智吧?!哈哈哈
10、昨天写的仓促,忘了告诉的大家,虚拟机执行cd是不支持内置网卡的,所以须要设置一下的!非常简单,我就不上图了!打开vm以后,看上面菜单条里面有个“虚拟机”然后下来看到“可移动设备”,然后看到你的usb网卡,然后打上对勾就ok了!简单吧!嘿嘿
嘿嘿,同志们别拍砖,别骂!破解wpa不是开玩笑!关键是你的机器是否够强悍!字典是不是够多!!!
假设你的机器够强悍,跑包跑到几十万的话!字典收藏几百G,预计你不能破解的password不多了!有非常多“大侠”告诉我说破解不了,说我骗人的!后来问人家,你字典多大?人家说了,我字典超牛逼!!!有3m的txt文件作字典!!!!同志们啊!!!这种“大侠啊”您认为他能破解吗?
看过留名哦!认为受用就回复一下子!嘿嘿!哈哈!
无线网络wifi (WPA/WPA2)密码破解方法的更多相关文章
- WPA/WAP2wifi 密码破解笔记
前言: 相对于前一段时间脆弱的WEP路由器而言,当今的路由器加密方式也大都改变为WPA/WPA2,使得无线路由器的破解难度增加.虽然如此,但还是有很多漏洞层出不穷,如WPS.退一步来说,即使加密算法无 ...
- office文件密码破解方法及软件
今天会用到3个软件 1.Office Password Remover 说明:这个软件可以很快破解.doc .xls的密码 使用方法:参考百度经验里面的文章http://jingyan.baidu ...
- VirtualBox虚拟机下Windows登录密码破解方法(阿里云推荐码:1WFZ0V,立享9折!)
VirtualBox虚拟机下Windows登录密码破解方法 近两年虚拟机的发展给开发人员带来了极大便利,安装一个新环境,只需从别人那里copy一份虚拟机文件即可,分分钟搞定.我之前一直在Ubuntu下 ...
- Excel文件加密后忘记密码破解方法
最好使用VBA 工程密码破解方法 新建一个excel文档,然后打开,同时按Alt和F11,进入VBA界面 点击菜单上的插入,模块 在新的窗口粘贴以下代码: Sub crack() Dim i As L ...
- 跑PIN码破解无线网络WIFI密码的原理分析(转)
你们家用的无线路由器安全吗?有人蹭网吗?无线路由器的漏洞在哪里?这么避免蹭网? 想要了解这些,必须要了解加密以及破解原理. 工具/原料 电脑 足够多足够好的wifi信号源 usb无线网卡(非必需) 一 ...
- wifi密码破解方法总结(含破解软件下载链接)
眼下网上流行有非常多无线password的破解方法,总结起来最有用的还是这两种:第一种是Wirelessnetview+WinAirCrackPack软件组合,这个方法简单方便:另外一种就是大家熟悉的 ...
- WPA/WPA2加密破解
WPA/WPA2无线密码破解这里主要介绍两种方法:穷举PIN码.穷举密码 穷举PIN码(共11000种组合)破解速度快,需要一些条件(路由器支持WPS.QSS功能),路由器信号良好.无论密码多复杂,条 ...
- Linux各版本的本地root密码破解方法
(一)RedHat/CentOS/Fedora 系统密码破解 1.在grub选项菜单按E进入编辑模式 2.编辑kernel 那行最后加上S (或者Single) 3.按B,启动到single-user ...
- 不同的类UNIX操作系统密码破解方法介绍
(一)Linux 系统密码破解 1.在grub选项菜单按E进入编辑模式 2.编辑kernel那行 /init 1 (或/single) 3.按B重启 4.进入后执行下列命令 root@#passwd ...
随机推荐
- 共享内存操作类(C#源码)
原文 http://blog.csdn.net/yefanqiu/article/details/1717458 VC++的共享内存操作代码实现起来相对比较容易,但是用C#语言来实现,就有一定难度,由 ...
- 基于Visual C++2013拆解世界五百强面试题--题7-链表的各种操作
请用C实现一个链表,实现链表的查找,逆置,替换,删除,添加,清空,创建. 查找.替换和删除.添加里面都会用到遍历链表的操作,所以重点在于遍历, 链表的逆置和清空考虑到效率,我们可以用递归实现, 至于创 ...
- java线程学习——汉堡销售问题
汉堡店中有一个负责做汉堡的厨师,一个负责销售的营业员,用java线程表示他们的营业过程: 问题原型就是生产者与消费者的问题. 首先定义一个汉堡包箱子类与几个相关的变量类: public class H ...
- selenium - Headless Browser and scraping - solutions - Stack Overflow
yum install pygtk2-devel selenium - Headless Browser and scraping - solutions - Stack Overflow Hea ...
- 使用mongodb存取lbs数据
1,在mongodb中创建lbs_db数据库,collection名称lbs_info,要使用lbs查询功能,需要对二维数据列建立索引 db.lbs_info.ensureIndex( { locs ...
- ios7毛玻璃效果实现
首先看效果: 核心代码: //加模糊效果,image是图片,blur是模糊度 - (UIImage *)blurryImage:(UIImage *)image withBlurLevel ...
- Linux下shell编程实例
1. 推断一文件是不是块或字符设备文件.假设是将其复制到 /dev 文件夹下 read -p "input a file:" filename if [ -b $filename ...
- FastReport配置打印预览button_C++
如需转载请标明出处:http://blog.csdn.net/itas109 FastReport採用C++方式.配置打印预览选项 //打印预览 //配置打印预览选项 pReport->Prev ...
- 【转】利用Ajax.BeginForm提交文件
Ajax.BeginForm @using (Ajax.BeginForm("YourAction", "YourController", new AjaxOp ...
- Qualified name lookup
Qualified name lookup Qualified name lookup Enumerations Class members Namespace members Unqualified ...