Windows本地认证之NTML哈希和LM哈希

打印 上一主题 下一主题

主题 924|帖子 924|积分 2772

Windows本地认证之NTML哈希和LM哈希


目录

一、本地认证的流程

Windows的登陆密码是储存在系统本地的SAM文件中的,在登陆Windows的时候,系统会将用户输入的密码与 SAM文件中的密码进行对比,如果相同,则认证成功。
SAM文件是位于C:\Windows\System32\config\目录下,用于储存本地所有用户的凭证信息。
二、LM Hash加密流程

以Admin@123为例:
1、将明文口令转换为其大写形式 假设这里以明文Admin@123为例
  1. ADMIN@123
复制代码
2、将字符串大写后转换为16进制字符串
  1. 41444D494E40313233
复制代码
3、密码不足14字节要求用0补全
  1. 41444D494E403132330000000000
复制代码
4、将上述编码分成2组7字节
  1. 第一组:41444D494E4031
复制代码
  1. 第二组:32330000000000
复制代码
5.1、将每一组7字节的十六进制转换为二进制
  1. 第一组:01000001010001000100110101001001010011100100000000110001
复制代码
  1. 第二组:00110010001100110000000000000000000000000000000000000000
复制代码
5.2、每7bit一组末尾加0
  1. 第一组:01000000 10100010 00010010 10101000 10010100 01110010 00000000 01100010
复制代码
  1. 第二组:00110010 00011000 11000000 00000000 00000000 00000000 00000000 00000000
复制代码
5.3、还原再变成16进制
  1. 第一组:0100000010100010000100101010100010010100011100100000000001100010
  2. 第一组16进制:40A212A894720062
复制代码
  1. 第二组:0011001000011000110000000000000000000000000000000000000000000000
  2. 第二组16进制:3218C00000000000
复制代码
6、将以上步骤得到的两组8字节编码当做DES加密的密钥,明文为 KGS!@#$% 的16进制,为4B47532140232425,最终得到两组密文。
  1. 第一组密文:6F08D7B306B1DAD4
复制代码
  1. 第二组密文:B75E0C8D76954A50
复制代码
7、最终得到LM Hash值:6F08D7B306B1DAD4B75E0C8D76954A50
三、NTLM Hash加密流程

1、将明文口令转换成十六进制的格式
  1. 41646D696E40313233
复制代码
2、转换成Unicode格式,即在每个字节之后添加00
  1. 410064006D0069006E004000310032003300
复制代码
3、对Unicode字符串作MD4加密,生成32位的十六进制数字串得到NTML Hash值
  1. NTML Hash值:570a9a65db8fba761c1008a51d4c95ab
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

三尺非寒

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表