1Lab-7无线安全之WEP密钥破解不积跬步,无以至千里2WEP是WiredEquivalentPrivacy的简称,WEP安全技术源自于名为RC4的RSA数据加密技术,以满足用户更高层次的网络安全需求。有线等效保密(WEP)协议是对在两台设备间无线传输的数据进行加密的方式,用以防止非法用户窃听或侵入无线网络。不过密码分析学家已经找出WEP好几个弱点,因此在2003年被Wi-FiProtectedAccess(WPA)淘汰,又在2004年由完整的IEEE802.11i标准(又称为WPA2)所取代。WEP虽然有些弱点,但也足以吓阻非专业人士的窥探了。无线路由器加密方式通常有两种方式加密:第一种是WEP密钥加密第二种是WPA密钥加密本章首先给大家介绍的是WEP密钥加密原理和破解方法以及如何预防WEP被破解的风险。从攻、守两方面详细给大家介绍WEP详细相关知识。1.WEP密钥1.1WEP加密类型首先,WEP加密采用的是64位和128位加密密钥的方式,密钥为10个十六进制字符(0-9和A-F)或5个ASCII字符;对于128位加密,加密密钥为26个十六进制字符或13个ASCII字符。64位加密有时称为40位加密;128位加密有时称为104位加密。1.2WEP加密分析WEP加密方式使用了RSA开发的RC4ping算法。全称为有线对等保密(WiredEquivalentPrivacy,WEP)是一种数据加密算法。用于提供等同于有线局域网的保护能力。使用了该技术的无线局域网,所有的客户端与无线接入点的数据都会以一个共享的密钥进行加密,密钥的长度有40位至256位两种,密钥越长,黑客就需要更多的时间进行破解。如图7-1所示,为WEP的数据帧结构说明:3图7-132位的IV数据项:24位的初始向量值(Init.Vector)2位的KEYID6位的纯填充数据(以0填充)传输数据项32位的ICV循环校验码(不能计算初始密钥)RSA的RC4算法(运算不可逆)从上图中可以看到,IV段中真正有用的Init.Vector只有3个字节,也就是24位。平时所说的WEP64位加密其实就是40位密钥加上这24位初始化向量所组成的,所说也称为WEP-40,由此类推,WEP128位加密也称为WEP-104,等等。1.3WEP加密过程WEP依赖通信双方共享的密钥来保护所传的加密数据郑其数据的加密过程如下。4图7-2计算校验和(CheckSumming)。对输入数据进行完整性校验和计算。把输入数据和计算得到的校验和组合起来得到新的加密数据,也称之为明文,明文作为下一步加密过程的输入。加密。在这个过程中,将第一步得到的数据明文采用算法加密。对明文的加密有两层含义:明文数据的加密,保护未经认证的数据。将24位的初始化向量和40位的密钥连接进行校验和计算,得到64位的数据。将这个64位的数据输入到虚拟随机数产生器中,它对初始化向量和密钥的校验和计算值进行加密计算。经过校验和计算的明文与虚拟随机数产生器的输出密钥流进行按位异或运算得到加密后的信息,即密文。传输。将初始化向量和密文串接起来,得到要传输的加密数据帧,在无线链路上传输。2.破解分析根据已知的信息。知道要还原出WEP的密码关键是要收集足够的有效数据帧,从这个数据帧里可以提取IV值和密文。与对于这个密文对应的明文的第一组合生成密钥流序列密钥流明文异或运算密文IV加密后的数据帧扩展数据帧5个字节是确定的他是逻辑链路控制的802.11头信息。通过这一个字节的明文,还有密文做XOR运算能得到一个字节的WEP密钥流,由于RC4流密码产生算法只是把原来的密码给打乱的次序。所以获得的这一次字节的密码就是就IV+PASSWORD的一部分。但是由于RC4的打乱,不知道这一个字节具体的位置很排列次序。当收集到足够多的IV值和碎片密码时,就可以进行统计分析运算了。用上面的密码碎片重新排序配合IV使用RC4算法得出的值和多个流密码位置进行比较。最后得到这些密码碎片正确的排列次序。这样WEP的密码就被分析出来了。如图7-3所示,就是WEP破解过程,有助于你理解破解WEP通过分析子密码还原密码的过程。图7-3WEP密码破解需要用户通过监听等方法接收到足够数量的WEP数据包,6这些数据包包含IV值,而IV直是有限的,达到一定数量之后就会从头开始,所以这个IV是重复使用的,只要能够抓获一定数量的WEP数据包然后通过分析软件使用暴力破解的方法穷举法还原出WEP加密密钥的明文信息。破解流程请参照WEP解密模型:图7-4因为接收方也有相同的WEPKey,加上从数据包中提取出来的IV值就可以组成和发送端相同的初始密钥,因此可以产生相同的KeyStream,然后再和密文数据做一个异或运算,就可以得到明文数据。3.工具介绍破解WEP密码的工具有很多,这些工具破解工具普遍集成于BT3、BT4、BT5系统中。最常用的有奶瓶(feedingbottle)、Minidwep-gtk、WinAircrackPack等破解工具,本章将以WinAircrackPack这款破解工具为例给大家介绍这款破解工具是如何破解WEP密钥加密的。4.实验准备首先使用Xirrus扫描一下周围的网络环境,选取WEP加密认证方式的AP进行破解,如图7-5所示加密解密密文密钥明文窃听者原文7图7-55.破解过程这里以64位WEP加密密钥破解为例,首先打开VMware加载Beini镜像。具体操作如下:在桌面找到VMwareWorkstation图标,双击打开VMware主界面。点击NewIVrtualMachine新建虚拟机,如图7-6所示。图7-6这里默认Typical,点击Next下一步,如图7-7所示。8图7-7选择Installerdiscimagefile(iso)选项,点击Browse按钮,找到事先给大家的Beini.iso镜像,点击Next下一步,如图7-8所示。图7-89下图选择Linux,Version可以任意,点击Next下一步,如图7-9所示。图7-9这里可以给虚拟机起个名字,如Virtualmachinename中输入Beini,Location这个选项是存储虚拟机加载镜像的位置,这个根据实际需要选择,这里点击Next下一步如图7-10所示。10图7-10这里可以调整虚拟机的硬盘空间大小,可以根据实际需要来调整虚拟机的大小空间,默认8G足够,没有特殊要求,选择Storevirtualdiskasasinglefile保存成一个文件,然后点击Next,如图7-11所示。11图7-11没有特殊定制要求,无需点击CustomizeHardware更改硬件设备,点击Finish便创建好所需的虚拟文件,如图7-12所示。图7-12随后虚拟机会自动运行Beini系统,如图7-13所示。12图7-13进入beini系统,如图7-14所示,可以看到一个像奶瓶的桌面,这就是beini系统的标志。点击Startbeini进入beini系统的界面。图7-14进入beini系统,点击奶瓶一样的桌面图标,进入beini系统最经典的破解工具FeedingBottle,如图7-15红圈所示的图标。13图7-15打开FeedingBottle它会弹出如图7-16所示的提示,“提供具紧提供测试使用,请不要破解其它的无线接入点”,因为在美国,通过无线网络入侵到其它企业内部是犯法的,所以这里会有告警。但是出于法律角度,建议大家禁止破解它人的无线接入点。14图7-16点击Yes进到如图7-17所示的界面,这里是选择当前的无线网卡,有很多网卡beini不支持相应的驱动,所以在这里不会显示出来,此实验提供的网卡是支持的,点击wlan0即可图7-1715当选中wlan0之后,FeedingBottle会把当前的网卡模式调制成监听模式,网卡制为监听模式是为了在无线接口中抓取数据包使用,即当Message中的内容由Trytoenablemonitormode,pleasewait…(如图7-18所示)变成monitermodeenable(如图7-19所示)之后,点击Next。图7-18图7-19此时就已经进入FeedingBottle的主界面了,如图7-20所示,下面选择破解密钥的类型,这里在Encryption选项中,选择WEP即可,除此外还可以看到扫描时间和信道选择,这里默认就可以,点击Scan开始扫描。16图7-20点击Scan后,系统会运行airodump-ng工具进行扫描无线AP信息。可以看到如图7-21所示,有大量的SSID呈现,包括WEP、WPA2加密以及OPEN模式。图7-21扫描完成后,奶瓶工具中会列出所有WEP加密AP的信息,如图7-22所示,以linktrust这个AP为破解目标,用鼠标选择ESSID为LINKTRUST的AP。17图7-22这里不用更改任何配置,因为没有要破解AP的客户端的信息,点击“AdvancedMode”按钮。图7-23如图7-24所示,为奶瓶这个破解工具的主界面,这里要给大家介绍一下几个常用的按钮,Capture按钮是抓取DATA包时使用的。StartCrack是在抓取到一定IV包后破解密码的功能。ARPReplay按钮是ARP数据包注入功能,它是配合Deauth这个攻击来使用的,Deauth按键是攻击按键,其组合是为了使客户端短时间内离线,抓取更多的DATA包。18首先,点击“Capture”抓包按钮。图7-24这时奶瓶这个系统会运行airodump-ng工具进行抓取WEP无线数据包,可以看到Data数据包没有变化,现在就要用到奶瓶中的两个攻击工具来攻击AP和客户端,以便于加快DATA数据包增长。图7-25回到破解界面,点击界面左边的“RefreshClientlist”按钮,刷新客户端列表,找到要攻击的客户端的MAC地址。如图7-26所示的就是要攻击的客户端。点击“Deauth”进行攻击。19图7-26如图7-27所示,为攻击过程的界面,由于Deauth攻击,会造成客户端短时间的掉线情况,但是客户端马上就会主动连接AP,可能客户端会有所发觉。这里点击左上方的小叉子,关闭即可。图7-27回到奶瓶的破解页面,紧接着点击“ARPReplay”按钮,然后点击“RUN”进行ARP数据包注入攻击,如图7-28所示,为ARP数据包注入攻击过程的图像。20图7-28如图7-29所示,可以看到DATA包的数量增长的非常快,一般等待Data值增长到5000以上。可以点击“StartCrack”按钮尝试WEP密钥破解。图7-29如图7-30所示,为破解WEP密钥的破解过程图。第一次进行破解可能不会成功,因为IVs值不够多,不要灰心,可以等待IVs值涨到10000的时候尝试第二次破解,如果还未成功,可以尝试第三次破解,以此类推。21图7-30如图7-31所示,此次当IVs为25001的时候成功破解WEP的画面。图7-31至此,破解成功,数据包已达10000多,整个过程下来也就十多分钟。有的时候比较难破解,要涨到2万多甚至更多IVS包时才破解出来。Aircrack将从捕获下来生成的数据包文件中读入IV值,并依靠这些IV值上完成WEP密钥的破解,Aircrack默认的是使用一个速度比较慢的模式来寻找WEP密钥,不过这种模式速度虽慢,但它找到WEP密钥的机会很高;还有一种22模式就是使用-f参数,这个则速度相当快,不过成功的机会比前一个小得多。如果运气好的话,你会看到WEP密钥被成功地找到。要破解一个64bit的WEP在需要5分钟时间,由同时运行于replayattack的几个操作的时间组成的;用airodump扫描、用aircrack破解和用aireplay产生网络通信流量,不过这里有许多幸运的地方,有时破解一个64bit的WEP的密钥要收集25000个左右的IV,则它花费的时间就更长了。必须把这个你尝试恢复的WEP密钥的长度输入到Aircrack中,这个长度没有哪一个工具能提供,对你自己的实验环境的WLAN当然能够知道这个信息,但在别的你一无所知的