Mask Attack是对暴力破解(brute-force attack)的改进。在传统的brute-force attack中,只能指定密码由什么构成,而不能对每一位进行设置。假设密码前5位是字母,后3位是数字,它会在每一位都使用数字和字母尝试。这样就造成大量的无效尝试。
而Mask Attack采用掩码的方式,可以指定每一位的构成。例如,使用?l表示小写字母,使用?d表示数字。这样?l?l?l?l?l?d?d?d就可以表示密码前5位是字母,后3位是数字,从而避免无效尝试。
Kali Linux提供Maskprocessor来根据掩码生成密码字典。该工具不仅支持掩码,还支持用户自定义字符集,可以更好的优化字典。