🗒️域部分概念复习和总结
2023-12-22
| 2023-12-22
字数 1433阅读时长 4 分钟
type
status
date
slug
summary
tags
category
icon
password

windows域kerberos协议认证过程

Key Distribution Center(即 KDC)是kerberos的核心组件。
三部分:
  • Kerberos Database: 包含了一个 Realm 中所有的 principal、密码与其他信息。
    • (默认:Berkeley DB)
  • AS(Authentication Service): 进行用户信息认证,为客户端提供TGT票据(Ticket Granting Tickets:门票授予)
  • TGS(Ticket Granting Service):验证 TGT 与 Authenticator,为客户端提供 Service Tickets(服务门票)。
 
简单理解:
三次认证:
第一次认证:客户端给AS发送加密时间戳获取了TGT票据。 第二次认证:客户端给TGS发送TGT票据和加密时间戳获取ST门票。
第三次认证:客户端发送门票给服务端进行验证。
代码块中是全写:

黄金票据(②步骤)

补充krbtgt账户的NTML hash

创建域时krbtgt账户的信息是固定的(无论是否修改用户民和密码,krbtgt的hash都不会变化)
krbtgt 的NTLM hash是相应账户的NTLM哈希值。
用户登录——>请求TGT——>TGT使用krbtgt的NTLM hash进行加密。
用于第一步认证中生成TGT门票,TGT是通过krbtgt的NTLM hash和用户密码,时间戳,请求头等共同生成的。

原理:

在Kerberos认证中,Client通过AS(身份认证服务)认证后,AS会给Client一个 Logon Session Key和TGT,而Logon Session Key并不会保存在KDC中,krbtgt的NTLM Hash又是固定的,所以只要得到krbtgt的NTLM Hash,就可以伪造TGT和Logon Session Key来进入下一步Client与TGS的交互。而已有了金票后,就跳过AS验证,不用验证账户和密码,所以也不担心域管密码修改。

特点:

不需要与AS进行交互,需要用户krbtgt的NTLM Hash。

白银票据(④步骤)

原理:

如果是黄金票据是伪造的TGT,那么白银票据就是伪造的ST。
在Kerberos认证的第三部,Client带着ST和Authenticator3向Server上的某个服务进行请求,Server接收到Client的请求之后,通过自己的Master Key 解密ST,从而获得 Session Key。通过 Session Key 解密 Authenticator3,进而验证对方的身份,验证成功就让 Client 访问server上的指定服务了。

特点:

1.不需要与KDC进行交互 2.需要server的NTLM hash
票据ST(由server的密码hash加密的sessionkey-tgs)

金票和银票的区别

  1. 获取权限不同
    1. 金票:伪造的TGT,可以获取任意Kerberos的访问权限 银票:伪造的ST,只能访问指定的服务,如CIFS
  1. 认证流程不同
    1. 金票:同KDC交互,但不同AS交互
      银票:不同KDC交互,直接访问Server
  1. 加密方式不同
    1. 金票:由krbtgt NTLM Hash加密 银票:由服务账号 NTLM Hash加密

Windows认证体系—NTLM认证

  • NTLM Hash:存储在SAM数据库及NTDS数据库中对密码进行 Hash摘要计算后的结果
  • Net-NTLM hash:通常是指网络环境下 NTLM认证中的 Hash
  • NTLM:除 Kerberos之外的一种网络认证协议,只支持 Windows
  • LSASS:Windows系统的安全机制(系统进程)。用于本地安全和登陆策略

本地认证

Windows不存储用户的明文密码,它会将用户的明文密码经过加密后存储在 SAM (Security Account Manager Database,安全账号管理数据库)中。
(路径:%SystemRoot%\system32\config\sam)
winlogon.exe-----接收用户输入--->lsass.exe------加密密码得到ntlm hash,和sam文件中已保存的信息进行比较,若比较成功---->user id group id--------->winlogon.exe

NTLM 网络认证机制

server随机生成16位challenge,client用自己账户的ntml hash值对challenge加密,域控制器查询用户的NTLM hash对challenge加密,俩者对比加密数据,一样则验证成功。

哈希传递(PTH)

原理:
该攻击方法通过找到与账户相关的密码散列值 NTLM Hash 来进行攻击的。由于在 Windows 系统 NTLM 认证的 TYPE 3 消息计算 Response 的时候,客户端是使用用户的 NTLM Hash 进行计算的,而不是用户密码进行计算的。因此在模拟用户登录或对访问资源的用户进行身份认证的时候,是不需要用户明文密码的,只需要用户 Hash。攻击者可以利用 NTLM HASH 直接远程登录目标主机或反弹 Shell。
 
常常适用于域环境或工作组环境。
 
可用的hash传递工具:
crackmapexec,wmiexec,msf,powershell
 
  • 内网相关
  • 外到内三层靶机思路记录frp连通vps和kali虚拟机
    Loading...