本文介绍在 Ubuntu 12.04 LTS版本上安装和配置最近火热的 WIFI无线网络密码恢复和工具 Reaver及配套的 aircrack-ng工具包。
主要步骤:
1. 下载工具软件源代码
2. 安装必要的软件依赖库和工具
3. aircrack-ng
4. reaver
5. =)
下载源码
从这个网址下载 reaver源代码 http://code.google.com/p/reaver-wps wget http://reaver-wps.googlecode.com/files/reaver-1.4.tar.gz
解压 tar -xzvf reaver-1.4.tar.gz
安装必要的软件依赖库和工具
在您编译 reaver前需要先安装 pcaplib等工具,后面还需要 aircrack-ng sudo apt-get install libpcap-dev sqlite3 libsqlite3-dev libpcap0.8-dev
编译和安装
配置和编译 Reaver
cd reaver-1.4 cd src ./configure make
安装 Reaver
sudo make install
下载 aircrack-ng 源代码并编译
从 Ubuntu 12.04版本开始 aircrack-ng不再被包含在版本软件仓库中,不过我们可以从网上下载它的源代码进行编译安装。编译安装中有个小技巧,不做的话将导致编译不成功,如下:
www.linuxidc.com@linuxidc:~/aircrack-ng-1.1$ make make -C src all make[1]: Entering directory `/home/johan/aircrack-ng-1.1/src’ make -C osdep make[2]: Entering directory `/home/johan/aircrack-ng-1.1/src/osdep’ Building for Linux make[3]: Entering directory `/home/johan/aircrack-ng-1.1/src/osdep’ gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0 -fPIC -I.. -c -o osdep.o osdep.c gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0 -fPIC -I.. -c -o network.o network.c gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=0 -fPIC -I.. -c -o linux.o linux.c linux.c: In function ‘is_ndiswrapper’: linux.c:165:17: error: variable ‘unused’ set but not used [-Werror=unused-but-set-variable] linux.c: In function ‘linux_set_rate’: linux.c:334:22: error: variable ‘unused’ set but not used [-Werror=unused-but-set-variable] linux.c: In function ‘linux_set_channel’: linux.c:807:22: error: variable ‘unused’ set but not used [-Werror=unused-but-set-variable] linux.c: In function ‘linux_set_freq’: linux.c:896:22: error: variable ‘unused’ set but not used [-Werror=unused-but-set-variable] linux.c: In function ‘set_monitor’: linux.c:1022:22: error: variable ‘unused’ set but not used [-Werror=unused-but-set-variable] linux.c: In function ‘do_linux_open’: linux.c:1366:12: error: variable ‘unused_str’ set but not used [-Werror=unused-but-set-variable] linux.c:1352:15: error: variable ‘unused’ set but not used [-Werror=unused-but-set-variable] linux.c: In function ‘get_battery_state’: linux.c:1982:35: error: variable ‘current’ set but not used [-Werror=unused-but-set-variable] cc1: all warnings being treated as errors make[3]: *** [linux.o] Error 1 make[3]: Leaving directory `/home/johan/aircrack-ng-1.1/src/osdep’ make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/johan/aircrack-ng-1.1/src/osdep’
make[1]: *** [osd] Error 2
make[1]: Leaving directory `/home/johan/aircrack-ng-1.1/src’
make: *** [all] Error 2
下面是在 Ubuntu 12.04中编译安装 aircrack-ng的步骤
sudo apt-get install build-essential
sudo apt-get install libssl-dev
wget http://download.aircrack-ng.org/aircrack-ng-1.1.tar.gz
tar -zxvf aircrack-ng-1.1.tar.gz
cd aircrack-ng-1.1
用 vi编辑器打开文件 common.mak vi common.mak
找到下面这一行
CFLAGS ?= -g -W -Wall -Werror -O3
去掉 “-Werror”选项,去掉后这一行如下: CFLAGS ?= -g -W -Wall -O3
保存文件,接下来编译和安装
make
sudo make install
运行
现在已经安装完毕可以用了。您需要先将无线网卡用刚才安装的 aircrack-ng工具包里面的 airmon-ng 设置成监听模式。
首先设置无线网卡的监听模式
sudo airmon-ng start wlan0
运行 Reaver
sudo reaver -i mon0 -b 00:00:00:00:00:00
用您的目标 AP SSID MAC替换上面的 00:00:00:00:00:00后即可开始破解。本方法经我验证同样适合 reaver 1.3版本的安装。
更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2
Ubuntu 14.04 安装 minidwep-gtk, aircrack-ng, reaver 搭建抓包环境
一、相关依赖:sudo apt-get install build-essential libssl-dev iw libpcap-dev sqlite3 libsqlite3-dev libpcap0.8-dev libssl0.9.8 libnl libnl-dev
二、相关组件:(相关包网上自行下载)
1、aircrack-ng-1.1:
tar xvf aircrack-ng-1.1.tar.gz -C ./
cd aircrack-ng-1.1
然后修改common.mak 这个文件
找到:
CFLAGS ?= -g -W -Wall -Werror -O3修改为:
CFLAGS ?= -g -W -Wall -O3然后开始安装:
sudo make
sudo make install
2、reaver-1.4:
直接开始安装:
cd reaver-1.4
cd src
./configure
sudo make
sudo make install
3、minidwep-gtk-40420-ubuntu-64bit:
直接安装抓包程序:
sudo dpkg -i minidwep-gtk-40420-ubuntu-64bit.deb
三、运行软件:
sudo minidwep-gtk
四、遇到的问题:
1、最频繁的问题是依赖安装补全,版本不对应等问题,这个问题自行下去解决。
2、运行无反应问题:
这是我遇到的主要问题当我用 sudo minidwep执行程序时执行流程结束,cmd立即跳到下次命令行等待输入命令行状态。
这个问题通过查看进程也没有看到,但是我后面的另一个问题正好为我打开了契机。
通过第3个问题(后面会提及)我知道minidwep-gtk的执行主脚本位于/usr/local/bin/minileafdwep/minidwep-gtk.sh , 所以我们可以到具体的目录手动执行这个脚本,并且可以调试这个shell脚本。启动后果然minidwep的界面出来了。
只是在无线网卡那一栏并没有看到 我们的wlan0无线网卡,导致扫描不出wifi热点信息。
下面我们来看看minidwep-gtk.sh的代码,稍微分析分析,通过调试发现:
[ “$dialog” = “Xdialog” ]&&Xdialog –title “$dg_1” –msgbox “$msg_57” 10 40
[ “$dialog” = “kdialog” ]&&kdialog –title “$dg_1” –msgbox “$msg_57”
[ “$dialog” = “zenity” ]&&zenity –title=”$dg_1″ –error –text=”$msg_57″
if [ -n “`which NetworkManager`” ];then
sudo /etc/init.d/NetworkManager stop&
sudo /etc/init.d/networkmanager stop&
/etc/rc.d/rc.networkmanager stop&
fi
minidwep会调用linux自身的系统组件 比如上面的networkManager。
所以我们可以:
第一:如果没有相关的系统服务(上面仅是一个例子,可能你缺少其他系统组件),安装之。
第二:我们不仅要有这些服务,并且也要让minidwep能够访问这些服务,所以加权限之。
这里我就直接用root 去 再次运行 minidwep-gtk.sh这个脚本了。
果然,wlan0网卡能够检测,并且也能扫描到wifi热点信息,而且也能得到后面待分析与处理的握手包了。
效果如下图:
3、运行卡住的问题:
我通过查看进程情况,看到minidwep一致处于cpu100%的情况,终端一致卡在sudo minidwep-gtk上。
仍然调试得到原因:我本身机器是64位的, 我之前安装的minidwep-gtk 是 32位的 或者是30×××版本的,导致需要lib32的运行库,所以这里要么我用64位的包,要么我安装lib32的一系列基于32位的运行库解决之。
五、总结:
分析源码调试更有方向性。