Contents?目 錄
本書贊譽
前 言
第1章 Windows協(xié)議 1
1.1 NTLM協(xié)議 1
1.1.1 SSPI和SSP的概念 1
1.1.2 LM Hash加密算法 3
1.1.3 NTLM Hash加密算法 4
1.1.4 NTLM協(xié)議認證 6
1.1.5 NTLM協(xié)議的安全問題 23
1.2 Kerberos協(xié)議 27
1.2.1 Kerberos基礎 28
1.2.2 PAC 29
1.2.3 Kerberos實驗 34
1.2.4 AS-REQ&AS-REP 35
1.2.5 TGS-REQ&TGS-REP 40
1.2.6 AP-REQ&AP-REP雙向
認證 45
1.2.7 S4u2Self&S4u2Proxy協(xié)議 47
1.2.8 Kerberos協(xié)議的安全問題 49
1.3 LDAP 50
1.3.1 LDAP基礎 51
1.3.2 通信流程 52
1.3.3 查詢方式 57
第2章 域基礎知識 60
2.1 域中常見名詞 60
2.2 工作組和域 63
2.2.1 工作組 63
2.2.2 域 64
2.2.3 域功能級別和林功能級別 66
2.2.4 工作組和域的區(qū)別 68
2.3 域信任 68
2.3.1 單向信任、雙向信任和快捷
信任 69
2.3.2 內(nèi)部信任、外部信任和林
信任 70
2.3.3 跨域資源訪問 71
2.4 域的搭建和配置 74
2.4.1 搭建Windows Server 2008 R2
域功能級別的單域環(huán)境 74
2.4.2 搭建Windows Server 2012 R2
域功能級別的單域環(huán)境 77
2.4.3 搭建額外域控 80
2.4.4 搭建域樹 82
2.4.5 加入和退出域 84
2.4.6 啟用基于SSL的LDAP 85
2.5 本地賬戶和活動目錄賬戶 88
2.5.1 本地賬戶 88
2.5.2 活動目錄賬戶 90
2.6 本地組和域組 99
2.6.1 本地組 99
2.6.2 域組 101
2.7 目錄分區(qū) 106
2.7.1 域目錄分區(qū) 107
2.7.2 配置目錄分區(qū) 108
2.7.3 架構目錄分區(qū) 108
2.7.4 應用程序目錄分區(qū) 115
2.7.5 條目屬性分析 115
2.8 服務主體名稱 118
2.8.1 SPN的配置 119
2.8.2 使用SetSPN注冊SPN 121
2.8.3 SPN的查詢和發(fā)現(xiàn) 123
2.9 域中的組策略 125
2.9.1 組策略的功能 126
2.9.2 組策略對象 126
2.9.3 策略設置與首選項設置 128
2.9.4 組策略應用時機 129
2.9.5 組策略應用規(guī)則 130
2.9.6 組策略的管理 131
2.9.7 組策略的安全問題 133
2.10 域中的訪問控制列表 137
2.10.1 Windows訪問控制
模型 138
2.10.2 訪問控制列表 139
2.10.3 安全描述符定義語言 143
2.10.4 域?qū)ο驛CL的查看和
修改 148
第3章 域內(nèi)工具的使用 153
3.1 BloodHound的使用 153
3.1.1 BloodHound的安裝 153
3.1.2 活動目錄信息收集 156
3.1.3 導入數(shù)據(jù) 157
3.1.4 數(shù)據(jù)庫信息 157
3.1.5 節(jié)點信息 157
3.1.6 分析模塊 158
3.1.7 查詢模塊 159
3.2 Adfind的使用 159
3.2.1 參數(shù) 159
3.2.2 使用 160
3.2.3 查詢示例 161
3.3 Admod的使用 167
3.3.1 參數(shù) 167
3.3.2 使用 168
3.3.3 修改示例 168
3.4 LDP的使用 169
3.4.1 連接域控 170
3.4.2 綁定憑據(jù) 170
3.4.3 查看 172
3.4.4 添加、刪除和修改 174
3.5 Ldapsearch的使用 174
3.5.1 參數(shù) 174
3.5.2 使用 175
3.5.3 查詢示例 177
3.6 PingCastle的使用 180
3.7 Kekeo的使用 184
3.7.1 Kekeo提供的模塊 184
3.7.2?申請TGT 186
3.7.3 申請ST 189
3.7.4?約束性委派攻擊 190
3.8 Rubeus的使用 190
3.8.1 申請TGT 191
3.8.2 申請ST 192
3.8.3 Rubeus導入票據(jù) 193
3.8.4 AS-REP Roasting攻擊 194
3.8.5 Kerberoasting攻擊 194
3.8.6 委派攻擊 195
3.9 mimikatz的使用 196
3.10 Impacket的使用 200
3.10.1 遠程連接 200
3.10.2 獲取域內(nèi)所有用戶的Hash(secretsdump.py) 209
3.10.3 生成黃金票據(jù)
(ticketer.py) 210
3.10.4 請求TGT(getTGT.py) 210
3.10.5 請求ST(getST.py) 211
3.10.6 獲取域的SID
(lookupsid.py) 212
3.10.7 枚舉域內(nèi)用戶
(samrdump.py) 212
3.10.8 增加機器賬戶
(addcomputer.py) 213
3.10.9 AS-REP Roasting攻擊(GetNPUsers.py) 214
3.10.10 Kerberoasting攻擊(GetUserSPNs.py) 214
3.10.11 票據(jù)轉換
(ticketConverter.py) 215
3.10.12 增加、刪除和查詢SPN(addspn.py) 216
第4章 域內(nèi)滲透手法 218
4.1 域內(nèi)用戶名枚舉 218
4.1.1 域內(nèi)用戶名枚舉工具 218
4.1.2 域內(nèi)用戶名枚舉抓包
分析 221
4.1.3 域內(nèi)用戶名枚舉攻擊
防御 221
4.2 域內(nèi)密碼噴灑 222
4.2.1 域內(nèi)密碼噴灑工具 222
4.2.2 域內(nèi)密碼噴灑抓包分析 224
4.2.3 域內(nèi)密碼噴灑攻擊防御 227
4.3 AS-REP Roasting 228
4.3.1 AS-REP Roasting攻擊
過程 228
4.3.2 AS-REP Roasting抓包
分析 232
4.3.3 AS-REP Roasting攻擊
防御 233
4.4 Kerberoasting 233
4.4.1 Kerberoasting攻擊過程 234
4.4.2 SPN的發(fā)現(xiàn) 234
4.4.3 請求服務票據(jù) 236
4.4.4 導出服務票據(jù) 237
4.4.5 離線破解服務票據(jù) 238
4.4.6 Kerberoasting抓包分析 239
4.4.7 Kerberoasting攻擊防御 240
4.5 委派 242
4.5.1 委派的分類 243
4.5.2 查詢具有委派屬性的
賬戶 251
4.5.3 委派攻擊實驗 254
4.5.4 委派攻擊防御 265
4.6 Kerberos Bronze Bit漏洞 265
4.6.1 漏洞背景 265
4.6.2 漏洞原理 266
4.6.3 漏洞復現(xiàn) 267
4.6.4 漏洞預防和修復 269
4.7 NTLM Relay 270
4.7.1 捕獲Net-NTLM Hash 270
4.7.2 重放Net-NTLM Hash 286
4.7.3 NTLM Relay攻擊防御 291
4.8 濫用DCSync 291
4.8.1 DCSync的工作原理 292
4.8.2 修改DCSync ACL 292
4.8.3 DCSync攻擊 294
4.8.4 利用DCSync獲取明文
憑據(jù) 295
4.8.5 DCSync攻擊防御 295
4.9 PTH 296
4.9.1 本地賬戶和域賬戶PTH的
區(qū)別 296
4.9.2 Hash碰撞 301
4.9.3 利用PTH進行橫向移動 302
4.9.4 更新KB2871997補丁產(chǎn)生的
影響 304
4.9.5 PTH防御 311
4.10 定位用戶登錄的主機 311
4.10.1 注冊表查詢 311
4.10.2 域控日志查詢 318
4.11 域林滲透 322
4.11.1 查詢域控 322
4.11.2 查詢域管理員和企業(yè)
管理員 323
4.11.3 查詢所有域用戶 324
4.11.4 查詢所有域主機 324
4.11.5 跨域橫向攻擊 324
4.11.6 域林攻擊防御 327
第5章 域內(nèi)漏洞和利用 330
5.1 MS14-068權限提升漏洞 330
5.1.1 漏洞背景 330
5.1.2 漏洞原理 330
5.1.3 漏洞復現(xiàn) 331
5.1.4 漏洞預防和修復 339
5.2 CVE-2019-1040 NTLM MIC
繞過漏洞 339
5.2.1 漏洞背景 339
5.2.2 漏洞原理 340
5.2.3 漏洞完整利用鏈 340
5.2.4 漏洞影響版本 342
5.2.5 漏洞復現(xiàn) 342
5.2.6 漏洞抓包分析 347
5.2.7 漏洞預防和修復 356
5.3 CVE-2020-1472 NetLogon權限
提升漏洞 356
5.3.1 漏洞背景 356
5.3.2 漏洞原理 356
5.3.3 漏洞影響版本 361
5.3.4 漏洞復現(xiàn) 361
5.3.5 漏洞預防和修復 368
5.4 Windows Print Spooler權限提升
漏洞 368
5.4.1 漏洞背景 368
5.4.2 漏洞原理 369
5.4.3 漏洞影響版本 371
5.4.4 漏洞利用 371
5.4.5 漏洞預防和修復 374
5.5 ADCS攻擊 374
5.5.1 漏洞背景 374
5.5.2 基礎知識 375
5.5.3 ADCS的安全問題 389
5.5.4 漏洞預防和修復 398
5.6 CVE-2021-42287權限提升
漏洞 399
5.6.1 漏洞背景 399
5.6.2 漏洞攻擊鏈原理 399
5.6.3 漏洞利用流程 417
5.6.4 漏洞復現(xiàn) 420
5.6.5 針對MAQ為0時的攻擊 423
5.6.6 漏洞預防和修復 430
5.7 Exchange ProxyLogon攻擊
利用鏈 432
5.7.1 漏洞背景 432
5.7.2 漏洞原理 432
5.7.3 漏洞影響版本 436
5.7.4 漏洞復現(xiàn) 436
5.7.5 漏洞檢測和防御 445
5.8 Exchange ProxyShell攻擊
利用鏈 445
5.8.1 漏洞背景 445
5.8.2 漏洞原理 446
5.8.3 漏洞影響版本 452
5.8.4 漏洞復現(xiàn) 452
5.8.5 漏洞防御 459
第6章 域權限維持與后滲透密碼
收集 460
6.1 域權限維持之票據(jù)傳遞 460
6.1.1 黃金票據(jù)傳遞攻擊 460
6.1.2 白銀票據(jù)傳遞攻擊 465
6.1.3 黃金票據(jù)和白銀票據(jù)的聯(lián)系
與區(qū)別 470
6.1.4 票據(jù)傳遞攻擊防御 471
6.2 域權限維持之委派 472
6.3 域權限維持之DCShadow 474
6.3.1 漏洞原理 475
6.3.2 漏洞攻擊流程 478
6.3.3 DCShadow攻擊 479
6.3.4 DCShadow攻擊防御 483
6.4 域權限維持之Skeleton Key 483
6.4.1 Skeleton Key攻擊 484
6.4.2 Skeleton Key攻擊防御 485
6.5 域權限維持之SID History
濫用 486
6.5.1 SID History攻擊 486
6.5.2 SID History攻擊防御 488
6.6 域權限維持之重置DSRM
密碼 490
6.6.1 DSRM攻擊 491
6.6.2 DSRM攻擊防御 493
6.7 域權限維持之AdminSDHolder
濫用 494
6.7.1 Protected Groups 494
6.7.2 AdminSDHolder 496
6.7.3 Security Descriptor
Propagator 496
6.7.4 利用AdminSDHolder實現(xiàn)
權限維持 497
6.7.5 AdminSDHolder濫用檢測和
防御 500
6.8 域權限維持之ACL濫用 501
6.8.1 User-Force-Change-Password
擴展權限 502
6.8.2 member屬性權限 505
6.8.3 msDS-AllowedToActOnBehalfOfOtherIdentity屬性權限 507
6.8.4 DCSync權限 510
6.8.5 GenericAll權限 512
6.8.6 GenericWrite權限 521
6.8.7 WriteDACL權限 521
6.8.8 WriteOwner權限 523
6.9 域權限維持之偽造域控 524
6.9.1 漏洞原理 524
6.9.2 偽造域控攻擊 526
6.9.3 偽造域控攻擊防御 527
6.10 后滲透密碼收集之Hook PasswordChangeNotify 527
6.10.1 Hook PasswordChangeNotify
攻擊 528
6.10.2 Hook PasswordChangeNotify
攻擊防御 529
6.11 后滲透密碼收集之注入
SSP 529
6.11.1 mimikatz注入偽造的
SSP 529
6.11.2 SSP注入防御 530