哈希传递

Windows的密码是怎么存储和认证的

1、SAM 文件 Windows 的登陆密码是储存在系统本地的 SAM 文件中的,在登陆 Windows 的时候系统会将用户输入的密码与SAM 文件中的密码进行对比,如果相同,则认证成功。

SAM文件是位于%SystemRoot%\system32\config 目录下的,用于储存本机的凭证信息,但是这并不代表着你可以随意去查看系统密码。

如何认证:

本地认证中用来处理用户输入密码的进程即lsass.exe,密码会在这个进程中明文保存,供该进程将密码计算成NTLM Hash 与sam 进行比对我们使用 mimikatz 来获取的明文密码便是在这个进程中读取到的

LM和NTLM哈希介绍

Windows操作系统通常使用两种方法对用户的明文密码进行加密处理。在域环境中,用户信息存储在 ntds.dit_中加密后为散列值。Windows 操作系统中的密码一般由两部分组成一部分为 LM Hash,另一部分为 NTLMHash。在 Windows 操作系统中,Hash 的结构通常如下。

username:RID:LM-HASH:NT-HASHK

LM哈希(已过时)

加密过程

Admin@123 1、将明文口令转换为其大写形式

Admin@123----- ADMIN@123

2、将字符串大写后转换为 16 进制字符串

41444D494E40313233

3、密码不足14字节要求用0 补全

41 44 4D 49 4E 40 31 32 33 00 00 00 00 00

4、将上述编码分成2组,将每组字节的十六进制转换为二进制,每 组末尾加 0,再转换成十六进制组成得到2组8字节的编码

第一组:40A212A894720062\第二组:3218C00000000000

5、将以上步骤得到的两组8字节编码,分别作为DES 加密 key,为魔术字符串KGS!@#$%、进行加密。(使用des加密工具,明文输入魔法字符串的16进制)得出密文:

第一组:6F08D7B306B1DAD4\第二组: B75E0C8D76954A50

6、合并两组数据的出LM HASH(哈希)

6F08D7B306B1DAD4 B75EOC8D76954A50

NTML HASH

Admin@1234 1、将明文口令转换成十六进制的格式 41646D696E403132334

2、转换成Unicode 格式(每个子节后加两个零) 410064006D0069006E0040003100320033004

3、对Unicode字符串作MD4 加密(哈希计算器)

4、得到的密文就是 NTLM 570a9a65db8fba761c1008a51d4c95ab

Mimikztz(工具)抓取密码

1、直接抓取 SAM 文件的密码

2、去 lsass 进程抓取

实验PTH(pass the hash)攻击

利用条件:内网中管理员给不同pc配置啦相同密码

实验前提:已经控制内网中一台机器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值