ch9.md 18.4 KB
Newer Older
W
9.1  
wizardforcel 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14
# 第九章 无线攻击

> 作者:Willie L. Pritchett, David De Smet

> 译者:[飞龙](https://github.com/)

> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)

## 简介

当今,无线网络随处可见。由于用户四处奔走,插入以太网网线来获取互联网访问的方式非常不方便。无线网络为了使用便利要付出一些代价;无线连接并不像以太网连接那样安全。这一章中,我们会探索多种方式来操作无线网络流量,这包括移动电话和无线网络。

### 9.1 WEP 无线网络破解

W
9.2~9.3  
wizardforcel 已提交
15
WEP(无线等效协议)于 1999 年诞生,并且是用于无线网络的最古老的安全标准。在 2003 年,WEP 被 WPA 以及之后被 WPA2 取代。由于可以使用更加安全的协议,WEP 加密很少使用了。实际上,推荐你永远不要使用 WEP 加密来保护你的网络。有许多已知的方式来攻击 WEP 加密,并且我们在这个秘籍中会探索这些方式之一。
W
9.1  
wizardforcel 已提交
16

W
9.2~9.3  
wizardforcel 已提交
17
这个秘籍中,我们会使用 AirCrack 套件来破解 WEP 密码。 AirCrack 套件(或 AirCrack NG)是 WEP 和 WPA 密码破解程序,它会抓取无线网络封包,分析它们,使用这些数据来破解 WEP 密码。
W
9.1  
wizardforcel 已提交
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

### 准备

为了执行这个秘籍中的任务,需要Kali 终端窗口的经验。也需要受支持的配置好的无线网卡,用于封包注入。在无线网卡的例子中,封包注入涉及到发送封包,或将它注入到双方已经建立的连接中。请确保你的无线网卡允许封包注入,因为并不是所有无线网卡都支持它。

### 操作步骤

让我们开始使用 AirCrack 来破解WEP 加密的网络会话。

1.  打开终端窗口,并产生无线网络接口的列表:

    ```
    airmon-ng
    ```
    
2.`interface`列下,选择你的接口之一。这里,我们使用`wlan0`。如果你的接口不同,例如`mon0`,请将每个提到`wlan0`的地方都换成它。

3.  下面,我们需要停止`wlan0`接口,并把它关闭,便于我们接下来修改 MAC 地址。

    ```
    airmon-ng stop 
    ifconfig wlan0 down
    ```
    
4.  下面,我们需要修改我们接口的 MAC 地址。由于机器的 MAC 地址会在任何网络上标识你的存在,修改机器的标识允许我们隐藏真正的 MAC 地址。这里,我们使用`00:11:22:33:44:55`

    ```
    macchanger --mac 00:11:22:33:44:55 wlan0 
    ```
    
5.  现在我们需要重启` airmon-ng`

    ```
    airmon-ng start wlan0
    ```
    
6.  下面,我们会使用` airodump`来定位附近的可用无线网络。

    ```
    airodump-ng wlan0 
    ```
    
W
9.2~9.3  
wizardforcel 已提交
60
7.  这会出现可用无线网络的列表。一旦你找到了你想要攻击的网络,按下`Ctrl + C`来停止搜索。选中`BSSID`列中的 MAC 地址,右击你的鼠标,并且选择复制。同时,把网络正在发送哪个频道的信号记录下载。你会在`Channel`列中找到这个信息。这里,这个频道是`10`
W
9.1  
wizardforcel 已提交
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87

8.  现在运行`airodump`,并且将所选`BSSID`的信息复制到文件中。我们会使用下列选项:

    +   `-c`允许我们选择频道。这里我们选择`10`。
    
    +   `-w`允许我们选择文件名称。这里我们选择`wirelessattack`。
    
    +   `-bssid`允许我们选择我们的`BSSID`。这里,我们从剪贴板上粘贴`09:AC:90:AB:78`。
    
    ```
    airodump-ng –c 10 –w wirelessattack --bssid 09:AC:90:AB:78 wlan0 
    ```
    
9.  新的窗口会打开,并展示这个命令的输出。保持这个窗口开着。

