第1部分 基础篇
第1章 环境搭建 3
1.1 环境拓扑和配置说明 3
1.2 配置根域dbapp.lab的服务器 4
1.3 安装辅域和Active Directory证书服务 11
1.3.1 安装辅域 11
1.3.2 安装Active Directory证书服务 16
1.4 添加客户端 24
1.4.1 添加域用户 24
1.4.2 添加域主机 25
1.5 安装子域sub.dbapp.lab 29
1.6 配置根域dbsecurity.lab的服务器 33
1.7 建立林信任关系 35
第2章 域渗透工具 41
2.1 Mimikatz 41
2.1.1 kerberos 41
2.1.2 lsadump 43
2.1.3 sekurlsa 43
2.2 Kekeo 45
2.2.1 AS请求 45
2.2.2 TGS请求 46
2.3 Rubeus 46
2.3.1 asreproast 46
2.3.2 kerberoast 47
2.3.3 asktgt 48
2.3.4 asktgs 48
2.3.5 golden 48
2.3.6 silver 49
2.3.7 ptt 50
2.3.8 monitor 50
2.3.9 s4u 51
2.4 impacket 52
2.4.1 KRB5CCNAME 52
2.4.2 secretsdump.py 53
2.4.3 wmiexec.py 53
2.4.4 psexec.py 54
2.4.5 ticketer.py 54
2.4.6 getTGT.py 55
2.4.7 getST.py 55
2.4.8 ntlmrelayx.py 55
2.4.9 GetADUsers.py 56
2.4.10 GetNPUsers.py 56
2.4.11 GetUserSPNs.py 57
2.4.12 smbpasswd.py 57
2.4.13 findDelegation.py 58
2.4.14 rbcd.py 58
2.4.15 ticketConverter.py 59
2.5 Certipy 59
2.5.1 account参数 60
2.5.2 find参数 61
2.5.3 req参数 61
2.5.4 auth参数 62
2.6 PowerView 63
2.6.1 Get-DomainUser 63
2.6.2 Get-DomainComputer 63
第 2部分 协议与认证篇
第3章 NTLM 67
3.1 工作组 67
3.1.1 工作组的实现 67
3.1.2 工作组的优点 67
3.1.3 工作组的局限性 68
3.2 Windows操作系统中的端口与协议 69
3.2.1 135端口和RPC协议 69
3.2.2 WMI 70
3.2.3 139/445端口和SMB协议 71
3.2.4 PsExec 71
3.2.5 5985端口和WinRM协议 72
3.2.6 Windows基础协议和第三方工具 73
3.3 NTLM基础 74
3.3.1 LM哈希值和NTLM哈希值 74
3.3.2 NTLM认证协议 75
3.3.3 域环境下的NTLM认证 77
3.3.4 Net-NTLM 77
3.4 NTLM的哈希传递漏洞 78
3.4.1 哈希传递漏洞复现注意点 79
3.4.2 哈希传递漏洞复现准备 80
3.4.3 使用msfconsole复现 80
3.4.4 使用Mimikatz复现 81
3.4.5 使用impacket复现 81
3.5 发起NTLM请求 82
3.5.1 UNC路径 82
3.5.2 打印机漏洞 84
3.5.3 PetitPotam漏洞 85
3.5.4 DFSCoerce 86
3.6 Net-NTLM利用 87
3.6.1 Net-NTLM中继漏洞利用 87
3.6.2 其他中继 87
第4章 LDAP 96
LDAP和Active Directory 96
4.1.1 LDAP数据结构 96
4.1.2 Active Directory 97
4.1.3 Active Directory查询 98
4.1.4 Active Directory查询工具 100
4.2 Windows组 104
4.2.1 用户组 104
4.2.2 常见的组 105
4.2.3 组策略 106
4.2.4 OU与组策略使用 108
4.3 用户与权限 113
4.3.1 域用户 114
4.3.2 计算机账户 117
4.3.3 域权限 118
第5章 Kerberos 122
5.1 Kerberos认证流程 122
5.2 Kerberos的基础概念 123
5.3 AS请求和响应流程 124
5.4 AS请求相关安全问题 127
5.4.1 Kerberos预身份验证 127
5.4.2 黄金票据 129
5.5 TGS请求和响应流程 133
5.5.1 委派 135
5.5.2 非约束委派 136
5.5.3 约束委派 138
5.5.4 基于资源的约束委派 140
5.6 TGS请求相关安全问题 140
5.6.1 Kerberoasting 140
5.6.2 白银票据 143
5.6.3 非约束委派漏洞利用 148
5.6.4 约束委派漏洞利用 151
5.6.5 基于资源的约束委派漏洞利用 157
第3部分 应用篇
第6章 Active Directory证书服务 167
6.1 PKI 167
6.2 Active Directory证书服务的使用 167
6.3 证书服务相关安全问题 170
6.3.1 ESC1 170
6.3.2 ESC8 174
第7章 域信任 181
7.1 域信任关系 181
7.1.1 单向信任/双向信任 182
7.1.2 内部信任/外部信任 182
7.2 域信任信息收集与访问 182
7.3 域信任相关安全问题 184
7.3.1 SID版跨域黄金票据 184
7.3.2 SID版跨域黄金票据原理 186
7.3.3 SID版跨域黄金票据复现准备 186
7.3.4 本地复现方法 188
7.3.5 远程复现方法 189
第8章 域内漏洞 190
8.1 CVE-2014-6324漏洞 190
8.1.1 PAC 190
8.1.2 TGT与伪造的PAC 190
8.1.3 CVE-2014-6324漏洞的原理 191
8.1.4 CVE-2014-6324漏洞的复现准备 191
8.1.5 CVE-2014-6324漏洞的复现流程 192
8.2 CVE-2020-1472漏洞 193
8.2.1 Netlogon服务 193
8.2.2 CVE-2020-1472漏洞的原理 193
8.2.3 CVE-2020-1472漏洞的复现准备 194
8.2.4 CVE-2020-1472漏洞的复现流程 194
8.3 CVE-2021-42278和CVE-2021-42287组合漏洞 197
8.3.1 CVE-2021-42278漏洞的原理 197
8.3.2 CVE-2021-42287漏洞的原理 197
8.3.3 组合漏洞的原理 197
8.3.4 CVE-2021-42287漏洞的复现准备 197
8.3.5 CVE-2021-42287漏洞的手动复现方式 198
8.3.6 CVE-2021-42287漏洞的自动复现方式 200
8.4 CVE-2022-26923漏洞 201
8.4.1 CVE-2022-26923漏洞的原理 201
8.4.2 CVE-2022-26923漏洞的复现准备与流程 202