点我

概述

网络认证:Windows网络认证指在Windows操作系统中进行网络通信和资源访问时,验证用户身份和授权权限的过程。确保只有经过身份验证的用户才能够访问网络资源,并根据其权限级别进行授权操作。

认证方式

1、用户名和密码认证

最为常见的认证方式,用户提供有效的用户名和密码用于验证身份,这种认证方式适用于本地计算机账户或域账户。

2、Kerberos认证

Kerberos是一种网络身份验证协议,在Windows域环境中被广泛使用, 通过使用票据和票据授予票证(TGT)来验证用户身份,并生成会话密钥用于加密通信。

3、NTLM协议

NTLM(NT LAN Manager)是一种早期的Windows网络认证协议,基于挑战(Challenge)-响应(Response)的方式进行身份验证。

目前Kerberos已成为首选的认证协议,但NTLM仍然在少数情况下使用,特别是与旧版Windows系统或非Windows系统进行互操作时。

4、密钥身份认证

Windows支持使用密钥来进行身份的验证,这种方式涉及使用预先共享的密钥对用户进行身份验证,通常用于特定的场景和应用。

5、远程桌面认证(Remote Desktop Authentication)

在进行远程桌面连接时,用户需要提供目标计算机的凭证进行认证,以验证身份并获得远程访问权限。

NTLM协议

主机A想要访问主机B上的资源,就要向主机B发送一个存在于主机B上的一个账户,主机B接收以后会在本地进行验证,如果验证成功,才会允许主机A进行相应的访问。

NTLM(NT LAN Manager)认证是一种早期的Windows网络身份验证协议,在Windows系统中用于验证用户的身份,并提供对网络资源的访问控制。

NTLM协议是一种基于挑战(Challenge)/响应(Response)认证机制

NTLM协议 挑战 /响应认证机制

大致流程如下:

1、协商:双方确定传输协议的版本等信息

2、质询:Challenge/Response 认证机制的关键之处

3、验证:对质询的最后结果进行一个验证,验证通过后,即允许访问资源

认证过程

认证分为认证成功与认证失败两种

1、client端会向server端发起请求连接商议信息

2、server端会在本地生成一个(16位或8位)随机字符,即challenge,并将生成的challenge 传递给client端

3、当client端接收到challenge信息时,将username的NTLM-hash对challenge进行加密,并和用户名、域名、机器名等相关信息生成response,并将response发送给给server端

4、server端在收到response后,将其和相同的方法进行加密生成另一个response。如果相同,则验证成功, 如果不同,则验证失败。

Wireshark抓包分析

实验环境

两台Windows server 2008 R2机器进行NTLM认证抓包分析

机器IP地址机器名机器用户
192.168.110.7lmadministrator
192.168.110.8WIN-LUOQFIF9141administrator

在机器192.168.110.7上执行net use \IP /u:账号名 密码 进行认证,同时进行抓包

流量分析

前四条数据都是用于信息协商

第五个数据包是用户的身份验证信息和某些规则,主要为flag里面的规则

第六条数据包 包含同意列表和challenge值

可以观察到该challenge值为16位,这是因为采用的是NTLM v2协议。如果是NTLM v1协议,则challenge值为8位。

第七个数据包是发送response的数据包,包含账户名和response等相关信息

第8个数据包返回的是结果,用于表示成功还是失败

challenge值与response值

Challenge是服务器端发送给客户端的一串随机字符,NTLM-v1协议中是8位,NTLM-v2协议中是16位,自从Windows vista之后就开始默认使用v2协议了。

Reponse值是由客户端生成发送给服务端,用于进行校验。

协议对比
  1. LM-HASH:针对早期Windows用户密码进行加密的hash值
  2. NTLM-HASH:针对目前Windows用户密码进行加密的hash值
  3. NTLM协议认证:一种认证方式,用于建立两台计算机的信任,分为NTLM-v1协议和NTLM-v2协议
  4. NTLM-v2-hash:在NTLM-v2协议认证过程中的一段加密的hash值
  5. NET-NTLM v1 hash:是由不同字段组成的值,用于计算机进行对比
NTLM协议安全问题
  1. PTH攻击:因为在NTLM认证过程中,会使用到用户的NTLM-HASH值进行计算,如果攻击者知道计算机中用户的hash值,就可以进行PTH攻击
  2. NET-NTLM hash relay攻击:NTLM中间人攻击,如果获得net-NTLM v1 hash可以重放,进行认证
  3. NET-NTLM v1 & v2 hash破解:v1破解比较简单,使用DES容易破解。如果是V2就要使用碰撞的方式,可以使用彩虹表等方式,获取明文的账号及密码
分类: 内网渗透

评论

-- 评论已关闭 --

目录