Windows本地认证之NTML哈希和LM哈希
目录
一、本地认证的流程
Windows的登陆密码是储存在系统本地的SAM文件中的,在登陆Windows的时候,系统会将用户输入的密码与 SAM文件中的密码进行对比,如果相同,则认证成功。
SAM文件是位于C:\Windows\System32\config\目录下,用于储存本地所有用户的凭证信息。
二、LM Hash加密流程
以Admin@123为例:
1、将明文口令转换为其大写形式 假设这里以明文Admin@123为例2、将字符串大写后转换为16进制字符串3、密码不足14字节要求用0补全- 41444D494E403132330000000000
复制代码 4、将上述编码分成2组7字节5.1、将每一组7字节的十六进制转换为二进制- 第一组:01000001010001000100110101001001010011100100000000110001
复制代码- 第二组:00110010001100110000000000000000000000000000000000000000
复制代码 5.2、每7bit一组末尾加0- 第一组:01000000 10100010 00010010 10101000 10010100 01110010 00000000 01100010
复制代码- 第二组:00110010 00011000 11000000 00000000 00000000 00000000 00000000 00000000
复制代码 5.3、还原再变成16进制- 第一组:0100000010100010000100101010100010010100011100100000000001100010
- 第一组16进制:40A212A894720062
复制代码- 第二组:0011001000011000110000000000000000000000000000000000000000000000
- 第二组16进制:3218C00000000000
复制代码 6、将以上步骤得到的两组8字节编码当做DES加密的密钥,明文为 KGS!@#$% 的16进制,为4B47532140232425,最终得到两组密文。7、最终得到LM Hash值:6F08D7B306B1DAD4B75E0C8D76954A50
三、NTLM Hash加密流程
1、将明文口令转换成十六进制的格式2、转换成Unicode格式,即在每个字节之后添加00- 410064006D0069006E004000310032003300
复制代码 3、对Unicode字符串作MD4加密,生成32位的十六进制数字串得到NTML Hash值- NTML Hash值:570a9a65db8fba761c1008a51d4c95ab
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |