Windows安全认证机制-NTLM认证流程

2024-04-17 20:04

本文主要是介绍Windows安全认证机制-NTLM认证流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

NTLM定义

1、NTLM是NT LAN Manager的缩写,即问询/应答(Challenge/Response)身份验证协议,是 Windows NT早期版本的标准安全协议。
2、⽤于验证远程机器⽤户的⽹络协议,它也被称为Net-NTLM。

Net-NTLM Hash

简单来说,Net-ntlm hash就是ntlm hash再做了一层hash加密。

以下是通过smb共享连接获取的wireshark包,可以比较明确的看到ntlm认证的流程
如有写的不对的地方,请大家指正,我会立马修改!!!

1、NTLM认证流程图

在这里插入图片描述

2、认证步骤

1、首先在客户端中输入username,password和domain,然后客户端会把密码进行Hash后的值先缓存到本地。
2、在连接服务器的时候,客户端会默认向服务端发起一次请求type1,用来获取server向域控请求的挑战码。
3、DC会生成一个16字节的随机数,也就是挑战码(Challenge),然后再通过server传回给Client。
4、当Client收到挑战码以后,会先复制一份,然后和缓存中的密码Hash(ntlm hash)再一同混合Hash一次,混合后的值称为response(NET-ntlm hash),之后Client再将challenge,response以及username一并都传给server。
5、Server端在收到client传过来的这三个值以后会把它们都转发给DC。
6、当DC接到过来的这三个值的以后,会根据username到域控的账号数据库(ntds.dit)里面找到该username对应的Hash(ntlm hash),然后把这个Hash(ntlm hash)拿出来和传过来的challenge值再混合hash,生成一个值A。
7、将值A跟传来的response进行比较,相同则认证成功,反之,则失败,当然,如果是本地登录,所有验证肯定也全部都直接在本地进行了。

3、对应wireshark包

TYPE1对应上述步骤2
在这里插入图片描述
TYPE2 对应上述步骤3
在这里插入图片描述
TYPE3 对应上述步骤4
在这里插入图片描述

这篇关于Windows安全认证机制-NTLM认证流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

java如何通过Kerberos认证方式连接hive

《java如何通过Kerberos认证方式连接hive》该文主要介绍了如何在数据源管理功能中适配不同数据源(如MySQL、PostgreSQL和Hive),特别是如何在SpringBoot3框架下通过... 目录Java实现Kerberos认证主要方法依赖示例续期连接hive遇到的问题分析解决方式扩展思考总

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

MySQL的cpu使用率100%的问题排查流程

《MySQL的cpu使用率100%的问题排查流程》线上mysql服务器经常性出现cpu使用率100%的告警,因此本文整理一下排查该问题的常规流程,文中通过代码示例讲解的非常详细,对大家的学习或工作有一... 目录1. 确认CPU占用来源2. 实时分析mysql活动3. 分析慢查询与执行计划4. 检查索引与表

一文详解Java Condition的await和signal等待通知机制

《一文详解JavaCondition的await和signal等待通知机制》这篇文章主要为大家详细介绍了JavaCondition的await和signal等待通知机制的相关知识,文中的示例代码讲... 目录1. Condition的核心方法2. 使用场景与优势3. 使用流程与规范基本模板生产者-消费者示例