windows认证之本地认证

文章详细阐述了Windows认证的过程,包括本地认证涉及的winlogon.exe和lsass.exe进程,以及密码转化为LMHash和NTLMHash的步骤。LMHash通过DES加密魔术字符串KGS!@#$%,而NTLMHash则是对Unicode密码字符串进行MD4加密。这些知识对于理解内网渗透和密码安全至关重要。
摘要由CSDN通过智能技术生成

目录

1、window认证流程

2、LM Hash和NTLMHash

2.1LM Hash原理

2.2、NTLM Hash原理 


windows认证包括本地认证、网络认证和域认证三个部分windows认证和密码的抓取可以说是内网渗透的第一步。

 

1、window认证流程

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

SAM文件是位于 %SystemRoot%\system32\config\ 目录下的,用于储存本地所有用户的凭证信息,但当我们去进行点击的时候我们会发现无法直接查看。

简单来讲本地认证的流程可以分为五步:

winlogon.exe ——用户输入账号密码——lsass.exe——转换为NTLM Hash和SAM文件中的值相比——登录成功或失败。

用户注销、重启、锁屏后,操作系统会让winlogon.exe显示登陆界面,也就是输入框界面,接收用户的输入信息后,将密码交给lsass进程,这个过程中会存一份明文密码,将明文密码加密成NTLM Hash,对SAM数据库进行比较认证 。

Windows Logon Process(即winlogon.exe):是Windows NT 用户登陆程序,用于管理用户登陆和退出 

LSASS:用于微软Windows系统的安全机制,它用于本地安全和登陆策略 

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

2、LM Hash和NTLMHash

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

2.1LM Hash原理

a、将明文口令转换为其大写形式 假设这里以明文Admin@123为例,转换为大写格式为:ADMIN@123

b、 将字符串大写后转换为16进制字符串转换后为 41 44 4D 49 4E 40 31 32 33

c、密码不足14字节要求用0补全, 并分成2组7字节

 1Byte=8bit,上面的16进制字符串共9个字节,差5个字节 ,使用 00 00 00 00 00 补全为

 41 44 4D 49 4E 40 31 

32 33 00 00 00 00 00

d、将每一组7字节的十六进制转换为二进制,每7bit一组末尾加0,再转换成十六进制组成得到2组8字节的编码

第一组 

 e、将以上步骤得到的两组8字节编码,分别作为DES密钥,为魔术字符串 KGS!@#$% 进行加密 KGS!@#$%的16进制为 4B47532140232425 

f、最终结果拼接即可。

2.2、NTLM Hash原理 

a、将明文口令转换成十六进制的格式 如:Admin@123 转换成Unicode格式,即在每个字节之后添加0x00

如:

Admin@123转16进制 41646D696E40313233 

添加00:410064006D0069006E004000310032003300 

b、对Unicode字符串作MD4加密,生成32位的十六进制数字串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值