哈希处理
Windows系统默认使用两种方法对用户的密码进行哈希处理,它们分别是 LAN Manager(LM)哈希和 NT LAN Manager(NTLM)哈希。hash就是使用一种加密函数对其进行加密。这个加密函数对一个任意长度的字符串数据进行一次数学加密函数运算,然后返回一个固定长度的字符串。Windows加密过的密码口令,我们称之为hash,Windows的系统密码hash默认情况下一般由两部分组成:第一部分是 LM-hash,第二部分是 NTLM-hash。在windows2000以后的系统中,第一部分的LM-hash 都是空值,因为LM-hash可以很容易的破解,所以windows2000之后这个值默认为空,所以第二部分的NTLM-hash才真正是用户密码的哈希值。现在已经有了更新的NTLM v2以及Kerberos验证体系。
LM-hash
LAN Manager(LM)哈希是Windows系统所用的第一种密码哈希算法。它只有唯一一个版本且一直用到NTLAN Manager(NTLM)哈希的出现,NTLM哈希用Windows 2000及其之后系统中。新版操作系统因兼容缘故仍然支持LM哈希算法。但是在Windows Vista和Windows 7 开始,LM-hash是默认关闭的。
LM加密过程
口令大写
转换为HEX(十六进制)
用0补齐14字节(112bit)
两组分组
每组7字节HEX转为二进制,每7bit一组末尾加0,再转换成十六进制组成得到2组8字节的编码
两组8字节编码,分别作为DES加密key为