NT Lan Manager(NTLM)是一种authentication algorithm,多应用在windows的telnet、服务请求等的身份认证中。
NTLM主要过程如下:
1、客户端首先在本地加密自己的密码成为密码散列
2、客户端向服务器发送自己的帐号,这个帐号是没有经过加密的,明文直接传输。
3、服务器产生一个16位的随机数字发送给客户端,作为一个 challenge
4、客户端再用加密后的密码散列来加密这个 challenge ,然后把这个返回给服务器。作为 response 。
5、服务器把用户名、给客户端的challenge 、客户端返回的 response 这三个东西,发送域控制器
6、域控制器用这个用户名在 SAM密码管理库中找到这个用户的密码散列,然后使用这个密码散列来加密 challenge。
7、域控制器比较两次加密的 challenge ,如果一样,那么认证成功。
通过查看资料对NTLM漏洞的理解是:
由于NTLM支持forward,可以通过做一个MITM attack,在client与server中加一个proxy,监听验证中的数据,账号是明文的,chalenge可以获得,加密后的challenge可以获得,通过暴力破解可以得到相关账户的原始密码。
Reference:
一个攻击工具介绍SmbRelay3 :http://www.tarasco.org/security/smbrelay/
待续。。。
分享到:
相关推荐
绕过NTLM认证方式的另一种方法.doc 绕过NTLM认证方式的另一种方法.doc
NTLM认证基本原理及编程简介 对需要的人很有用
里面有ntlm验证的demo 修改一下你url username passwrod 等内容应该就可以使用了 如果不可以 请抓包核查一下
关于NTLM验证 由于Telnet功能太强大,而且也是入侵者使用最频繁的登录手段之一,因此微软公司为Telnet添加了身份验证,称为NTLM验证,它要求Telnet终端除了需要有Telnet服务主机的用户名和密码外,还需要满足NTLM...
本代码实现了网络代理通信,包含复杂的网络环境,ntlm认证等
requests-ntlm, 请求的NTLM身份验证支持 请求 ntlm 这个包允许使用请求库进行 HTTP NTLM身份验证。用法HttpNtlmAuth 扩展请求 AuthBase,因此使用很简单:import requestsfrom requests_ntlm
利用ActiveX通过NTLM认证的实例+讲解
axis2客户端,调用带ntlm认证的web service的代码例子和所需jar和java
NTLM挑战模式散列认证加密协议过程,算法实现与一些想法
用于突破Telnet中的NTLM权限认证:先和目标计算机建立一个IPC$连接,将ntlm.exe复制到目标计算机上,再通过at命令执行即可。
LM/NTLM验证机制,详细介绍了该机制的完整过程。
在vs2008下实现NTLM和LM哈希加密,包含MD4加密和DES加密函数
interface declarations for SMB authentication code 只要将此头文件放入VC文件夹中的“Include”文件中即可。相信,这对大家都挺好的。
Python library that provides NTLM support, including an authentication handler for urllib2. Works with pass-the-hash in additon to password authentication.
通过HTTP的Microsoft NTLM身份验证的Javascript实现。 使您可以执行您一直想要的AJAX NTLM。 用法 Ntlm.setCredentials('domain', 'username', 'password'); var url = 'http://myserver.com/secret.txt'; if (Ntlm...
go-http-ntlm是一个Go程序包,其中包含用于http.Client的NTLM传输(http.RoundTripper实现),以发出NTLM身份验证受保护的http请求。 go-http-ntlm go-http-ntlm是一个Go程序包,其中包含用于http.Client的NTLM传输...
NTLM SSPI Authentication code for Delphi
NTLM 这是用于处理Microsoft Windows平台常用的NTLM身份验证协议的库。 可以在以下位置找到该协议的文档: 1.简介NTLM协议包含发送3条消息: 客户端向服务器发送协商消息服务器向客户端发送一个CHALLENGE消息,其中...
这个是不在ntlm的算法中,而是在验证例子test_httppc_connect.cpp中使用。查了一下,我确实没有放到网上。汗啊,因为验证例子是从某个程序中抽取出来,里面包含一个很简单的http的解析。我本来想update资源,没有...
NULL 博文链接:https://bewithme.iteye.com/blog/1938178