3.4 集众长于一身的Wifite
现在,你已经明白了破解“有线等效保密协议”无线网络背后的每一个过程,就到了学习Wifite的时候了。Wifite是一个对经常出错的命令行提供帮助的一个工具,一个可以使以前这些操作变成自动化的工具。
3.4.1 在“Wi-Fi小菠萝”上安装Wifite
Wifite软件的最大优点之一,就是它事先预配置一个目标清单,然后让Wifite在无人值守的情况下,自动按清单中的每一条操控着aircrack-ng的进程。随后,你就可以高枕无忧,因为Wifite会根据列表中每一项完成破解工作,如果Wifite完成了对目标清单中,列表的第一项破解完,就会自动地切换到目标清单中的下一条。这一自动运行的特性对于一些嵌入式设备来说非常有用。这个Wi-Fi嵌入式设备名叫“Wi-Fi小菠萝”(Wi-Fi Pineapple),该设备的实物图片如图3-10所示。
“Wi-Fi小菠萝”是一台专用的无线攻击工具,这个设备由Hak5组织开发,价格大约是100美元。在http://www.hakshop.com 网站上可以找到详细介绍。每一台设备配备有两个Wi-Fi的无线网卡,一个400MHz的MIPS处理器,一个SD插槽(可以通过插入SD卡达到扩大存储的功能),一个快速以太网卡和一个USB端口。“Wi-Fi小菠萝”是一款集中了很多Wi-Fi攻击技术于一身的小型便携式攻击器。
购买到一款新的“Wi-Fi小菠萝”之后,首先要做的事是让你的“Wi-Fi小菠萝”启动并连接到互联网上,下载一些数据包。如果在将设备连接到互联网方面遇到什么疑问,可以查询“Wi-Fi小菠萝”的用户手册。
下载数据包
一旦配置好了“Wi-Fi小菠萝”,使之可以访问到你的笔记本电脑,并且也可以访问到互联网,则可以使用SSH工具以root管理用户的身份登录系统。登录时,如果需要密码,则使用在初始化安装时配置的密码。假设设备默认的IP地址是172.16.42.1,在进入系统以后,就可以运行下面的命令来下载和安装Wifite正常使用所需要的工具软件。
⊗ 注意
如果你有一个Ext4格式[1](Ext4-formatted)的USB接口连接到你的“Wi-Fi小菠萝”上,那么在运行opkg程序安装所下载的软件包时,需要使用“-d usb”参数,以便让程序使用使用的是USB设备,而不是SD卡。
想必大家在购买“Wi-Fi小菠萝”的时候,就心知肚明地了解这是一个黑客工具,这也是各种技术防范的重点地带,因此“Wi-Fi小菠萝”所提供的http下载方式,也不敢担保说所下载的东西都是“开箱即用”的(out of the box)。所以你的“Wi-Fi小菠萝”需要经常下载最新版的Wifite程序,网址是https://github.com/derv82/wifite,hak5组织也会在这里不时更新其版本。将新程序包下载到的笔记本电脑后,然后使用“安全外壳shell复制”(Secure Shell copy)方式将Wifite.py脚本复制到“Wi-Fi小菠萝”中,如下面的命令格式所示。如果你使用的不是Linux操作系统的主机,而是Windows操作系统的主机,那么你可以先从http://www.chiark.greenend.uk/~sgtatham/putty 上下载并安装一款名叫Simon Tatham’s PuTTY工具,然后借助于其中的pscp功能将文件复制到“Wi-Fi小菠萝”上。
⚡ 运行Wifite
一旦上面的工具全都完成,你就可以在“Wi-Fi小菠萝”上运行Wifite了,其格式和运行效果如下所示:
现在,将网线插入到“Wi-Fi小菠萝”以太网端口上[2],网线的另一头连上自己的笔记本计算机,很快,你就会看到自己的笔记本电脑上出现wlan0和wlanl两个Wifite无线网络的适配器标识,两个都可以使用。如果你嫌以太网的网速太慢,而是通过无线连接使用“Wi-Fi小菠萝”,那么一定要注意,确保不要选择正在使用的这个无线接口。
在这一点上,Wifite已经自动把无线网卡设置为“监测模式”,以便在被动方式下进行侦测,随后,根据信号强度,按顺序排列在当时位置中的各无线AP接入点的“服务集标识”名称(图3-11中“ESSID[3]”列)。和平时我们用手机连接周边的Wi-Fi无线路由器略有不同的是,Wifite在列出各AP接入点名称的同时,在“加密算法”(图3-11中简写为“ENCR”,即encryption)一列,也让我们知道每一个AP接入点正在使用的是“Wi-Fi保护访问版本2”WPA2认证、“Wi-Fi保护访问”WPA认证或“有线等效保密协议”WEP认证的加密算法,还有,如果这个网络支持“Wi-Fi保护配置协议”(Wi-Fi Protected Setup),那么在“是否支持WPS”(图3-11中“WPS?”)一列,还会显示“支持WPS”(即“wps”),否则显示“无”(即“no”)。如果任何客户端连接到那个AP接入点,在“有客户端连接”(图中“CLIENT”)一列也会给出提示。
尽管大家习惯选择所有的无线网络,让Wifite通过各自的方式尝试破解所有的这些“邻居”网络,不过,作为例子,下面我们还是只选那个之前曾手动破解过的quiet_type无线网络:
注意,下面我们运行Wifite时所使用的脚本,还是本章以前我们手工完成这些操作的时候所用的脚本。首先,这些脚本会生成“假的”认证数据包,然后试着重播任意的ARP地址解析协议数据包,这些ARP数据包的地址都是通过无线网络中读到的。程序界面左边的一个“时钟”显示的是破解这个网络所用的时间,该“时钟”会随着破解的进行而增大,直到程序或你放弃目前的攻击,或者是程序破解成功,程序都就会移动到下一个无线网络上,重新开始新网络的破解。默认情况下,Wifite每攻击一个无线网络,其时间上限都会设定为10分钟,10分钟到的时候,如果还没有破解成功,则程序放弃当前的攻击。在攻击期间,如果你没有耐心再等待下去,比如知道没人会连接到quiet_type网络,并产生一个ARP包了,你可以按Ctrl+C,就会人工放弃当前的攻击,程序自动移动到下一个无线网络上继续在新的10分钟之内进行攻击。
如图3-11所示,一旦你按了Ctrl+C,程序暂停,然后询问你是按“c”(continue)继续随后的攻击呢,还是按“e”(exit)放弃当前的攻击?如果我们选择了“e”,那么Wifite程序要么就会移动到下一个目标无线网络上,进行攻击。当然如果列表中没有无线网络了,那就程序退出运行了。
Wifite目前正在执行的,是一个类似于我们在本章的前面完成过的“ChopChop攻击”:
我们可以观察处于运行状态的进程(processe)中Wifite正在做什么。不幸的是,这款“Wi-Fi小菠萝”中的“ps”程序(该命令也是Linux下查看进程的主要命令──译者注)只能显示进行状态信息中的前78个字符。
当Wifite处于攻击的过程中时,它会打印“正在等待数据包”(waiting for packet)提示信息到用户的屏幕上。这样的提示信息有些轻微误导,因为此时的Wifite实际上等待的是通过“ChopChop攻击”解密一个数据包,而不是“等着”这样的一个数据包,然后在这个数据包出现的时候捕获到它。假设“ChopChop攻击”是成功的,那么Wifite会显示出下面新的提示信息。
注意,其中的“初始向量数/秒”(iv/sec)的速率显著高于之前的速度。这意味着某些攻击正在进行中,由攻击而导致的大量数据包也在网络间飞来跑去。几分钟之后,当然也可能是10分钟之后,我们有了足够的数据包,可以用来成功地破解密码了。一旦破解成功,我们就会收到一个成功的信息提示,如图3-12所示。
通过使用Wifite工具,可以极大地加快和简化攻击的过程。对于一个使用“有线等效保密协议”无线网络的对手,使用Wifite也可以降低攻击者的负担,减少攻击“有线等效保密协议”网络所需的专业技能和背景知识量。此外,除了支持对“有线等效保密协议”认证网络的破解,Wifite也支持攻击其他无线网络的技术,这部分内容,将在下一章中详细介绍。
✔ 对“针对WEP攻击”的防御措施
防范黑客对“有线等效保密协议”认证方式的攻击,最简单的办法就是弃用“有线等效保密协议”认证方式,进而改成“Wi-Fi保护访问版本2”认证方式。可说起来简单,做起来难。许多无线网络继续使用“有线等效保密协议”认证的原因是要兼容那些传统的老掉牙设备,或者是很多无线网络的使用者,根本也意识不到“有线等效保密协议”存在的不安全因素,而是一厢情愿地相信无线网络本来就是安全的。
- EXT4(Fourth extended filesystem,第4代扩展文件系统)是Linux系统下的日志文件系统,是Ext3文件系统的后继版本。非常适合超大容量和超大格式文件的存取。——译者注
- 对于笔记本电脑来上,要使用这款“Wi-Fi小菠萝”,有三种连接方式:第一种是通过USB连线连接设备;第二种是通过有线方式的以太网连线连到设备;第三种就是通过无线方式连接到设备。其中的有线方式,这款“Wi-Fi小菠萝”设备所提供的是10M/100M的慢速连接(当然这里指的相于对千M的快速以太网来说的)。——译者注
- ESSID是SSID的另一种称呼。——译者注
本书评论