NTLM身份认证是微软针对容易破解的Lan Manager Challenge/Response(LM)验证机制,提出的WindowsNT挑战相关验证机制,更新的有:NTLM v2和Kerberos验证体系.在服务器端如果不使用Message Queuing 或是Telnet Server,一般NTLM是被关闭的,一般用户也用不上,但对于入侵者来说,NTLM是一座大山,telnet是一种命令行方式的终端服务,其优势在于客户端和服务器端都是系统自带的,它是除了木马外,获得cmd下shell的最好选择.使用该服务,最常遇到的问题就是NTLM认证方式.
NTLM的工作流程:
1,客户端首先在本地加密当前用户的密码成为密码散列2,客户端向服务器发送自己的账号,这个账号是没有经过加密的,明文传输.3,服务器端产生一个16位的随机数字发送给客户端,作为一个challenge(挑战)4,客户端再用加密后的密码散列来加密这个challenge,然后把这个返回给服务器,作为response(响应)5,服务器端将用户名,给客户端的challenge,客户端返回的response这三个东西发送给域控制器.6,域控制器用这个用户名在SAM密码管理库中找到这个用户的密码散列,然后使用这个密码散列来加密chellenge7,域控制器比较两次加密的challenge,如果一样,那么认证成功,反之,则认证失败.
NTLM是以当前用户的身份向Telnet服务器发送登录请求的,而不是用对方管理员账号和密码登陆.
NTLM将自动以当前用户的账号和密码作为凭证来进行上面的7项操作,急用HARRY及其密码,而非用Administrator及其密码,整个过程自动完成,客户端无法干预.
NTLM的身份验证方式有3种,默认值为2,可以有下面这些值:
0 不使用NTLM身份验证
1 先尝试NTLM身份验证,如果失败,在采用用户名和密码
2 只使用NTLM身份验证