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个字符的长度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/573918.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能算法 | Matlab基于CBES融合自适应惯性权重和柯西变异的秃鹰搜索算法

智能算法 | Matlab基于CBES融合自适应惯性权重和柯西变异的秃鹰搜索算法 目录 智能算法 | Matlab基于CBES融合自适应惯性权重和柯西变异的秃鹰搜索算法效果一览基本介绍程序设计参考资料效果一览 基本介绍 Matlab基于CBES融合自适应惯性权重和柯西变异的秃鹰搜索算法 融合自适应…

ds18b20温度传感器驱动程序

ds18b20驱动程序 有了之前延时的方法,那么实现一个单总线数据传输的传感器驱动程序就非常简单了。下面我们套用杂项驱动框架来编写ds18b20驱动程序。 实现需要明确的是:**ds18b20驱动的本质是通过2440的gpio,通过给定的时序对ds18b20的读写数…

【介绍下WebStorm开发插件】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

保护你的网站:了解5种常见网络攻击类型及其防御方法

随着互联网的迅猛发展,针对网站的各种类型的网络攻击随之增加,网络攻击事件层出不穷,由此,如何保护网站安全成为每个网站所有者的重要议题。在下面的内容中,我们将探讨5种常见网络攻击类型及其防御方法,以帮…

SNETCracker--超级弱口令检查工具简介

一、简介 SNETCracker 超级弱口令检查工具是一款Windows平台的弱口令审计工具,支持批量多线程检查,可快速发现弱密码、弱口令账号,密码支持和用户名结合进行检查,大大提高成功率,支持自定义服务端口和字典。 二、SNE…

常见内网系统网络结构及nginx代理配置

系统网络结构图及nginx配置 1.系统网络结构图2.Nginx网络配置2.1请求从互联网区访问到内网区2.2 请求从内网访问互联网 1.系统网络结构图 传统公司服务部署网络都会分区,应用都部署在内网区,请求通过dmz区转出内网与互联网发生交互。 结构图详解&#…

springCloud集成activiti5.22.0流程引擎

springCloud集成activiti5.22.0流程引擎 点关注不迷路,欢迎再访! 精简博客内容,尽量已行业术语来分享。 努力做到对每一位认可自己的读者负责。 帮助别人的同时更是丰富自己的良机。 小编最近工作需要涉及到流程,由于网络上5.22版…

CHARLS轻松发二区,只用了COX回归模型 | CHARLS CLHLS CFPS 公共数据库周报(4.3)...

零基础CHARLS发论文,不容错过! 长期回放更新指导!适合零基础,毕业论文,赠送2011-2020年CHARLS清洗后的数据全套代码! CHARLS公共数据库 CHARLS数据库简介中国健康与养老追踪调查(China Health and Retireme…

C++初阶学习第三弹——类与对象(上)——初始类与对象

前言: 在前面,我们已经初步学习了C的一些基本语法,比如内敛函数、函数重载、缺省参数、引用等等,接下来我们就将正式步入C的神圣殿堂,首先,先给你找个对象 目录 一、类与对象是什么? 二、类的各…

ArtNeRF、Attention Control、Pixel is a Barrier、FilterPrompt

本文首发于公众号:机器感知 ArtNeRF、Attention Control、Pixel is a Barrier、FilterPrompt ArtNeRF: A Stylized Neural Field for 3D-Aware Cartoonized Face Synthesis Recent advances in generative visual models and neural radiance fields have greatly …

【笔试训练】day11

1.游游的水果大礼包 思路: 枚举。假设最后的答案是x个a礼包,y个b礼包,得到一个式子:ansa*xb*y 我们可以枚举x的数量,这样就能变相的把y的求出来。呃这就是鸡兔同笼问题嘛 x最大的范围是多少呢?也就是a礼…

【CouchDB 与 PouchDB】

CouchDB是什么 CouchDB,全名为Apache CouchDB,是一个开源的NoSQL数据库,由Apache软件基金会管理。CouchDB的主要特点是使用JSON作为存储格式,使用JavaScript作为查询语言(通过MapReduce函数),并…

面试二十二、跳表SkipLists

跳表全称为跳跃列表,它允许快速查询,插入和删除一个有序连续元素的数据链表。跳跃列表的平均查找和插入时间复杂度都是O(logn)。快速查询是通过维护一个多层次的链表,且每一层链表中的元素是前一层链表元素的子集(见右边的示意图&…

day07 51单片机-18B20温度检测

18B20温度检测 1.1 需求描述 本案例讲解如何从18B20传感器获取温度信息并显示在LCD上。 1.2 硬件设计 1.2.1 硬件原理图 1.2.3 18B20工作原理 可以看到18B20有两根引脚负责供电,一根引脚负责数据交换。18B20就是通过数据线和单片机进行数据交换的。 1&#xf…

前端项目中使用插件prettier/jscodeshift/json-stringify-pretty-compact格式化代码或json数据

同学们可以私信我加入学习群! 正文开始 前言一、json代码格式化-选型二、json-stringify-pretty-compact简单试用三、prettier在前端使用四、查看prettier支持的语言和插件五、使用prettier格式化vue代码最终效果如图: ![在这里插入图片描述](https://im…

【ruoyi-vue】登录解析(后端)

调试登录接口 进入实现类可以有 验证码校验 登录前置校验 用户验证 验证码校验 通过uuid获取redis 中存储的验证码信息,获取后对用户填写的验证码数据进行校验比对 用户验证 1.进入控制器的 /login 方法 2.进入security账号鉴权功能,经过jar内的流…

python逆向基础流程(纯小白教程)

一,例题链接 NSSCTF | 在线CTF平台 二,文件特征 使用工具查看文件信息,发现是pyinsatller打包的exe文件,如果硬用ida分析成汇编或c语言根本摸清楚程序的逻辑,所以思路是反编译成py文件直接分析python代码 三&#xf…

【论文推导】基于有功阻尼的转速环PI参数整定分析

前言 在学习电机控制的路上,PMSM的PI电流控制是不可避免的算法之一,其核心在于内环电流环、外环转速环的设置,来保证转速可调且稳定,并且保证较好的动态性能。整个算法仿真在《现代永磁同步电机控制原理及matlab仿真》中已详细给出…

VUE项目使用.env配置多种环境以及如何加载环境

第一步,创建多个环境配置文件 Vue CLI 项目默认使用 .env 文件来定义环境变量。你可以通过创建不同的 .env 文件来为不同环境设置不同的环境变量,例如: .env —— 所有模式共用.env.local —— 所有模式共用,但不会被 git 提交&…

Clickhouse离线安装教程

https://blog.51cto.com/u_15060531/4174350 1. 前置 1.1 检查服务器架构 服务器:Centos7.X 需要确保是否x86_64处理器构架、Linux并且支持SSE 4.2指令集 grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 …
最新文章