# 第九章 无线渗透测试方法论

> 作者：Vivek Ramachandran, Cameron Buchanan

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

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

## 简介

> 空谈不如实干。

> -- 谚语

这一章会列出一些步骤，用于使用前几章所教授的技巧，并把它们变为完整的无线渗透测试。

## 无线渗透测试

为了进行无线渗透测试，遵循确定的方法论十分重要。仅仅执行`airbase `或`airodump`命令，并抱有乐观的心态并不满足测试目标。在作为渗透测试者工作的时候，你必须确保遵循为其工作的组织标准，并且如果它们没有的话，你应该遵循你自己的最高标准。

宽泛地说，我们可以将无线渗透测试划分为下列阶段：

1.  规划阶段
2.  探索阶段
3.  攻击阶段
4.  报告阶段

我们现在会分别观察这些阶段。

## 规划

在这个阶段，我们必须懂得下列事情：

+   评估范围：渗透测试者应该与客户端打交道，来定义所要到达的范围，并且同时获得网络安全的大量洞察。通常，需要收集下列信息：

    +   渗透测试的位置
    +   区域的全部覆盖范围
    +   所部署的接入点和无线客户端近似数量
    +   涉及到哪个无线网络
    +   是否存在利用
    +   是否需要针对用户的攻击
    +   是否需要拒绝服务
    
+   工作量估计：基于所定义的范围，测试者之后需要估算需要多少时间。要记住在此之后可能需要重新定义范围，因为组织可能在时间和金钱上只有有限的资源。

+   合法性：在执行测试之前，客户必须达成移植。这应该用于解释被涉及的测试，以及清晰定义补偿等级、保险和范围限制。如果你不确定，你需要和这个区域内的专家沟通。多数组织拥有他们自己的版本，也可能包含保密协议（NDA）。

一旦满足了所有先决条件，我们就可以开始了。

## 探索

这个阶段中，目标是识别和应用范围内无线设备和无线网络的特征。

所有用于完成它的技术已经在之前的章节中列出了，简单来说，目标就是：

+   枚举区域内所有可见和隐藏的无线网络。
+   枚举区域内的设备，以及连接到目标网络的设备。
+   映射区域内的网络，它们能够从哪里到达，以及是否有一个地方，恶意用户可以在这里执行攻击，例如咖啡厅。

所有这些信息应该被记录。如果测试仅限于侦查行为，测试在这里就结束了，测试者会试图基于这些信息作总结。一些语句对于客户可能有用，像这样：

+   连接到开放网络和公司网络的设备数量
+   拥有可以通过某个解决方案，例如 WiGLE ，连接到某个区域的网络的设备数量
+   存在弱加密
+   网络设置非常强大

## 攻击

一旦完成了侦查，就必须执行利用，用于证明概念。如果攻击作为红方或者更宽泛的评估的一部分，就应该尽可能秘密地执行利用来获得网络的访问权。

在我们的攻击阶段，我们会探索下列事情：

+   破解加密
+   攻击设施
+   入侵客户端
+   发现漏洞客户端
+   发现未授权的客户端

### 破解加密

第一步是获得所识别的任何漏洞网络的密钥。如果网络存在 WEP 加密，执行第四章中的 WEP 破解方法。如果它是 WPA2 加密的，你有两个选择。如果要秘密行动，在人们可能验证和解除验证的时间段，达到现场几次，这些时间段是：

+   一天的开始
+   午饭时间
+   一天的结束

这时，配置好你的 WPA 密钥检索器，像第四章那样。也可以执行解除验证攻击，就像第六章那样。

在成熟的组织中，这会产生噪声，并更容易被发现。

如果企业级 WPA 存在，要记住你需要使用侦查阶段收集的信息来定位正确的网络，并将你的伪造站点配置好，就像第八章那样。

你可以尝试破解所有密码，但是要记住有些是不能破解的。遵循测试的指南，检查无线管理员所使用的密码，看看密码是否足够安全。你作为测试者，不要由于工具或运气原因而失败。

### 攻击设施

如果网络访问由破解加密获得，如果允许的话，在范围内执行标准的网络渗透测试。至少应该执行下面这些：

+   端口扫描
+   识别运行的设备
+   枚举任何开放的服务，例如无验证的 FTP、SMB 或者 HTTP
+   利用任何识别的漏洞服务

### 入侵客户端

在枚举和测试所有无线系统之后，我们可以对客户端执行多种适合的攻击。

必要的话，在判断哪个客户端容易受到 Karma  攻击之后，创建蜜罐来迫使他们使用第八章中的方式连接。通过这种方式我们可以收集到多种有用的信息片段，但是要确保收集到的信息出于某个目的，并且以更安全的方式储存、传播和使用。

## 报告

最后，在测试的末尾，需要将你的发现报告给客户。确保报告符合测试的质量非常重要。由于客户仅仅会看到你的报告，你需要在执行测试的时候额外关注它。下面是报告大纲的指南：

+   管理总结
+   技术总结
+   发现：
    +   漏洞描述
    +   严重性
    +   受影响的设备
    +   漏洞类型 -- 软件/硬件/配置
    +   补救措施
+   附录

管理总结是为了汇报给非技术听众，应该专注于较高等级所需的影响和解决方案。避免太技术化的语言并确保涉及到了根本原因。

技术总结应该在管理总结和发现列表之间取得平衡。它的听众是开发者或者技术领导，专注于如何解决问题，和能够实现的更宽泛的解决方案。

发现列表应该在较低等级描述每个漏洞，解释用于识别、复制的方式，以及缺陷。

附录应该包含额外的信息，它们不能较短地描述。任何截图、POC、和窃取的数据应该展示在这里。

## 总结

这一章中，我们讨论了执行范围内的无线测试的方法论，并且引用了每一步的相关章节。我们也列出了用于报告错误的方法，以及使技术数据更加漂亮的技巧。下一章是最后一章，我们会涉及到自从这本书第一版发布以来的心肌桥，WPS，以及探针监控。
