现代无线网络使用WPA/WPA2进行安全保护,保护无线网络访问最常用的方法是预先共享密码,或者简单地说就是共享一个文本密码。WPA标准规定所有Wi-Fi密码的最小长度为8个字符,考虑到WPA/WPA2密码攻击的性能相对较低,即使使用GPU加速的计算机网络进行破解,暴力攻击也很少有效。在本文中,我将展示如何攻击无线密码以进行安全审计。
条件设置
首先,你需要一个WPA/WPA2握手转储。当你攻击Wi-Fi密码时,你将在密码恢复应用程序中使用这个转储文件。为了捕获WPA/WPA2握手,在Elcomsoft Wireless Security Auditor中使用内置的Wi-Fi嗅探器。
捕获WPA/WPA2握手的传统方法是使用专用的AirPCap无线适配器和专门的软件,Elcomsoft Wireless Security Auditor使AirPCap脱颖而出,提供了可在常规Wi-Fi适配器上运行的基于软件的Wi-Fi嗅探解决方案。微软对32位和64位Windows系统的自定义NDIS驱动程序进行了数字签名,可以安装在所有兼容的Windows版本上,包括最新的Windows 10版本。使用此工具,你可以自动拦截Wi-Fi流量,并对选定的Wi-Fi网络发起攻击。
注意:必须安装WinPCap驱动程序才能启用Wi-Fi嗅探功能,Elcomsoft Wireless Security Auditor随附了兼容的WinPCap驱动程序。
有关安装WinPCap和NDIS驱动程序以及捕获WPA/WPA2握手的信息,请参阅Elcomsoft Wireless Security Auditor手册。
你可以在Elcomsoft Wireless Security Auditor中攻击密码以进行GPU加速恢复,或者在Elcomsoft分布式密码恢复中使用多个计算机和多个GPU单元来加速攻击。
破解过程
WPA/WPA2始终至少包含8个字符,即使密码正好是8个字符长,你能使用暴力攻击来破解它吗?让我们计算一下!
包含扩展字符集中的字符(小写和大写字母,数字和特殊字符)的8个字符的密码具有6634204312890625个可能的组合,单个NVIDIA Tesla V100每秒可尝试多达650000个WPA / WPA2密码。
如果是这样的话,你需要大约323年才能用一块特斯拉V100主板破解密码。当然,你可以通过使用1000台电脑,每台电脑有8个V100板,来加快破解进度,并得到一个更合理的估计,但花这么多精力来破坏一个仅用8个字符密码保护的Wi-Fi网络,值得吗?
首先尝试电话号码
一个明智的方法就是使用本地电话号码列表,尽管此类密码相对少见,但有1%到3%的概率,我们仍然可以看到它们。考虑到这种攻击的持续时间很短,本地电话号码列表完全值得先尝试一下。
全数字密码
大量的Wi-Fi接入点都由8位数字组成的密码保护,尽管此攻击比尝试使用本地电话号码列表花费的时间更长,但是根据你的计算资源,它可能值得运行。单个视频卡将在三分钟内处理完所有数字密码,值得一试。
利用人为因素
既然是Wi-Fi密码,就意味着被很多人共享和使用。通常情况下,这些密码都是为了便于记忆和输入,尤其是在移动设备上。因此,许多密码是由一到三个字典字母、一些数字和很少的特殊字符组合而成的。换句话说,我们建议在审核Wi-Fi密码时使用自动调整的字典攻击。如果无线网络可以在给定的时间范围内经受带有变异的GPU辅助词典攻击,则可以认为该网络是安全的。
密码泄漏
每年都有数以百万计的用户账户被泄漏,数百万的密码被泄漏。我们强烈建议你获取最常用的密码列表,例如“前10000个密码”或“前1000万个密码”,并通过泄漏的密码字典进行简单,直接的攻击。
可以从GitHub获得最常用密码的字典。
字典
Wi-Fi密码通常包含一个或多个自然语言单词,你通常可以通过运行字典攻击来恢复这些密码。针对Wi-Fi密码的字典攻击需要一个或多个字典,英语单词词典是一个很好的起点,但是地方语言词典不应该被遗忘。
变异
用户经常尝试使用众所周知的单词并进行一些修改来“保护”密码。有时,修改中的内容足以通过强制执行的安全策略,例如:JohnSmith1, J0hnSm1th, Eva-1980, Peter1$等等。
为了帮助攻击普通用户选择的目标密码,我们开发了一个自动变异引擎。变异引擎会自动修改字典中的单词以模仿常见的模式。你可以很容易地将变异应用到字典单词上,当选择更多的变异或更高的变异水平时,需要更多的时间。
Elcomsoft Wireless Security Auditor提供了12种不同的变体,同时启用所有这些变异会极大地增加尝试密码的数量,使得在合理的时间内到达密码列表的末尾变得困难或不可能。出于这个原因,我们强烈建议使用合理数量的变异,并只选择那些可能在特定情况下使用的变异。
在现实生活中,以下三种变异最流行:
1. 大小写变异:大小写字符的不同变化。
2. 数字变异:在密码的开头或结尾添加一个或多个数字。
3. 年份变更:在密码末尾附加一个四位数的年份。
严格的密码安全策略
一些组织有严格的密码安全策略,要求使用一定数量的小字符、大写字母、数字和特殊字符。如果你知道这些规则,掩码攻击将通过只检查与已知结构匹配的密码来帮助你充分利用这些策略。
请注意:虽然“变异”攻击扩大了尝试的密码数量,但“掩码”却通过跳过对与设置的掩码不匹配的密码的检查来实现相反的目的。
详细信息,请点击这里。
组合攻击和混合攻击
在现实生活中,遇到由单个字典单词组成的密码是很少见的。通常情况下,密码由两三个单词和一些数字和特殊字符组成。这种组合和混合攻击的目标是允许你尝试由两个单词组成的密码,每个单词都来自字典。对于第一个和第二个单词,你可以使用相同或不同的字典。我们建议启用检查大小写组合、单词分隔符和额外的变异。
使用第一个选项时,程序将尝试将每个单词的首字母大写,即测试所有四个组合。第二个选项(使用单词分隔符)允许设置单词之间使用的不同字符(如破折号和下划线,不过也可以设置其他字符)。最后,你可以对所有产生的密码应用额外的变异(将使用字典变异选项)。该程序试图立即估计密码的总数,但变异不会被计算在内。
混合攻击甚至更复杂,允许指定描述密码的脚本规则,组合和混合攻击记录在本手册的“攻击设置”部分。
建议的Wi-Fi密码审核工作流程
我们建议的Wi-Fi密码审核工作流程包括以下步骤:
1. 准备本地电话号码列表,并将其保存为基于文本的字典文件,对该字典执行简单、直接、零变异的攻击;
2. 尝试使用全数字密码,根据可用的计算资源,你可以在几分钟内尝试包含8到10位数字的密码。从技术角度来看,这被认为是一种暴力攻击,,其配置如下:最小密码长度= 8;最大密码长度= 10;字符集:0123456789。
3. 通过前1000个和前1000万个密码列表进行攻击,同样,没有变异,只是简单的字典攻击;
4. 使用变异运行字典攻击(单个字典);
5. 使用掩码进行字典攻击;
6. 使用两个字典和变体运行混合攻击,注意:两个词典可以相同或不同,以帮助你尝试两个单词的组合。
本文翻译自:https://blog.elcomsoft.com/2020/03/breaking-wi-fi-passwords/如若转载,请注明原文地址: