NTLM

我们介绍Kerberos认证的整个流程。在允许的环境下,Kerberos是首选的认证方式。在这之前,Windows主要采用另一种认证协议——NTLM(NT Lan Manager)。NTLM使用在Windows NT和Windows 2000 Server(or later)工作组环境中(Kerberos用在域模式下)。在AD域环境中,如果需要认证Windows NT系统,也必须采用NTLM。较之Kerberos,基于NTLM的认证过程要简单很多。NTLM采用一种质询/应答(Challenge/Response)消息交换模式,右图反映了Windows2000下整个NTLM认证流程。

步骤一

用户通过输入Windows帐号和密码登录客户端主机。在登录之前,客户端会缓存输入密码的哈希值,原始密码会被丢弃(“原始密码在任何情况下都不能被缓存”,这是一条基本的安全准则)。成功登录客户端Windows的用户如果试图访问服务器资源,需要向对方发送一个请求。该请求中包含一个以明文表示的用户名。

步骤二

服务器接收到请求后,生成一个16位的随机数。这个随机数被称为Challenge或者Nonce。服务器在将该Challenge发送给客户端之前,该Challenge会先被保存起来。Challenge是以明文的形式发送的。

步骤三

客户端在接收到服务器发回的Challenge后,用在步骤一中保存的密码哈希值对其加密,然后再将加密后的Challenge发送给服务器。

步骤四

服务器接收到客户端发送回来的加密后的Challenge后,会向DC(Domain)发送针对客户端的验证请求。该请求主要包含以下三方面的内容:客户端用户名;客户端密码哈希值加密的Challenge和原始的Challenge。

步骤五、六

DC根据用户名获取该帐号的密码哈希值,对原始的Challenge进行加密。如果加密后的Challenge和服务器发送的一致,则意味着用户拥有正确的密码,验证通过,否则验证失败。DC将验证结果发给服务器,并最终反馈给客户端。

时间: 2024-12-14 18:17:31

NTLM的相关文章

利用jcifs进行NTLM协议认证,生成ws访问客户端

调用在windows server 2012 的IIS上部署的webservice服务需要进行NTLM协议认证,为了能正常利用cxf生成客户端,首要解决的是需要windows NT authentication,可以采用早前的开源库jcifs. <span style="font-size:14px;">public static void main(String[] args) { Config.registerSmbURLHandler(); String domain

NTLM related protocol

http://blogs.technet.com/b/askds/archive/2011/07/28/troubleshooting-sid-translation-failures-from-the-obvious-to-the-not-so-obvious.aspx http://anoopcnair.com/2014/05/27/microsoft-rpc-remote-procedure-call-point-mapper-details-sccm-troubleshooting/ h

LM &amp;&amp; NTLM &amp;&amp; ophcrack &amp;&amp; RainBow table

Windows密码的加密方式:Windows 主要使用以下两种(包含但不限于)算法对用户名和密码进行加密:分 别是LanManager(LM)和NTLM,LM只能存储小于等于14个字符的密码hash,如果密码大于14个,windows就自动使用NTLM对 其进行加密了,一般情况下使用PwDump或其他一些hash导出工具(如Cain)导出的hash都有对应的LM和NTLM值,也就是说这个密码位数 <=14,如果大于14位那么就只有对应的NTLM hash可用了,这时LM也会有值,但对我们来说没用

NTLM 了解

NTLM是NT LAN Manager的缩写,这也说明了协议的来源.NTLM 是 Windows NT 早期版本的标准安全协议,Windows 2000 支持 NTLM 是为了保持向后兼容.Windows 2000内置三种基本安全协议之一. 1 早期SMB协议在网络上传输明文口令.后来出现 LAN Manager Challenge/Response 验证机制,简称LM,它是如此简单以至很容易就被破解.微软提出了WindowsNT挑战/响应验证机制,称之为NTLM.现在已经有了更新的NTLMv2

免费MD5解密网站,轻松破解md5密码,mysql5/mysql323,ntlm,salt密码

md5解密网站:http://cmd5.la 网站语言:php 免费指数:★★★        (8位内小写数字字母免费,11位内数字免费) 解密范围:★★★★☆ (覆盖了1-12位很多常用密码和特殊密码) 解密类型:★★★★☆ (1-3次md5解密,ntlm,sha1,mysql4/5密码,ntlm,部分加盐和特殊加密类型) 解密速度:★★★☆(单个解密10秒内) 批量破解:支持 该网站可解密的范围还不错,解密类型可以,基本的md5解密需求可以覆盖,而且免费范围也覆盖了大部分常用密码了.

[转]关于NTLM认证的.NET,php,python登录

本文转自:http://www.cnblogs.com/myx/archive/2013/03/25/php-ntlm-python-net.html 早期SMB协议在网络上传输明文口令.后来出现 LAN Manager Challenge/Response 验证机制,简称LM,它是如此简单以至很容易就被破解.微软提出了WindowsNT挑战/响应验证机制,称之为NTLM.现在已经有了更新的NTLMv2以及Kerberos验证体系.NTLM是windows早期安全协议,因向后兼容性而保留下来.N

在ASP中用程序控制弹出NTLM验证窗口

简介: 可以弹出NT验证窗口,而不管目录是否允许匿名访问,很好用的一段代码. 作者:亚豪 EMAIL: [email protected] 下载或访问 <% Response.Status = "401 Unauthorized" Response.AddHeader "WWW-Authenticate","NTLM" response.write "user=" & Request.ServerVariable

Windows NT/NTLM 加密

Hash,一般翻译为“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值.简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数. 一.MD5 和 SHA1 可以说是目前应用最广泛的Hash算法,而它们都是以 MD4 为基础设计的.那么他们都是什么意思呢?这里

openwrt自动认证ntlm代理

本文介绍如何在openwrt路由器上实现自动ntlm代理认证. 实现openwrt代理认证分两个步骤,首先借助curl做代理认证再使用iptables命令转发IP数据流实现,连接wifi路由器的用户将无需手动验证ntlm代理. curl命令如下: curl -v -U 用户名:密码 --proxy-ntlm --proxy 代理地址  www.baidu.com 再使用iptables将用户的数据包转发到服务器的代理地址即可