NTLM
步骤说明:
客户端缓存密码的哈希值,丢弃原始密码
客户端向服务器发送明文形式的用户名
服务器端生成一个16位的随机数,作为challenge发送给客户端
客户端使用密码的哈希值加密challenge,并将结果(response)返回给服务器
①服务器端将收到的用户名、原始challenge、客户端返回的response发送给DC(域控制器)
②DC从SAM库中找到该用户名对应的密码散列值
③DC使用从SAM库中获取的密码散列值加密原始challenge
④比对两个challenge,若相同,则认证成功;否则认证失败
⑤DC将结果返回给服务器,最终反馈给客户端
作用:
使用NTLM,在登录telnet时,将使用Windows的账号和密码登录,不用直接使用用户名和密码登录,避免了明文传输用户名和密码
NTLM是以当前用户的身份向Telnet服务器发送登录请求的,而不是用你自己的帐户和密码登录,显然,你的登录将会失败。举个例子来说,你家的机器名为A(本地机器),你登录的机器名为B(远地机器),你在A上的帐户是ABC,密码是1234,你在B上的帐号是XYZ,密码是5678,当你想Telnet到B时,NTLM将自动以当前用户的帐号和密码作为登录的凭据来进行上面的7项操作,即用ABC和1234,而并非用你要登录帐号XYZ和5678,且这些都是自动完成的,根本不给你动手的机会,因此你的登录操作将失败。(摘自百度百科,多读两遍就懂了)
身份验证选项:
NTLM有三种身份验证选项,分别是0、1、2,默认是2
不使用NTLM先用NTLM,如果失败则用用户名和密码只能用NTLM