首页 > 其他分享 >NetNTLM 和 NTLMSSP 两种协议的认证步骤 及 对应具体的计算例子

NetNTLM 和 NTLMSSP 两种协议的认证步骤 及 对应具体的计算例子

时间:2023-04-19 23:15:00浏览次数:45  
标签:00 NTLMSSP 认证 73 哈希 NetNTLM 客户端

有待手动验证: NetNTLM和NTLMSSP都是Windows操作系统中用于身份验证的协议,它们在不同的应用场景下有不同的使用方式。以下是它们各自的应用场景:

  1. NetNTLM:

NetNTLM是一种用于Windows网络上的身份验证协议,其最常见的应用场景之一就是在企业内部网络中保护敏感数据或资源的安全。以下是一些使用NetNTLM进行身份验证的具体应用:

  • Windows Active Directory: 在Windows域环境中,NetNTLM用于对域成员进行身份验证,确保只有授权的用户才能访问域资源。
  • Microsoft SharePoint: SharePoint是一种Web应用程序,可以通过NetNTLM来实现用户身份验证,确保只有授权的用户才能访问SharePoint中的内容。
  • Microsoft Exchange Server: Exchange Server是一种邮件服务器,可以通过NetNTLM来对用户进行身份验证,确保只有授权的用户才能发送和接收邮件。
  1. NTLMSSP:

NTLMSSP是一种基于NetNTLM协议的身份验证协议,其主要应用场景之一是在Windows远程桌面连接中进行身份验证。以下是一些使用NTLMSSP进行身份验证的具体应用:

  • Microsoft Remote Desktop Connection: 远程桌面连接是一种允许用户从一个计算机连接到另一个计算机的方式。在Windows远程桌面连接中,NTLMSSP用于对用户进行身份验证,确保只有授权的用户才能访问远程计算机。
  • Microsoft SQL Server: SQL Server是一种关系型数据库管理系统,可以通过NTLMSSP来对用户进行身份验证,确保只有授权的用户才能访问数据库。

下面是NetNTLM和NTLMSSP两种协议的认证步骤:

NetNTLM协议的认证步骤如下:

  1. 客户端向服务器发送认证请求。
  2. 服务器返回一个挑战值(challenge)给客户端。
  3. 客户端使用该挑战值、用户密码、用户名和域名计算出响应(response)并发送给服务器。
  4. 服务器使用相同的方式计算出响应,并将其与客户端发送的响应进行比较以验证客户端的身份。

具体计算方法如下:

假设客户端的用户名是"UserA",密码是"Password123",域名是"DomainA",服务器返回的挑战值为"abc123":

首先,需要将用户密码转换成Unicode格式,并加上域名前缀,然后将其转换成UTF-16LE格式的字节序列。例如,"DomainAUserA:Password123"转换成UTF-16LE编码后为:

44 00 6f 00 6d 00 61 00 69 00 6e 00 41 00 55 00 73 00 65 00 72 00 41 00 3a 00 50 00 61 00 73 00 73 00 77 00 6f 00 72 00 64 00 31 00 32 00 33 00

接下来,客户端将挑战值和上面的字节序列拼接在一起,形成一个新的字节序列:

61 62 63 31 32 33 44 00 6f 00 6d 00 61 00 69 00 6e 00 41 00 55 00 73 00 65 00 72 00 41 00 3a 00 50 00 61 00 73 00 73 00 77 00 6f 00 72 00 64 00 31 00 32 00 33 00

然后,客户端使用NTLM哈希函数对该字节序列进行计算,得到一个128位的哈希值。具体使用的哈希算法是MD4。

最后,客户端将该哈希值作为响应发送给服务器。服务器也使用相同的方法计算出哈希值,然后将其与客户端发送的哈希值进行比较以验证客户端的身份。

NTLMSSP协议的认证步骤如下:

  1. 客户端向服务器发送认证请求。
  2. 服务器返回一个挑战值(challenge)给客户端。
  3. 客户端使用该挑战值、用户密码、用户名和域名计算出响应(response)并将其发送给服务器。
  4. 服务器使用相同的方式计算出响应,并将其与客户端发送的响应进行比较以验证客户端的身份。

具体计算方法如下:

假设客户端的用户名是"UserA",密码是"Password123",域名是"DomainA",服务器返回的挑战值为"abc123":

首先,需要将用户密码转换成Unicode格式,并加上域名前缀,然后将其转换成UTF-16LE格式的字节序列。例如,"DomainAUserA:Password123"转换成UTF-16LE编码后为:

44 00 6f 00 6d 00 61 00 69 00 6e 00 41 00 55 00 73 00 65 00 72 00 41 00 3a 00 50 00 61 00 73 00 73 00 77 00 6f 00 72 00 64 00 31 00 32 00 33 00

接下来,客户端将挑战值和上面的字节序列拼接在一起,形成一个新的字节序列:

61 62 63 31 32 33 44 00 6f 00 6d 00 61 00 69 00 6e 00 41 00 55 00 73 00 65 00 72 00 41 00 3a 00 50 00 61 00 73 00 73 00 77 00 6f 00 72 00 64 00 31 00 32 00 33 00

