前一阵子上信息安全课,老师布置了一个作业,我们抽到了一个破解无线网密码的题目,于是对这个问题简单的研究了下。希望能提高大家的密码保护意识~
首先,我们要了解下攻击者是如何攻击无线网用户的。
图一 无线接入网中攻击示意图
ok,上面就是一个简单的网络示意图。我们和攻击者都使用同一个信道:我们周围的空间。当我们要连接上网络时,会通过AP和接入服务器有数据交互,其中就包括用户名密码等信息。攻击者可以从握手数据中得到密码校验方式,攻击者虽然不知道密钥的值,但是可以验证自己猜测的密码是否正确。有时也可以进攻AP,迫使用户与AP连接中断,使用户重新连接。这样攻击者就能抓取到握手信息了。
然后就是无限加密用的两种密钥交换方式WEP和WPA。
WEP是Wired Equivalent Privacy的简称,有线等效保密(WEP)协议是对在两台设备间无线传输的数据进行加密的方式,用以防止非法用户窃听或侵入无线网络。是IEEE 802.11 标准的一部分。加密算法:流密码RC4。认证过程
1.客户端向接入点发送认证请求。
2.接入点发回一个明文。
3.客户端利用预存的密钥对明文加密,再次向接入点发出认证请求。
4.接入点对数据包进行解密,比较明文,并决定是否接受请求。
WPA全名为Wi-Fi Protected Access,即无线接入保护机制,有WPA和WPA2两个标准,是IEEE802.11标准的一部分。WPA2是基于WPA的一种更安全的认证标准。
认证过程中,用户和接入点要进行4次握手交互。加密方式:AES等
上面我们看到的流密码RC4和先进加密标准AES等密码算法其实是非常安全的,用我们一般的手段和机器,是不可能破解的。那么为什么还是有很多密码会被破解呢?因为被攻击者用暴力破解或者字典破解的方式,把密码给试出来了!
暴力破解:
字典破解:
这两种方法的虽然听起来比较“简单暴力”,但它们并不是利用系统的漏洞,几乎在任何条件下都可以使用,且无法防范,具有很强的适用性。如果用户的密码设置比较简单,比如说是一些数字啊,单词啊,或者常用的词组,很可能就会被破解出来了。所以说,这两种破解方式(本质上是一样的),利用的其实是人这个漏洞。
当前比较流行的密码破解软件有很多比如AirCrack、BTtrack2、WiFiCrack等。但是它们的基本原理都是一致的,即截取用户和接入点之间的握手信息,利用暴力破解或字典破解的方式,与握手包中校验信息逐个对比,验证猜想密码是否正确。由于破解软件需要使用无线网卡抓取信道中的无线数据包,因此绝大部分软件在Linux环境下运 行。Windows环境中流程比较麻烦。 因此我就用windows下一个更简单的方式来实现这个过程。
首先,我们需要下载一个破解无线密码常用的工具Aircrack-ng。得到的方法很简单,上谷歌Code上搜一下吧,类似的程序有很多。
AirCrack是最具代表性的无线网破解工具,一般在Linux环境下运行,也支持Windows环境。
攻击流程:
2.调用无线网卡侦听信道中的无线交互信息:airodump-ng。选择需要攻击的目标。
3.对选择的目标进行Deauth攻击,强迫目标与接入点中断连接:aireplay-ng。使被攻击用户重新与接入点连接。
4.捕捉用户与接入点的握手信息。
5.抓取握手信息,进行暴力破解或字典破解:aircrack-ng
6.耐心等待破解结果。
试了试在win7下能不能用aircrack来抓取握手包,但是貌似不太好使,笔记本的网卡扫描不到任何信息。那就换用软件的方式来捕捉握手包了。
为了找到握手包,我们使用了软件 Commview forWiFi。
怎么用就不介绍了,很简单。
图3 Common For Wifii探测到周围无线连接信息
由于此时无法攻击AP迫使用户连接中断,为了抓取到握手包,最好等个几分钟。
然后就是把这些信息保存起来了。
图4 保存的格式一定要是cap形式
然后启动Aircrack GUI。
图5 Aircrack组件,包括GUI。
下面就是尽心一番设置了。如下图,载入捕捉的cap文件,设置破解方式WPA(一般是这样,当然也可以是WEP,不过现在用的少了)。并设置好已经准备好的字典。字典可要给力哦,最好是1G以上的。
图6 载入捕捉到得信息文件,并设置字典
好了,开始后,就可以看到信息列表了。
图7 Aircrack解析出来的无线网交互信息列表
这时看到第7有握手信息(1 handshake),那么就选他了
图8 选择有握手信息的第七个作为破解对象
Aircrack就会自动为我们进行破解工作了。
图9 Aircrack字典攻击显示信息
耐心等就ok。一会过后,结果还真出来了!
图10 破解出来的密码信息
为什么会这么快呢?因为他的密码时生日,在字典攻击了,生日可是首要攻击目标,被安排在前面的。
事实上,当无线密码的长度达到10位以上,或者密码时字母和数字或者符号混杂时,我们使用以上攻击方式攻击很久都没有得到密码,最终选择放弃。
因此,设定密码时,最好不要使用纯数字、生日、常见英文单词来作为密码,否则很容易被破解。
这种攻击方式可以扩展到其他所有的密码验证存在的情形中,而不仅仅是无线网络连接中。前提是攻击者要能抓取密码校验相关的包。
所以大家以后可要提高下自己的安全意识了,密码设置复杂点,并且要经常换密码。不要在一些不正规的网站注册账号,因为你的密码很可能是没有被加密就发送出去或者是黑网站把你的密码泄露出去。人总是爱用一些固定的密码,这样密码泄露了就不安全了。