现在我们了解了口令的加密方式,下面考察一些用于破解口令的工具。口令破解器通常使用下述三种方法之一:
— 字典攻击。
— 暴力攻击。
— 混合攻击。
在字典攻击(Dictionary Attack)中,使用了一个字典文件,它包含了要进行试验的所有可能口令。字典文件可以从互联网上下载,也可以自己创建。字典攻击速度很快,当我们要审计单位中使用的口令不是常用词汇时,这种方法十分有效。
暴力攻击(Brute Force Attack)试验组成口令的每一种可能的字符组合。这种类型的攻击通常要花费更长的时间,但在足够长的时间之后,最终肯定能够得到口令。
混合攻击(Hybrid Attack)将字典攻击和暴力攻击结合在一起。利用混合攻击,常用字典词汇与常用数字结合起来,用于破解口令。这样,将会检查诸如password123和123password这样的口令。
如果我们要通过口令破解来审查口令策略的实施情况,那么可以使用上述三种方法中的任何一种方法;如果我们仅仅要检查在口令中没有使用常用词汇,那么字典攻击就已经足够了。另一方面,如果我们要进行口令恢复,那么可以先进行字典攻击,不成功时再进行暴力攻击。
另外一种替代方法是使用彩虹表(Rainbow Table),也就是散列对照表。它的想法是,将已经破解的散列值存储起来,并在下一次破解口令时比较这些散列值。彩虹表存储了常用的散列组合,这样在破解口令时可以节省大量的时间。