然后,客户端使用NTLMSSP哈希函数对该字节序列进行计算,得到一个128位的哈希值。具体使用的哈希算法是NTLMv2哈希算法。

最后,客户端将该哈希值作为响应发送给服务器。服务器也使用相同的方法计算出哈希值,然后将其与客户端发送的哈希值进行比较以验证客户端的身份。需要注意的是,在NTLMSSP协议中,还有一些额外的步骤用于处理域控制器之间的认证和会话安全性等功能。

标签:00,NTLMSSP,认证,73,哈希,NetNTLM,客户端
From: https://www.cnblogs.com/hjbf/p/17334993.html

相关文章

  • 2022(软考高级)信息系统项目管理师认证招生简章
    信息系统项目管理师是全国计算机技术与软件专业技术资格(水平)考试(简称软考)项目之一,是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试,既属于国家职业资格考试,又是职称资格考试。信息系统项目管理师,属于软考三个级别中的“高级”。从1999年开始实施系统集成项......
  • 2022年下半年传统产品经理国际资格认证招生简章(NPDP)
    什么样的产品才是客户需要的产品?怎样的流程才能够保证产品成功上市?什么样的人员组织结构有利于产品创新?怎样衡量产品经理乃至产品管理部门的绩效?产品经理国际资格认证NPDP是国际公认的唯一的新产品开发专业认证,集理论、方法与实践为一体的全方位的知识体系,为公司组织层级进......
  • 2022年8月产品经理认证招生简章(NPDP)
    产品经理国际资格认证NPDP是国际公认的唯一的新产品开发专业认证,集理论、方法与实践为一体的全方位的知识体系,为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。【认证机构】产品开发与管理协会(PDMA)成立于1979年,是全球范围内产品开发与管理专业人士最杰出的倡导者,......
  • DAMA认证|2021年大数据存储安全如何管理?
    在大数据(Bigdata)时代,通过互联网、社交网络、物联网,人们能够及时全面地获得大信息。同时,信息自身存在形式的变化与演进,也使得作为信息载体的数据以远超人们想象的速度迅速膨胀。随着Ai、5G、IoT的兴起和发展,全球每年产生的数据以爆发的态势急速增长。数据存储是基础且关键......
  • NPDP认证|出色的产品经理一般需要哪些能力与素质?
    NPDP认证|出色的产品经理一般需要哪些能力与素质?说到产品经理,title叫什么的并不重要,我们最早所认定以及现在所期望的产品经理角色其实就是对一个产品负根本责任的管理者。在互联网的发展与影响下,产品经理在其中所承担的角色和定位也渐渐成了孵化者,那么,产品经理成长路上要怎样......
  • 物联网信创开新局!边无际Shifu物联网开发平台与麒麟软件完成互认证
    边无际Shifu物联网开发平台和麒麟软件信创操作系统日前完成了互认证,这将为物联网设备的开发和应用提供更加全面的支持和保障。据悉,边无际Shifu物联网开发平台已经在银河麒麟桌面操作系统(兆芯版)V10、银河麒麟桌面操作系统(海光版)V10、银河麒麟麟桌面操作系统(AMD64版)V10上整体运......
  • 浪潮信息联合 OpenCloudOS 完成技术兼容互认证
    近日,浪潮信息PCIeGen4SSD产品NS8500G2、NS8600G2与OpenCloudOS&TencentOS完成产品兼容性互认证明。测试期间,整体运行稳定,在功能、性能及兼容性方面表现良好。产品兼容性互认证明作为开源操作系统社区,OpenCloudOS沉淀了国内多家厂商在软件和开源生态的优势,在云原生、稳定性、性能......
  • Adobe认证证书
    Adobe认证证书是Adobe公司颁发的一种专业认证证书,用于证明持有人在相关Adobe软件的使用和应用方面具有专业水平。该证书是业内公认的专业认证,具有较高的价值和认可度,可以帮助持有人提高职业竞争力和工作效率。Adobe公司提供了多种认证考试,包括Photoshop、Illustrator、InDesign、Pr......
  • gitlab与openldap做权限认证
    1.gitlab开启并配置ldap编辑gitlab.rb配置文件打开编辑gitlab.rb配置文件:vi/etc/gitlab/gitlab.rbgitlab_rails['ldap_enabled']=true#gitlab_rails['prevent_ldap_sign_in']=falsegitlab_rails[‘ldap_servers’]=YAML.load<<-‘EOS’**EOS**为ldap相......
  • Shifu物联网开发框架成为MicroK8s官方认证的Kubernetes插件
    Shifu物联网开发框架已经成为Kubernetes生态下MicroK8s官方认证的插件,这将极大地简化基于K8s的物联网应用程序的开发,帮助企业高效搭建获得安全、可控的生产级物联中台。MicroK8s是一个轻量级的CNCF认证的Kubernetes发行版,适用于云、工作站、边缘和物联网设备。Shifu用作K......