0.  打开另一个终端窗口,为了尝试组合它们,我们运行`aireplay`。它拥有下列语法:`aireplay-ng -1 0 –a [BSSID] –h [our chosen MAC address] –e [ESSID] [Interface]`

    ```
    aireplay-ng -1 0 -a 09:AC:90:AB:78 –h 00:11:22:33:44:55 –e backtrack wlan0
    ```
    
1.  下面,我们发送一些浏览器给路由器,便于捕获一些数据。我们再次使用`aireplay`,以下列格式:` aireplay-ng -3 –b [BSSID] – h [Our chosen MAC address] [Interface]`

    ```
    aireplay-ng -3 –b 09:AC:90:AB:78 –h 00:11:22:33:44:55 wlan0
    ```
    
W
9.2~9.3  
wizardforcel 已提交
88
2.  你的屏幕会开始被流量填满。将它运行一到两分钟,直到你拥有了用来执行破解的信息。
W
9.1  
wizardforcel 已提交
89 90 91 92 93 94 95 96 97 98 99

3.  最后我们运行 AirCrack 来破解 WEP 密码。

    ```
    aircrack-ng –b 09:AC:90:AB:78 wirelessattack.cap 
    ```
    
    这就结束了。
    
### 工作原理

W
9.2~9.3  
wizardforcel 已提交
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226
在这个秘籍中,我们使用了 AirCrack 套件来破解无线网络的 WEP 密码。AirCrack 是最流行的 WEP 破解工具之一。AirCrack 通过收集 WEP 无线连接的封包来工作,之后它会通过算术分析数据来破解 WEP 加密密码。我们通过启动 AirCrack 并选择我们想要的接口来开始。下面,我们修改了 MAC 地址,这允许我们修改互联网上的身份,之后使用`airodump`搜索可用的无线网络来攻击。一旦我们找到了打算攻击的网络,我们使用`aireplay`来将我们的机器与正在攻击的无线设备的 MAC 地址关联。我们最后收集到了一些流量,之后暴力破解生成的 CAP 文件来获得无线密码。

## 5.2 WPA/WPA2 无线网络破解

WPA(无线保护访问)于 2003 年诞生,并且为保护无线网络和取代过时的旧标准 WEP 而创建。WEP 被 WPA 以及之后的 WPA2 代替。由于存在更加安全的协议,WEP 很少使用了。

这个秘籍中,我们会使用 AirCrack 套件来破解 WPA 密码。 AirCrack 套件(或 AirCrack NG)是 WEP 和 WPA 密码破解程序,它抓取网络封包,分析它们,并使用这些数据破解 WPA 密码。

### 准备

为了执行这个秘籍中的任务,需要Kali 终端窗口的经验。也需要受支持的配置好的无线网卡,用于封包注入。在无线网卡的例子中,封包注入涉及到发送封包,或将它注入到双方已经建立的连接中。

### 操作步骤

让我们开始使用 AirCrack 来破解WEP 加密的网络会话。

1.  打开终端窗口,并产生无线网络接口的列表:

    ```
    airmon-ng
    ```
    
    ![](img/9-2-1.jpg)
    
2.`interface`列下,选择你的接口之一。这里,我们使用`wlan0`。如果你的接口不同,例如`mon0`,请将每个提到`wlan0`的地方都换成它。

3.  下面,我们需要停止`wlan0`接口,并把它关闭,便于我们接下来修改 MAC 地址。

    ```
    airmon-ng stop 
    ifconfig wlan0 down
    ```
    
4.  下面,我们需要修改我们接口的 MAC 地址。由于机器的 MAC 地址会在任何网络上标识你的存在,修改机器的标识允许我们隐藏真正的 MAC 地址。这里,我们使用`00:11:22:33:44:55`

    ```
    macchanger --mac 00:11:22:33:44:55 wlan0 
    ```
    
5.  现在我们需要重启` airmon-ng`

    ```
    airmon-ng start wlan0
    ```
    
6.  下面,我们会使用` airodump`来定位附近的可用无线网络。

    ```
    airodump-ng wlan0 
    ```
    
7.  这会出现可用无线网络的列表。一旦你找到了你想要攻击的网络,按下`Ctrl + C`来停止搜索。选中`BSSID`列中的 MAC 地址,右击你的鼠标,并且选择复制。同时,把网络正在发送哪个频道的信号记录下载。你会在`Channel`列中找到这个信息。这里,这个频道是`10`

8.  现在运行`airodump`,并且将所选`BSSID`的信息复制到文件中。我们会使用下列选项:

    +   `-c`允许我们选择频道。这里我们选择`10`。
    
    +   `-w`允许我们选择文件名称。这里我们选择`wirelessattack`。
    
    +   `-bssid`允许我们选择我们的`BSSID`。这里,我们从剪贴板上粘贴`09:AC:90:AB:78`。
    
    ```
    airodump-ng –c 10 –w wirelessattack --bssid 09:AC:90:AB:78 wlan0 
    ```
    
9.  新的窗口会打开,并展示这个命令的输出。保持这个窗口开着。

0.  打开另一个终端窗口,为了尝试组合它们,我们运行`aireplay`。它拥有下列语法:`aireplay-ng -1 0 –a [BSSID] –h [our chosen MAC address] –e [ESSID] [Interface]`

    ```
    Aireplay-ng --deauth 1 –a 09:AC:90:AB:78 –c 00:11:22:33:44:55 wlan0 
    ```
    
1.  最后我们运行 AirCrack 来破解 WEP 密码。`-w`选项允许我们指定单词列表的位置。我们使用事先命名的`.cap`文件。这里,文件名称是`wirelessattack.cap`

    ```
    Aircrack-ng –w ./wordlist.lst wirelessattack.cap
    ```
    
    这就结束了。

### 工作原理

在这个秘籍中,我们使用了 AirCrack 套件来破解无线网络的 WPA 密码。AirCrack 是最流行的 WPA 破解工具之一。AirCrack 通过收集 WPA 无线连接的封包来工作,之后它会通过算术分析数据来破解 WPA 加密密码。我们通过启动 AirCrack 并选择我们想要的接口来开始。下面,我们修改了 MAC 地址,这允许我们修改互联网上的身份,之后使用`airodump`搜索可用的无线网络来攻击。一旦我们找到了打算攻击的网络,我们使用`aireplay`来将我们的机器与正在攻击的无线设备的 MAC 地址关联。我们最后收集到了一些流量,之后暴力破解生成的 CAP 文件来获得无线密码。

## 9.3 无线网络自动化破解

这个秘籍中我们会使用 Gerix 将无线网络攻击自动化。Gerix 是AirCrack的自动化 GUI。Gerix 默认安装在 Kali Linux 中,并且能够加速我们的无线网络破解过程。

### 准备

为了执行这个秘籍中的任务,需要Kali 终端窗口的经验。也需要受支持的配置好的无线网卡,用于封包注入。在无线网卡的例子中,封包注入涉及到发送封包,或将它注入到双方已经建立的连接中。

### 操作步骤

让我们开始使用 Gerix 进行自动化的无线网络破解。首先下载它:

1.  使用`wget`,访问下面的网站并下载 Gerix:

    ```
    wget https://bitbucket.org/Skin36/gerix-wifi-cracker-pyqt4/ downloads/gerix-wifi-cracker-master.rar
    ```
    
2.  文件下载好之后,我们需要从 RAR 文件中解压数据。

    ```
    unrar x gerix-wifi-cracker-master.ra
    ```
    
3.  现在,为了保持文件一致,让我们将 Gerix 文件夹移动到` /usr/share `目录下,和其它渗透测试工具放到一起。

    ```
    mv gerix-wifi-cracker-master /usr/share/gerix-wifi-cracker
    ```

4.  让我们访问 Gerix 所在的目录:

    ```
    cd /usr/share/gerix-wifi-cracker
    ```
    
5.  我们键入下列命令来启动 Gerix:

    ```
    python gerix.py
    ```
    
W
fix  
wizardforcel 已提交
227
    ![](img/9-3-1.jpg)
W
9.2~9.3  
wizardforcel 已提交
228 229 230 231 232
    
6.  点击`Configuration`(配置)标签页。

7.`Configuration`标签页中,选择你的无线接口。

W
9.4  
wizardforcel 已提交
233
8.  点击`Enable/Disable Monitor Mode `(开启/停止监控器模式)按钮。
W
9.2~9.3  
wizardforcel 已提交
234 235 236 237 238 239 240

