windows登录的明文密码存储过程

2024-04-26 03:44

本文主要是介绍windows登录的明文密码存储过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文:

        在windows中,一般是通过保存密码的hash值来确保安全性,Windows 默认使用NTLM或Kerberos 身份认证协议进行加密存储密码。

        存储过程:

                (1)尝试登录

                (2)客户端对密码进行哈希处理并缓存密码hash,丢弃实际的明文密码()然后将用户名发送到服务器,发起认证请求。

                (3)服务器会生成一个16字节的随机数,挑战码(challenge),再传回客户端

                (4)当客户端收到challenge以后,会复制一份出来,然后用缓存中的密码hash对它加密,结果称为response,表现形式是Net-NTLM Hash,之后客户端再将challenge,response及用户名一并都传给服务器。

                (5)服务器端在收到客户端传过来的这三个值以后会把它们都转发给DC

                (6)当DC接到过来的这三个值以后,会根据用户名到AD里面找到该用户名对应的NTLM Hash,然后用这个hash和传过来的challenge值再混合加密一次

                (7)将加密后的hash值跟传过来的response进行比较,相同则认证成功反之,则失败

        NTLM(NT LAN Manager):

                (1)NTLM是windows早期版本中使用的一种身份验证协议,现在仍然在某些情况下使用,尽管在现代系统已经被Kerberos取代。

                (2)在NTLM身份验证中,服务器向客户端发送一个随机的质询(challenge),客户端使用用户的密码来计算响应(response),然后将响应发送回服务器,服务器使用与存储的密码哈希值相同的算法来验证响应。

                (3)NTLM身份验证中存在一些安全问题。传输过程中可能被中间人攻击截获密码哈希值的风险;在某些情况下可能会暴露密码的明文形式在内存中。

                (4)在NTLM认证中,NTLM响应分为NTLM v1,NTLMv2,NTLM session v2三种协议,不同协议使用不同格式的Challenge和加密算法,所以也就存在不同协议的Net-NTLM hash,即Net-NTLM v1 hash,Net-NTLM v2 hash。

        Kerberos:

                (1)Kerberos是一种网络身份验证协议,他提供了更安全和更复杂的身份验证机制,已经成为windows领域中主要的标准。

                (2)在Kerberos身份验证中,用户首先通过用户名和密码向Kerberos认证中心(Key Distribution Center,KDC)进行身份验证。KDC会向用户颁发一个特殊的票据(ticket),该票据用于后续与其他网络服务进行通信。

                (3)当用户尝试访问网络资源时,客户端会向KDC请求服务票据(service ticket)KDC会验证用户的身份,并向用户颁发包含加密凭据的服务票据,使其可以访问所有请求的资源。

                (4)Kerberos通过使用密钥加密通信,以及使用票据和票据授信等机制,提供了更高的安全性,相比于NTLM,Kerberos更难以被中间人攻击利用。

        密文存在的位置:SAM保留了计算机本地所有用户的凭证信息,可以理解为一个数据库。

C:\Windows\System32\config\SAM

        
2. 我们通过hashdump 抓取出所有用户的密文,分为两个模块,为什么? 这两个模块分别都代表什么

hashdump模块:

        通过利用目标系统上的漏洞或提权后的权限,来读取系统内存种SAM数据并提取密码哈希值。它通常利用的原理通常是通过注入恶意代码到目标系统的内存中,或者利用系统漏洞来获取密码哈希值。

hashdump抓取的密文分为LMhash和NThash:

        LM Hash(LAN Manager Hash):微软为了提高windows操作系统的安全性而采用的散列加密算法,其本质是DES加密。尽管LM Hash较容易破解,但是为了保证系统的兼容性,windows只是将LM Hash禁用了,LM Hash明文密码被限制再14位以内,也就是说如果停止使用LM Hash,将用户的密码设置位14位以上就可以了。

        NTLMHash:微软为了在提高安全性的同时保证兼容性而设计的散列加密算法,NTLMHash是基于MD4加密算法进行加密的。

为了保证系统的兼容性,windows只是将LM hash禁用了,但仍然会生成LM hash并且是固定值aad3b435b51404eeaad3b435b51404ee,所以在hashdump抓取结果可以看见两个密文模块。  

3. 为什么第一个模块永远是一样的aad3

为了保证系统的兼容性,windows只是将LM hash禁用了,但仍然会生成LM hash并且是固定值aad3b435b51404eeaad3b435b51404ee,所以第一个模块永远都是add3。


4. 这两个模块的加密算法有什么不同,如何加密的

        LM和NTLM都是使用hash算法加密的,但是LM是将明文转为16字节固定长度的hash值,而NTLM Hash使用更复杂的算法和更长的哈希值来存储密码,通常是32个字符的长度。

这篇关于windows登录的明文密码存储过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/936628

相关文章

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

HDFS—存储优化(纠删码)

纠删码原理 HDFS 默认情况下,一个文件有3个副本,这样提高了数据的可靠性,但也带来了2倍的冗余开销。 Hadoop3.x 引入了纠删码,采用计算的方式,可以节省约50%左右的存储空间。 此种方式节约了空间,但是会增加 cpu 的计算。 纠删码策略是给具体一个路径设置。所有往此路径下存储的文件,都会执行此策略。 默认只开启对 RS-6-3-1024k

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起

速了解MySQL 数据库不同存储引擎

快速了解MySQL 数据库不同存储引擎 MySQL 提供了多种存储引擎,每种存储引擎都有其特定的特性和适用场景。了解这些存储引擎的特性,有助于在设计数据库时做出合理的选择。以下是 MySQL 中几种常用存储引擎的详细介绍。 1. InnoDB 特点: 事务支持:InnoDB 是一个支持 ACID(原子性、一致性、隔离性、持久性)事务的存储引擎。行级锁:使用行级锁来提高并发性,减少锁竞争

Windows如何添加右键新建菜单

Windows如何添加右键新建菜单 文章目录 Windows如何添加右键新建菜单实验环境缘起以新建`.md`文件为例第一步第二步第三步 总结 实验环境 Windows7 缘起 因为我习惯用 Markdown 格式写文本,每次新建一个.txt后都要手动修改为.md,真的麻烦。如何在右键新建菜单中添加.md选项呢? 网上有很多方法,这些方法我都尝试了,要么太麻烦,要么不凑效