本文由小茆同学编译,由陈裕铭、Roe校对,转载请注明。 字典攻击是最有效的攻击之一,因为它们依靠的是人类的记忆天性。人更倾向于选择那些容易记忆的密码,比如他们的宠物名字、出生日期、足球队等。BBC统计了英语字典中的171,146个单词,而一个以英语为母语的人(任何语言)知道15,000到20,000个词族(词组,或词根和转折词)。无论攻击速度如何,检查所有的英语单词都不会花费太多的时间。 “字典”和“词表”之间是有区别的。即使是简单的密码也不一定是字典中的“单词”,也可能是常见的组合(如 'qwerty')和缩略语(如 'ROFL&SMC')。那么普通的词表和优化的字典之间有什么区别吗? 字典的优化 优化字典可以提高在攻击开始时找到密码的概率。优化字典的一种方法是使用特定的词条顺序。例如,可以把最常用的词放在列表的顶部,而不太常用的词则可以放在列表的下方。 例如将自然语言字典和许多专业字典按词条的长度排序,最短的词条被放在列表的顶部,而最长的词条则在字典的底部。另一方面,泄露的密码字典总是按流行程度排序。 如果您正在编写自己的词典,您可能需要针对密码恢复任务对其进行优化。我们建议对由泄露的密码组成的字典使用频率排序(例如 '前100名'、'前10000名 '等等)。如果使用自然语言的字典,我们建议在不使用突变的情况下进行频率排序。如果考虑“突变”(密码变化),按长度排序会更有效率。 字典类型 字典可以分为以下几类: 普通密码 这些字典包含在某些社区或语言组中常见的密码。'Top-100'、'Top-10000'、各种泄露的密码列表和类似的字典都属于这一类。我们建议在所有的攻击中使用这些字典。 特定的字典 各类方言和俚语字典(如 '黑客俚语'),常见的名字和地标的字典都属于这一组。我们只建议使用这些字典,如果你知道用户可能正在设置属于该特定组别的密码(例如,在分析了他们现有的密码之后)。 自然语言的字典 这些可以是常见的英语单词或属于用户母语的单词。各种非拉丁字母的音译字典也属于这一组。这些字典可用于所有类型的攻击。 重复提取没那么容易 当设备引导到已安装的操作系统时,它不可避免地对用户分区进行多次修改。即使设备与所有无线网络隔离,即使重启后未解锁,iOS也会在日志文件中添加记录并更改多个时间戳。如我们所知,替换数据集中的单个位导致计算出非常不同的哈希值,这两个镜像将不再匹配。 为什么一开始就允许设备启动到iOS?通常,这是一种意外。将iOS设备放入DFU是一个需要精确计时的棘手过程。长按或短按按钮,设备可能会启动到系统中。由于重复提取可能由不同的专家处理,因此更可能出现这种结果。 我们试图通过提供一个选项来改变iOS设备的引导行为,从而使提取更安全。 突变的使用 要不要启用突变这取决于所使用的字典。例如,当使用属于'特定'或'自然语言'组的字典时,突变确实很方便,因为它们说明了常见的密码变化(例如,在密码末尾添加一个或多个数字或改变字母大小写)。另一方面,普通密码的字典并不能从启用突变中获益,因为它们已经包含了字典中的最终修改(当然,如果密码是基于某本字典的话)。 有两种主要的突变类型:通用和特殊。 我们建议对所有类型的攻击都使用通用突变,因为这些突变在组成密码时常用。例如,最常见的突变是将字典中的'password'变成类似'Password1'的东西,将第一个字母大写,并在最后加上一个数字。通用的突变对于冷攻击来说特别方便。 另一方面,专门的突变,一般来说很少使用。这种突变的一个很好的例子是'l00p'突变,它将普通的字典中的单词转化为'黑客的俚语'。我们只建议在你有理由相信用户可能以这种特殊方式组成密码时,才使用这些特殊的突变算法。 免费字典 可以使用从互联网上获得的文本字典或单词表来设置密码恢复攻击,但是必须确保字典被转换为支持的格式(见下文)。如果你要使用突变,我们建议把所有字母都变成小写;这不适用于常用密码的字典。你可以通过优化特定密码恢复工具的字典来进一步提高性能。以下设置适用于Elcomsoft Distributed Password Recovery。 对于常见的和专用字典:
如果你使用的是由现有密码组成的密码,请使用不同的工作流程。
自定义字典 你可以根据你的情况创建自定义字典。例如,自定义字典可以包含电话号码、日期、文件号码、特定用户的家庭成员或宠物的名字,以及任何其他可能被用作密码的个人信息。 我们建议根据你是否打算使用突变来处理这种密码。在没有突变的情况下,条目的顺序并不影响恢复的速度;你可能想把更常见的密码放在更靠近列表的顶部。 但是,如果你是根据自然词来制作密码,你可能需要使用突变来产生现实的密码。在这种情况下,我们建议进行小写字母转换和排序。 如果可能的话,尽量将字典的大小控制在一定范围内。大约10,000个词条就是一个好的字典,它可以和最常见的突变一起用于大多数数据格式。如果你使用的不是最基本的突变,一个太大的字典可能会阻碍攻击。 最后,Elcomsoft Distributed Password Recovery支持将两个字典的条目结合起来的攻击。这两本字典可以是不同的,也可以是同一本字典;在后一种情况下,密码将作为该字典的两个字的组合产生。请注意,如果你使用两个字典,要尝试的密码数量将是两个字典的倍数。 规格 Elcomsoft Distributed Password Recovery支持符合以下规格的字典。
结论 基于人类的记忆天性,字典攻击是破解密码的最有效方法之一。大多数用户倾向于使用容易记忆的密码,这些密码是基于可以在字典中找到的单词,这使得这些攻击更快、更容易成功。 有不同类型的字典,选择合适的字典并正确优化,可以缩短攻击的时间,同时提高成功率。突变也可以用来进一步增加找到密码的机会,同时增加运行攻击的时间。虽然可以使用互联网上的免费字典,但它们必须被转换为支持的格式,并为正在使用的特定密码恢复工具进行优化。通过了解各种类型的字典和变异,人们可以更好地计划和开展成功的密码恢复攻击。 参考链接: https://blog./2023/03/a-word-about-dictionaries/ |
|