9.  在监控模式启动之后,在` Select Target Network`(选择目标网络)下面,点击` Rescan Networks `(重新扫描网络)按钮。

0.  目标网络的列表会填满。选择无线网络作为目标。这里,我们选择了 WEP 加密的网络。

1.  点击 WEP 标签页。

W
fix  
wizardforcel 已提交
241
    ![](img/9-3-2.jpg)
W
9.2~9.3  
wizardforcel 已提交
242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271

2.` Functionalities`(功能)中,点击` Start Sniffing and Logging `(开启嗅探和记录)按钮。

3.  点击 `WEP Attacks (No Client)`(WEP 攻击 无客户端)子标签页。

4.  点击` Start false access point authentication on victim `(开启目标上的伪造接入点验证)按钮。

5.  点击`Start the ChopChop attack`(开始断续攻击)按钮。

6.  在打开的终端窗口中,对`Use this packet `(使用这个封包)问题回答`Y`

7.  完成之后,复制生成的`.cap`文件。

8.  点击` Create the ARP packet to be injected on the victim access  point`(创建注入到目标接入点的 ARP 封包)按钮。

9.  点击`Inject the created packet on victim access point`(将创建的封包注入到目标接入点)按钮。

0.  在打开的终端窗口中,对`Use this packet `问题回答`Y`

1.  收集了大约 20000 个封包之后,点击`Cracking`(破解)标签页。

2.  点击`Aircrack-ng – Decrypt WEP Password`(解密 WEP 密码)按钮。

    这就结束了。
    
### 工作原理

这个秘籍中,我们使用了 Gerix 来自动化破解无线网络,为获得 WEP 密码。我们以启动 Gerix 并开启监控模式接口来开始这个秘籍。下面,我们从由 Gerix 提供的攻击目标的列表中选择我们的目标。在我们开始嗅探网络流量之后,我们使用  Chop Chop 来生成 CAP 文件。我们最后以收集 20000 个封包并使用 AirCrack 暴力破解 CAP 文件来结束这个秘籍。

使用 Gerix,我们能够自动化破解 WEP 密码的步骤,而不需要手动在终端窗口中键入命令。这是一种非常棒的方式,能够快速高效地破解 WEP 加密的网络。
W
9.4  
wizardforcel 已提交
272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326

## 9.4 使用伪造接入点连接客户端

这个秘籍中,我们会使用 Gerix 来创建并设置伪造接入点(AP)。建立伪造接入点让我们能够收集每个连接它的计算机的信息。人们通常会为了便利而牺牲安全。连接到开放无线接入点并发送简短的电子邮件,或登录到社交网络中非常方便。Gerix 是 AirCrack 的自动化 GUI。

### 准备

为了执行这个秘籍中的任务,需要Kali 终端窗口的经验。也需要受支持的配置好的无线网卡,用于封包注入。在无线网卡的例子中,封包注入涉及到发送封包,或将它注入到双方已经建立的连接中。


### 操作步骤

让我们开始使用 Gerix 创建伪造的 AP。

1.  让我们访问 Gerix 所在的目录:

    ```
    cd /usr/share/gerix-wifi-cracker
    ```
    
2.  键入下面的命令来使用 Gerix:

    ```
    python gerix.py
    ```
    
    ![](img/9-4-1.jpg)
    
3.  点击` Configuration`(配置)标签页。

4.`Configuration`标签页中,选择你的无线接口。

5.  点击`Enable/Disable Monitor Mode`(开启/停止监控器模式)按钮。

6.  在监控模式启动之后,在` Select Target Network`(选择目标网络)下面,点击` Rescan Networks `(重新扫描网络)按钮。

7.  目标网络的列表会填满。选择无线网络作为目标。这里,我们选择了 WEP 加密的网络。

8.  点击`Fake AP`(伪造接入点)标签页。

    ![](img/9-4-2.jpg)
    
9.  修改` Access Point ESSID`(接入点 ESSID),将其从`honeypot`修改为不会引起怀疑的名称。这里我们使用` personalnetwork`

    ![](img/9-4-3.jpg)
    
0.  其它选项使用默认。为了开启伪造接入点,点击` Start Face Access Point`(开启伪造接入点)按钮。

    ![](img/9-4-4.jpg)
    
    这就结束了。
    
### 工作原理

这个秘籍中,我们使用了 Gerix 来创建伪造接入点。创建伪造接入点是一个非常好的方式,来收集没有防备用户的信息。原因是,对于受害者来说,它们表现为正常的接入点,所欲会使它被用户信任。使用 Gerix,我们可以只通过几次点击来自动化创建和设置伪造接入点。
W
9.5~9.6  
wizardforcel 已提交
327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400

## 9.5 URL 流量操纵

这个密集中,我们会进行 URL 流量操纵攻击。URL 流量操纵非常类似于中间人攻击,因为我们会让去往互联网的流量首先通过我们的机器。我们使用 ARP 毒化来执行这个攻击。ARP 毒化是一种技巧,让我们能够在局域网中发送欺骗性的 ARP 信息给受害者。我们会使用 arpspoof 来执行这个秘籍。

### 操作步骤

让我们开始进行 URL 流量操纵。

1.  打开终端窗口并执行下面的命令,来配置 IP 表使我们能够劫持流量:

    ```
    sudo echo 1 >> /proc/sys/net/ipv4/ip_forward
    ```
    
2.  下面,我们启动 arpspoof 来毒化从受害者主机到默认网关的流量。这个例子中,我们在局域网中使用 Windows 7 主机,地址为` 192.168.10.115`。Arpspoof 有一些选项,包括:

    +   `-i`允许我们选择目标接口。这里我们选择`wlan0`。
    +   `-t`允许我们指定目标。
    
    > 整个命令的语法是`arpspoof –i [interface] –t [target IP address] [destination IP address]`。
    
    ```
    sudo arpspoof –i wlan0 -t 192.168.10.115 192.168.10.1
    ```
    
3.  接着,我们执行另一个 arpspoof 命令,它会从上一个命令的目的地(这里是默认网关)取回流量,并使流量经过我们的 Kali 主机。这个例子中,我们的 IP 地址是` 192.168.10.110`

    ```
    sudo arpspoof –i wlan0 -t 192.168.10.1 192.168.10.110 
    ```
    
    这就结束了。
    
### 工作原理

这个秘籍中,我们使用 arpspoof 通过 ARP 毒化来操纵受害者主机到路由器之间的流量,使其通过我们的 Kali 主机。一旦流量被重定向,我们就可以对受害者执行其它攻击,包括记录键盘操作,跟踪浏览的网站,以及更多。

## 9.6 端口重定向

这个秘籍中,我们使用 Kali 来进行端口重定向,也叫做端口转发或端口映射。端口重定向涉及到接收发往某个端口,比如 80 的数据包,并把它重定向到不同的端口上,比如 8080。执行这类攻击的好处很多,因为你可以将安全的端口重定向为非安全的端口,或者将流量重定向到特定的设备的特定端口,以及其它。

### 操作步骤


让我们开始进行端口重定向/转发。

1.  打开终端窗口并执行下列命令来配置 IP 表,使我们能够劫持流量:

    ```
    Sudo echo 1 >> /proc/sys/net/ipv4/ip_forward
    ```
    
2.  下面,我们启动 arpspoof 来毒化去往默认网关的流量。这个例子中,默认网关的 IP 地址为 ` 192.168.10.1`。Arpspoof 有一些选项,包括:

    +   `-i`允许我们选择目标接口。这里我们选择`wlan0`。
    
    > 整个命令的语法是`arpspoof –i [interface] [destination IP address]`。
    
    ```
    sudo arpspoof –i wlan0 192.168.10.1
    ```
    
3.  接着,我们执行另一个 arpspoof 命令,它会从上一个命令的目的地(这里是默认网关)取回流量,并使流量经过我们的 Kali 主机。这个例子中,我们的 IP 地址是` 192.168.10.110`

    ```
    iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
    ```
    
    这就结束了。
    
### 工作原理

这个秘籍中,我们使用 arpspoof 通过 ARP 毒化和 IPTables 路由,将网络上发到端口 80 的流量重定向到 8080。执行这类攻击的好处很多,因为你可以将安全的端口重定向为非安全的端口,或者将流量重定向到特定的设备的特定端口,以及其它。