NTLM认证

2024-04-21 16:44
文章标签 认证 ntlm

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

文章目录

  • 1.概念
    • (1) 本地认证
    • (2) SAM
    • (3) NTLM Hash
    • (4) NTLM 和 NTLM Hash
    • (5) NTLM v2

1.概念

(1) 本地认证

Windows不存储用户的明文密码,它会将用户的明文密码经过加密后存储在 SAM (Security Account Manager Database,安全账号管理数据库)中。

(2) SAM

用来存储Windows操作系统密码的数据库文件,SAM文件中保存的是明文密码在经过一系列算法处理过的 Hash值被保存的Hash为NTLM Hash。
SAM文件的路径是 %SystemRoot%\system32\config\sam
winlogon.exe -> 接收用户输入 -> lsass.exe -> (认证)
首先,用户注销、重启、锁屏后,操作系统会让 winlogon显示登录界面,也就是输入框,接收输入后,将密码交给 lsass进程,这个进程将明文密码加密成NTLM Hash,对比 SAM数据库中的 Hash进行验证

(3) NTLM Hash

通常意义上的NTLM Hash指存储在SAM数据库中对密码进行 Hash摘要计算后的结果
NTLM Hash的生成

  • 用户密码:susi2001
  • 首先,密码经过十六进制转为 7375736932303031
  • 将十六进制结果转为 Unicode格式 73007500730069003200300030003100
  • 以 Hex(16进制)数据作 MD4加密 ed3202726368f8e9fd23e78fbfac8c13

MD4加密使用 HashCalc

(4) NTLM 和 NTLM Hash

NTLM是一种网络认证协议,与 NTLM Hash的关系就是:NTLM网络认证协议是以 NTLM Hash 作为根本凭证进行认证的协议,NTLM是一种基于质询/应答 (Challenge/Response )消息交换模式的认证机制,常用于工作组和域环境下登录场景的身份认证
认证流程
NTLM 协议的认证过程有三步:

  • 协商:主要用于确认双方协议版本(NTLMv1、NTLMv2等)
  • 质询:质询/应答 (Challenge/Response)模式,用于消息交换
  • 验证:验证身份合法性,通常由 Server端或 DC(域控制器)完成这个过程

在这里插入图片描述

经过 NTLM Hash加密 Challenge的结果在网络协议中称之为 Net NTLM Hash
在以上流程中,用户的登录密码 Hash 即为 NTLM Hash ,Response中则包含 Net-NTLM Hash

(5) NTLM v2

NTLM version 2 (NTLMv2)是在 Windows NT 4.0 SP4中引入的(在 Windows 2000 中得到了本地支持)
NTLM v1与 NTLM v2 最显著的区别就是 Challenge与加密算法不同,共同点就是加密的原料都是 NTLM Hash :

  • Challenge:
    • v1: 8-byte
    • v2:16-byte
  • Net NTLM Hash:
    • v1:DES
    • v2: HMAC-MD5

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



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

相关文章

浅析Spring Security认证过程

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

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

【Shiro】Shiro 的学习教程(二)之认证、授权源码分析

目录 1、背景2、相关类图3、解析3.1、加载、解析阶段3.2、认证阶段3.3、授权阶段 1、背景 继上节代码,通过 debug 进行 shiro 源码分析。 2、相关类图 debug 之前,先了解下一些类的结构图: ①:SecurityManager:安全管理器 DefaultSecurityManager: RememberMeManager:实现【记住我】功能

OpenStack离线Train版安装系列—3控制节点-Keystone认证服务组件

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版

OpenStack Victoria版——3.控制节点-Keystone认证服务组件

3.控制节点-Keystone认证服务组件 更多步骤:OpenStack Victoria版安装部署系列教程 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版 离线安装部署系列教程(全) OpenStack Train版 离线安装部署系列教程(全) 欢迎留言沟通,共同进步。 文章目录 创建key

win10系统下openssl证书生成和单向认证

文章目录 前言一、安装openssl二、创建证书目录和必要文件1、创建sslcertTest文件夹2、创建openssl.cnf文件3、创建必要文件 三、创建密钥和证书1、创建根证书私钥ca.key2、创建根证书请求文件ca.csr3、创建自签根证书ca.crt4、创建服务端私钥server.key5、创建服务端证书请求文件server.csr6、创建自签服务端证书server.crt 四、

亚信安慧AntDB数据库与华为DPA数据保护一体机完成兼容性互认证,共筑数据安全与效率新高地

近日,湖南亚信安慧科技有限公司(简称“亚信安慧”)与华为技术有限公司(简称“华为”)完成了亚信安慧AntDB数据库与华为DPA数据保护一体机兼容性互认证。 图1:华为DPA数据保护一体机兼容性互认证 亚信安慧AntDB数据库作为领先的数据库解决方案提供商,专注于数据库产品的研发与创新,以其卓越的性能和稳定性,服务于超数亿用户,连续十年无故障运行。亚信安慧AntDB数据库的云原生分布式架

强化网络安全:通过802.1X协议保障远程接入设备安全认证

随着远程办公和移动设备的普及,企业网络面临着前所未有的安全挑战。为了确保网络的安全性,同时提供无缝的用户体验,我们的 ASP 身份认证平台引入了先进的 802.1X 认证协议,确保只有经过认证的设备才能接入您的网络。本文档将详细介绍我们的平台如何通过 802.1X 协议实现高效、安全的远程接入认证。 产品亮点 1. 无缝集成 我们的 ASP 身份认证平台支持无缝集成到现有的网络基础设施中

当网工,华为认证哪种适合我?四个维度来解惑

随着网络技术的不断进步,对网工的专业技能要求也越来越高。 在这种背景下,获得权威认证成为了提升个人技能、证明专业能力的重要途径。 华为,作为全球领先的ICT解决方案提供商,其认证项目在业界享有极高的声誉。 华为认证不仅涵盖了网络技术的各个方面,还根据不同的技能水平和职业发展阶段,提供了不同级别的认证,包括HCIA、HCIP、HCIE。 这些认证不仅有助于网络工程师提升自己的技术水平,也是企业在招聘

用户认证中的有状态和无状态

背景         我们在系统设计的时候,用户的认证是最基本也是最重要的功能了。我们常见的方案,就是将用户的认证信息保存到 session 里面。由于近年来微服务的快速兴起,一种 JWT 的认证方式出现在了大众的眼中。在单体服务的时代,很多系统设计的都是有状态的服务。随着微服务的出现,大多数系统设计的时候,都开始考虑无状态服务了。那它们的唯一区别,就是服务端是否会保存客户端的信息。简而言之