加入收藏 | 设为首页 | 会员中心 | 我要投稿 通化站长网 (https://www.0435zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

Windows认证及抓密码

发布时间:2021-05-02 14:11:34 所属栏目:动态 来源:互联网
导读:用户的SID、组ID、Session、及权限等信息,也起到了权限认证的作用。 其中,NTLM认证主要有本地认证和网络认证两种方式。本地登录时,用户的密码存储在%SystemRoot%system32configsam这个文件里。当用户输入密码进行本地认证的过程中,所有的操作都是在本

用户的SID、组ID、Session、及权限等信息,也起到了权限认证的作用。

其中,NTLM认证主要有本地认证和网络认证两种方式。本地登录时,用户的密码存储在%SystemRoot%system32configsam这个文件里。当用户输入密码进行本地认证的过程中,所有的操作都是在本地进行的。他其实就是将用户输入的密码转换为NTLM Hash,然后与SAM中的NTLM Hash进行比较。而网络认证则是基于一种Challenge/Response认证机制的认证模式。他的认证过程我们下边会详细讲。

Kerberos认证用于域环境中,它是一种基于票据(Ticket)的认证方式。他的整个认证过程涉及到三方:客户端、服务端和KDC(Key Distribution Center)。在Windows域环境中,由DC(域控)来作为KDC。

Access Token(访问令牌)是用来描述进程或线程安全上下文的对象,令牌所包含的信息是与该用户账户相关的进程或线程的身份和权限信息。当用户登陆时,系统生成一个Access Token,然后以该用户身份运行的的所有进程都拥有该令牌的一个拷贝。这也就解释了A用户创建一个进程而B用户没有该进程的权限。

2. NTLM的认证过程是怎样什么?

首先是本地认证,也就是NTLM Hash的生成方式。

当用户注销、重启、锁屏后,操作系统会让winlogon显示登录界面,也就是输入框。当winlogon.exe接收输入后,将密码交给LSASS进程,这个进程中会存一份明文密码,将明文密码加密成NTLM Hash,对SAM数据库比较认证。(winlogon.exe即Windows Logon Process,是Windows NT用户登陆程序,用于管理用户登录和退出。

LSASS用于微软Windows系统的安全机制。它用于本地安全和登陆策略。)

比如当用户输入密码123456后,那么操作系统会共需要三个消息完成:协商、挑战、认证。

协商:主要用于确认双方协议版本、加密等级等

挑战:服务器在收到客户端的协商消息之后, 会读取其中的内容,并从中选择出自己所能接受的服务内容,加密等级,安全服务等等。 并生成一个随机数challenge, 然后生成challenge消息返回给客户端。该消息就是挑战/响应认证机制的主要功能体现。

认证:验证主要是在挑战完成后,验证结果,是认证的***一步。

详细过程如下:

***步,输入密码,然后LSASS会把密码的NTLM Hash后的值先存储到本地。

第二步,客户端把用户名的明文发送给服务端

第三步,服务端会生成一个16位的随机数,即challenge,再传回给客户端

第四步,当客户端收到challenge后,用在***步中存储的NTLM Hash对其加密,然后再将加密后的challenge发送给服务器,也就是response。

第五步,服务端在收到response后,会向DC发送针对客户端的验证请求。该请求主要包含以下三方面的内容:客户端用户名、客户端NTLM Hash加密的Challenge、原始的Challenge。

第六步,当DC接到过来的这三个值的以后,会根据用户名到DC的账号数据库(ntds.dit)里面找到该用户名对应的NTLM Hash,然后把这个hash拿出来和传过来的challenge值进行比较,相同则认证成功,反之,则失败。

上边说的是NTLM v1认证方式,NTLM v2和v1最显著的区别就是Challenge与加密算法不同,共同点就是加密的key都是NTLM Hash。NTLM v1的Challenge有8位,NTLM v2的Challenge为16位。NTLM v1的主要加密算法是DES,NTLM v2的主要加密算法是HMAC-MD5。

(编辑:通化站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!