Windows本地认证之NTML哈希和LM哈希
Windows本地认证之NTML哈希和LM哈希
一、本地认证的流程
Windows的登陆密码是储存在系统本地的SAM文件中的,在登陆Windows的时候,系统会将用户输入的密码与 SAM文件中的密码进行对比,如果相同,则认证成功。
SAM文件是位于C:\Windows\System32\config\目录下,用于储存本地所有用户的凭证信息。
二、LM Hash加密流程
以Admin@123为例:
1、将明文口令转换为其大写形式 假设这里以明文Admin@123为例
ADMIN@123
2、将字符串大写后转换为16进制字符串
41444D494E40313233
3、密码不足14字节要求用0补全
41444D494E403132330000000000
4、将上述编码分成2组7字节
第一组:41444D494E4031
第二组:32330000000000
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,最终得到两组密文。
第一组密文:6F08D7B306B1DAD4
第二组密文:B75E0C8D76954A50
7、最终得到LM Hash值:6F08D7B306B1DAD4B75E0C8D76954A50
三、NTLM Hash加密流程
1、将明文口令转换成十六进制的格式
41646D696E40313233
2、转换成Unicode格式,即在每个字节之后添加00
410064006D0069006E004000310032003300
3、对Unicode字符串作MD4加密,生成32位的十六进制数字串得到NTML Hash值
NTML Hash值:570a9a65db8fba761c1008a51d4c95ab
热门相关:骑士归来 无限杀路 法医娇宠,扑倒傲娇王爷 横行霸道 惊世毒妃:轻狂大小姐