This commit is contained in:
wizardforcel 2016-10-26 22:32:04 +08:00
parent c7eee78c0d
commit 2acf8dcf61
1 changed files with 88 additions and 0 deletions

88
ch6.md Normal file
View File

@ -0,0 +1,88 @@
# 第六章 攻击客户端
> 作者Vivek Ramachandran, Cameron Buchanan
> 译者:[飞龙](https://github.com/)
> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
## 简介
> 安全强度取决于最弱的部分。
> -- 信息安全领域的名言
多数渗透测试者似乎把全部注意力都放在 WLAN 设施上,而不会注意无线客户端。但是要注意,黑客也可以通过入侵无线客户端来获得授权网络的访问权。
这一章中,我们将注意力从 WLAN 设施转移到无线客户端。客户端可能是连接的,也可能是独立未连接的。我们会看一看以客户端为目标的几种攻击。
## 6.1 蜜罐和错误关联攻击
通常,当客户端例如笔记本电脑打开时,它会探测之前连接的网络。这些网络储存在列表中,在基于 Windows 的系统上叫做首选网络列表PNL。同时除了这个列表之外无线客户端会展示任何范围内的可用网络。
黑客可以执行一个或多个下列事情:
+ 静默监控探针,并建立伪造接入点,带有与客户端所搜索的 AP 相同的 ESSID。这会导致客户端连接到黑客的机器并认为它是正常的网络。
+ 创建和附近的 AP 带有相同 ESSID 的伪造接入点,并说服用户连接它。这种攻击非常易于在咖啡厅和机场实施,其中用户可能会寻找 WIFI 连接。
+ 使用记录信息来了解受害者的动作和习惯,我们会在之后的章节中展示。
这些攻击都叫做蜜罐攻击,因为黑客的接入点和正常的接入点错误连接。
下个练习中,我们会执行这两种攻击。
### 实战时间 -- 实施错误关联攻击
遵循这些指南来开始:
1. 之前的实验中,我们使用已经连接到` Wireless Lab `接入点的客户端。让我们切换客户端上,但不要连接到真实的` Wireless Lab `接入点上。让我们执行` airodump-ng mon0 `并检查输出。你不久会发现客户端处于`not associated `模式并且探测` Wireless Lab `和列表中的其它 SSID。
![](img/6-1-1.jpg)
2. 为了理解发生了什么,让我们运行 Wireshark 并开始嗅探`mon0`接口。像预期的一样,你可能看到一堆和我们不相关的封包。使用 Wireshark 过滤器,只显示来自你所使用的客户端 MAC 地址的探测请求封包。
![](img/6-1-2.jpg)
3. 我这里,过滤器是`wlan.fc.type_subtype == 0x04 && wlan.sa == <my mac>`。你应该看到了只来自之前识别的 SSID 的客户端的探测请求封包。
4. 让我们现在在黑客的主机上启动伪造接入点`Wireless Lab `,使用下列命令:
```
airbase-ng c 3 e "Wireless Lab" mon0
```
5. 等待几秒钟,客户端会自动连接到我们。这展示了让未关联的客户端连接时多么容易。
![](img/6-1-3.jpg)
6. 现在我们尝试和另一台路由器竞争,我们会创建伪造接入点`Wireless Lab`,同时存在正常的接入点。让我们打开接入点来确保`Wireless Lab`对客户端可用。对于这个实验,我们将接入点的频道设为 3。让客户端连接到接入点我们可以从`airodump-ng`中严重,像这样:
![](img/6-1-4.jpg)
7. 现在让我们启动 SSID 为`Wireless Lab`的伪造接入点:
![](img/6-1-5.jpg)
8. 要注意客户端仍旧会连接到`Wireless Lab`,也就是正常的接入点。
![](img/6-1-6.jpg)
9. 我们现在发送广播解除验证消息给客户端,代表正常接入点来断开连接。
![](img/6-1-7.jpg)
0. 假设对于客户端来说,我们的伪造接入点` Wireless Lab`信号强度强于正常接入点。它会连接到我们的伪造接入点而不是正常接入点。
![](img/6-1-8.jpg)
1. 我们可以通过观察`airodump-ng`输出来看到客户端重新关联到了我们的伪造接入点上。
![](img/6-1-9.jpg)
### 刚刚发生了什么?
我们刚刚使用来自客户端的探针列表来创建蜜罐,并使用和邻近接入点相同的 ESSID。在第一个例子中客户端在搜索网络的时候自动连接到了我们。第二个例子中因为我们离客户端比真正的接入点更近我们的信号强度就更高所以客户端连接到了我们。
### 试一试 -- 强迫客户端连接蜜罐
在上一个练习中,如果客户端不自动连接到我们,我们能做什么呢?我们需要发送解除验证封包来打破正常的客户端到接入点的链接,之后如果我们的信号强度更高,客户端会连接到我们的伪造接入点上。通过将客户端连接到正常接入点,之后强迫它连接蜜罐来尝试它。