Windows*内幕:身份验证、授权与审计(AAA)核心技术详解 PowerShell 红队攻防 渗透测试
¥103.80
| 运费: | ¥ 0.00-20.00 |
商品详情
书名:Windows*内幕:身份验证、授权与审计(AAA)核心技术详解
定价:148.8
ISBN:9787115700131
作者:詹姆斯·福肖(James Forshaw)
版次:第1版
出版时间:2026-07
内容提要:
Windows是全球应用广泛的操作系统,*机制随技术发展持续迭代升级。由于系统闭源且采用面向API的架构,其底层*原理的探究门槛较高,长期是行业内的研究难点。如今Windows*体系日趋复杂,也成为网络攻击的主要目标,深入掌握其*机制对网络*防护*关重要。 本书共分为3部分,第1部分从编程视角梳理Windows操作系统基础,为后续*知识学习搭建框架;第2部分聚焦Windows内核核心*组件——*参考监视器,详解访问控制全流程相关原理与实现;第3部分深入剖析Windows身份验证体系,涵盖身份验证结构、各类验证协议及*包等关键内容,并配套PowerShell实操示例助力理解。此外,本书还有两个附录,提供了Windows*相关的配置细节和扩展学习资源。 本书面向所有从事Windows*相关工作的专业人员,包括希望保障产品*性的Windows软件开发人员、负责企业级Windows*防护的系统管理员,以及致力于挖掘操作系统*漏洞的*研究人员,是学习Windows*内核知识、开展相关研究与实践的实用参考资料。
作者简介:
James Forshaw(詹姆斯·福肖),Google Project Zero团队的知名计算机**,拥有*过20年的微软Windows及其他产品*问题分析与漏洞利用研究经验,已在微软平台上发现数百个公开披露的漏洞。他的研究成果常被业界广泛引用,并通过博客、国际**会议演讲以及原创工具进行呈现,深刻影响并启发了众多业内研究人员。在从事漏洞挖掘与*突破研究之余,James也以防御者的身份,为多个团队提供*设计咨询,并参与优化Chromium在 Windows平台上的沙箱机制,为全球数十亿用户提供*保障。
目录:
第1章 设置PowerShell测试环境 ............ 1
1.1 选择PowerShell版本................... 1
1.2 配置PowerShell ........................... 1
1.3 PowerShell语言概述 ................... 3
1.3.1 理解类型、变量和表达式 ... 3
1.3.2 执行命令 ............................. 6
1.3.3 发现命令并获取帮助 ......... 7
1.3.4 定义函数 ............................. 9
1.3.5 显示和操作对象 ............... 10
1.3.6 过滤、排序和分组对象 ... 13
1.3.7 导出数据 ........................... 15
1.4 总结 ............................................. 16
第2章 Windows内核 ............................... 17
2.1 Windows内核执行体 ................. 17
2.2 *参考监视器 ......................... 18
2.3 对象管理器 ................................. 20
2.3.1 对象类型 ........................... 20
2.3.2 对象管理器命名空间 ....... 21
2.3.3 系统调用 ........................... 22
2.3.4 NTSTATUS状态码 .......... 25
2.3.5 对象句柄 ........................... 27
2.3.6 Query和Set信息系统调用 ............................. 33
2.4 输入/输出管理器 ........................ 36
2.5 进程和线程管理器 ..................... 38
2.6 内存管理器 ................................. 39
2.6.1 NtVirtualMemory系列命令 ........................ 40
2.6.2 节对象 ............................... 42
2.7 代码完整性 ................................. 44
2.8 *本地过程调用 ..................... 45
2.9 配置管理器 ................................. 45
2.10 示例实践 ................................... 46
2.10.1 根据名称查找已打开的句柄 .......................... 46
2.10.2 查找共享对象 ................. 47
2.10.3 修改映射节 ..................... 48
2.10.4 查找可写可执行内存 ..... 49
2.11 总结 ........................................... 50
第3章 用户模式应用程序 ......................... 51
3.1 Win32与用户模式Windows API ........................ 51
3.1.1 加载新库 ........................... 52
3.1.2 查看导入的API ................ 54
3.1.3 搜索DLL .......................... 55
3.2 Win32 GUI .................................. 57
3.2.1 GUI内核资源 ................... 57
3.2.2 窗口消息 ........................... 59
3.2.3 控制台会话 ....................... 60
3.3 比较Win32 API和系统调用 ..... 62
3.4 Win32注册表路径 ..................... 65
3.4.1 打开注册表项 ................... 66
3.4.2 列出注册表的内容 ........... 66
3.5 DOS设备路径 ............................ 67
3.5.1 路径类型 ........................... 69
3.5.2 *路径长度 ................... 70
3.6 进程创建 ..................................... 71
3.6.1 命令行解析 ....................... 72
3.6.2 Shell API ............................ 73
3.7 系统进程 ..................................... 75
3.7.1 会话管理器 ....................... 75
3.7.2 Windows登录进程 ........... 75
3.7.3 本地*机构子系统 ....... 76
3.7.4 服务控制管理器 ............... 76
3.8 示例实践 ..................................... 77
3.8.1 查找导入特定API的可执行文件 ..................... 77
3.8.2 查找隐藏的注册表键或值 ........................... 77
3.9 总结 ............................................. 79
第4章 *访问令牌 ................................. 80
4.1 主令牌 ......................................... 80
4.2 模拟令牌 ..................................... 84
4.2.1 *服务质量 ................... 84
4.2.2 显式模拟令牌 ................... 86
4.3 令牌类型转换 ............................. 87
4.4 伪令牌句柄 ................................. 88
4.5 令牌组 ......................................... 89
4.5.1 Enabled、EnabledByDefault和Mandatory .................... 89
4.5.2 LogonId ............................. 90
4.5.3 Owner ................................ 90
4.5.4 UseForDenyOnly .............. 90
4.5.5 Integrity与IntegrityEnabled ................ 91
4.5.6 Resource ............................ 92
4.5.7 设备组 ............................... 92
4.6 特权 ............................................. 92
4.7 沙箱令牌 ..................................... 95
4.7.1 受限令牌 ........................... 95
4.7.2 写入受限令牌 ................... 97
4.7.3 AppContainer和LowBox令牌 ........................... 97
4.8 什么是管理员账户 ................... 100
4.9 用户账户控制 ........................... 101
4.9.1 关联令牌和提升类型 ..... 103
4.9.2 UI访问 ............................ 105
4.9.3 虚拟化 ............................. 106
4.10 *属性 ................................. 106
4.11 创建令牌 ................................. 108
4.12 令牌分配 ................................. 109
4.12.1 分配主令牌 ................... 109
4.12.2 分配模拟令牌 ............... 111
4.13 示例实践 ............................. 113
4.13.1 查找具有UI访问权限的进程 .......................... 113
4.13.2 查找可用于模拟的令牌句柄 ................................ 114
4.13.3 移除管理员特权 ........... 115
4.14 总结 ......................................... 115
第5章 *描述符 ................................... 117
5.1 *描述符的结构 ................... 117
5.2 SID的结构 ................................ 119
5.3 *和相对*描述符 ........... 121
5.4 访问控制列表头部和条目 ....... 123
5.4.1 列表头部 ......................... 124
5.4.2 ACE列表 ........................ 125
5.5 构造与操作*描述符 ........... 127
5.5.1 创建新的*描述符 ..... 128
5.5.2 排序ACE ........................ 129
5.5.3 格式化*描述符 ......... 130
5.5.4 相对*描述符的双向转换 ....................... 133
5.6 *描述符定义语言 ............... 135
5.7 示例实践 ................................... 142
5.7.1 手动解析二进制SID ..... 142
5.7.2 枚举SID ......................... 143
5.8 总结 ............................. 145
第6章 读取并分配*描述符 ............... 146
6.1 读取*描述符 ....................... 146
6.2 分配*描述符 ....................... 148
6.2.1 在资源创建过程中分配*描述符 ..................... 149
6.2.2 为已存在的资源分配*描述符 ............................. 171
6.3 Win32*API ........................ 174
6.4 服务器*描述符和复合ACE ........................................... 178
6.5 继承行为总结 ........................... 180
6.6 示例实践 ................................... 181
6.6.1 查找对象管理器资源的所有者 .......................... 181
6.6.2 修改资源的所有权 ......... 183
6.7 总结 ........................................... 184
第7章 访问检查过程 ............................... 185
7.1 执行访问检查 ........................... 185
7.1.1 内核模式访问检查 ......... 185
7.1.2 访问模式 ......................... 186
7.1.3 PowerShell命令Get-NtGrantedAccess ...... 189
7.2 PowerShell中的访问检查过程 ......................................190
7.2.1 定义访问检查函数 ......... 191
7.2.2 执行强制访问检查 ......... 192
7.2.3 执行令牌访问检查 ......... 200
7.2.4 执行自主访问检查 ......... 203
7.3 沙箱机制 ................................... 206
7.3.1 受限令牌 ......................... 206
7.3.2 LowBox令牌 .................. 207
7.4 企业访问检查 ........................... 210
7.4.1 对象类型访问检查 ......... 211
7.4.2 集中访问策略 ................. 216
7.5 示例实践 ................................... 221
7.5.1 使用Get-PSGrantedAccess命令 ..................... 221
7.5.2 计算资源的授予访问权限 ......................... 223
7.6 总结 ........................................... 224
第8章 访问检查的其他应用场景 ........... 225
8.1 遍历检查 ................................... 225
8.1.1 SeChangeNotifyPrivilege特权 ....................... 226
8.1.2 受限检查 ......................... 227
8.2 句柄复制的访问检查 ............... 228
8.3 沙箱令牌检查 ........................... 231
8.4 自动化访问检查 ....................... 233
8.5 示例实践 ................................... 236
8.5.1 简化对象的访问检查 ..... 236
8.5.2 查找可写的Section对象 ................................. 236
8.6 总结 ........................................... 237
第9章 *审计 ....................................... 238
9.1 *事件日志 ........................... 238
9.1.1 配置系统审计策略 ......... 239
9.1.2 配置每用户的审计策略 .... 241
9.2 审计策略* ........................... 242
9.2.1 配置资源的SACL .......... 244
9.2.2 配置全局SACL .............. 247
9.3 示例实践 ................................... 248
9.3.1 验证审计访问的*性 ... 248
9.3.2 查找包含审计ACE的资源 ................................. 249
9.4 总结 ........................................... 250
第10章 Windows身份验证 ................... 251
10.1 域身份验证 ............................. 251
10.1.1 本地身份验证 ............... 252
10.1.2 企业网络域 ................... 252
10.1.3 域林 ............................... 253
10.2 本地域配置 ............................. 255
10.2.1 用户数据库 ................... 256
10.2.2 LSA策略数据库 .......... 259
10.3 远程LSA服务 ....................... 261
10.3.1 SAM远程服务 ............. 262
10.3.2 域策略远程服务 ........... 267
10.4 SAM和SECURITY数据库 ... 272
10.4.1 通过注册表访问SAM数据库 ....................... 273
10.4.2 查看SECURITY数据库 ....................... 281
10.5 示例实践 ................................. 283
10.5.1 RID循环遍历 ............... 283
10.5.2 强制用户更改密码 ....... 284
10.5.3 提取所有本地用户哈希...................... 285
10.6 总结 ......................................... 287
第11章 活动目录 ..................................... 288
11.1 活动目录简史 ......................... 288
11.2 使用PowerShell探索活动目录域............................ 289
11.2.1 远程服务器管理工具 ... 289
11.2.2 林和域的基本信息 ....... 290
11.2.3 用户 ............................... 291
11.2.4 组 ................................... 292
11.2.5 计算机 ........................... 293
11.3 对象和可分辨名称 ................. 294
11.3.1 枚举目录对象 ............... 295
11.3.2 访问其他域中的对象 ... 297
11.4 架构 ......................................... 298
11.4.1 查看架构 ....................... 299
11.4.2 访问*属性 ............... 300
11.5 *描述符 ............................. 302
11.5.1 查询目录对象的*描述符 ........................ 302
11.5.2 为新目录对象分配*描述符 ................ 304
11.5.3 为现有对象分配*描述符 .................... 307
11.5.4 检查*描述符的继承*来源 ....................... 309
11.6 访问检查 ................................. 309
11.6.1 创建对象 ....................... 310
11.6.2 删除对象 ....................... 312
11.6.3 列出对象 ....................... 312
11.6.4 读取和写入属性 ........... 313
11.6.5 检查多个属性 ............... 314
11.6.6 分析属性集 ................... 315
11.6.7 检查控制访问权限 ....... 319
11.6.8 分析验证写入访问权限 ........................... 320
11.6.9 访问SELF SID .............. 321
11.6.10 执行额外的*检查 .... 322
11.7 声明与集中访问策略 ............. 324
11.8 组策略 ..................................... 326
11.9 示例实践 ................................. 328
11.9.1 构建授权上下文 ........... 328
11.9.2 收集对象信息 ............... 331
11.9.3 执行访问检查 ............... 332
11.10 总结 ....................................... 336
第12章 交互式身份验证 ......................... 337
12.1 创建用户桌面 ......................... 337
12.2 LsaLogonUser API .................. 339
12.2.1 本地身份验证 ............... 340
12.2.2 域身份验证 ................... 341
12.2.3 登录会话和控制台会话 ............................... 343
12.2.4 令牌创建 ....................... 345
12.3 从PowerShell中调用LsaLogonUser API .................. 347
12.4 使用令牌创建新进程 ............. 349
12.5 服务登录类型 ......................... 350
12.6 示例实践 ................................. 351
12.6.1 测试权限和登录账户权限 ............................... 352
12.6.2 在其他控制台会话中创建进程 ....................... 353
12.6.3 虚拟账户身份验证 ....... 354
12.7 总结 ......................................... 356
第13章 网络身份验证 ............................ 357
13.1 NTLM网络身份验证 ............. 358
13.1.1 使用PowerShell实现NTLM身份验证 ........... 359
13.1.2 密码学衍生过程 ........... 365
13.1.3 直通身份验证 ............... 367
13.1.4 本地环回身份验证 ....... 368
13.1.5 替代客户端凭据 ........... 370
13.2 NTLM中继攻击 ..................... 371
13.2.1 攻击概述 ....................... 372
13.2.2 活动服务器质询 ........... 373
13.2.3 签名和密封 ................... 373
13.2.4 目标名称 ....................... 375
13.2.5 通道绑定 ....................... 376
13.3 示例实践 ................................. 377
13.3.1 概述 ............................... 377
13.3.2 代码模块 ....................... 378
13.3.3 服务器实现 ................... 381
13.3.4 客户端实现 ................... 383
13.3.5 NTLM身份验证测试 ... 385
13.4 总结 ........................................ 386
第14章 Kerberos .................................... 387
14.1 使用Kerberos进行交互式身份验证 ........................... 387
14.1.1 初始用户身份验证 ....... 388
14.1.2 网络服务身份验证 ....... 392
14.2 在PowerShell中执行Kerberos身份验证 .................... 394
14.3 解密AP-REQ消息 ................. 397
14.4 解密AP-REP消息 ................. 403
14.5 跨域身份验证 ......................... 405
14.6 Kerberos委派 ......................... 406
14.6.1 无约束委派 ................... 407
14.6.2 约束委派 ....................... 411
14.7 用户对用户Kerberos身份验证 ................................ 416
14.8 示例实践 ................................. 419
14.8.1 查询Kerberos票据缓存 ............................... 419
14.8.2 简单的Kerberoasting攻击 ......................... 420
14.9 总结 ......................................... 422
第15章 协商身份验证与其他*包 ..... 423
15.1 *缓冲区 ............................. 423
15.1.1 在身份验证上下文中使用缓冲区 ................... 424
15.1.2 在签名与密封中使用缓冲区 ........................... 425
15.2 协商协议 ................................. 426
15.3 不常见的*包 ..................... 428
15.3.1 *通道 ....................... 428
15.3.2 CredSSP ......................... 432
15.4 远程凭据防护与受限管理员模式 ........................ 434
15.5 凭证管理器 ............................. 435
15.6 额外的请求属性标志 ............. 438
15.6.1 匿名会话 ....................... 438
15.6.2 身份令牌 ....................... 439
15.7 LowBox令牌下网络身份验证 .............................. 440
15.7.1 使用企业身份验证功能进行身份验证 .............. 441
15.7.2 对已知Web代理进行身份验证 ............................ 441
15.7.3 使用显式凭据进行身份验证 ....................... 442
15.8 身份验证审计事件日志 ......... 444
15.9 示例实践 ................................. 447
15.9.1 确定身份验证失败的原因 ....................... 447
15.9.2 使用*通道提取服务器的TLS证书 .................. 450
15.10 总结 ....................................... 452
15.11 *的思考 ........................... 452
附录A 搭建供测试使用的Windows域网络............................ 453
附录B SDDL SID别名映射 .................... 462
定价:148.8
ISBN:9787115700131
作者:詹姆斯·福肖(James Forshaw)
版次:第1版
出版时间:2026-07
内容提要:
Windows是全球应用广泛的操作系统,*机制随技术发展持续迭代升级。由于系统闭源且采用面向API的架构,其底层*原理的探究门槛较高,长期是行业内的研究难点。如今Windows*体系日趋复杂,也成为网络攻击的主要目标,深入掌握其*机制对网络*防护*关重要。 本书共分为3部分,第1部分从编程视角梳理Windows操作系统基础,为后续*知识学习搭建框架;第2部分聚焦Windows内核核心*组件——*参考监视器,详解访问控制全流程相关原理与实现;第3部分深入剖析Windows身份验证体系,涵盖身份验证结构、各类验证协议及*包等关键内容,并配套PowerShell实操示例助力理解。此外,本书还有两个附录,提供了Windows*相关的配置细节和扩展学习资源。 本书面向所有从事Windows*相关工作的专业人员,包括希望保障产品*性的Windows软件开发人员、负责企业级Windows*防护的系统管理员,以及致力于挖掘操作系统*漏洞的*研究人员,是学习Windows*内核知识、开展相关研究与实践的实用参考资料。
作者简介:
James Forshaw(詹姆斯·福肖),Google Project Zero团队的知名计算机**,拥有*过20年的微软Windows及其他产品*问题分析与漏洞利用研究经验,已在微软平台上发现数百个公开披露的漏洞。他的研究成果常被业界广泛引用,并通过博客、国际**会议演讲以及原创工具进行呈现,深刻影响并启发了众多业内研究人员。在从事漏洞挖掘与*突破研究之余,James也以防御者的身份,为多个团队提供*设计咨询,并参与优化Chromium在 Windows平台上的沙箱机制,为全球数十亿用户提供*保障。
目录:
第1章 设置PowerShell测试环境 ............ 1
1.1 选择PowerShell版本................... 1
1.2 配置PowerShell ........................... 1
1.3 PowerShell语言概述 ................... 3
1.3.1 理解类型、变量和表达式 ... 3
1.3.2 执行命令 ............................. 6
1.3.3 发现命令并获取帮助 ......... 7
1.3.4 定义函数 ............................. 9
1.3.5 显示和操作对象 ............... 10
1.3.6 过滤、排序和分组对象 ... 13
1.3.7 导出数据 ........................... 15
1.4 总结 ............................................. 16
第2章 Windows内核 ............................... 17
2.1 Windows内核执行体 ................. 17
2.2 *参考监视器 ......................... 18
2.3 对象管理器 ................................. 20
2.3.1 对象类型 ........................... 20
2.3.2 对象管理器命名空间 ....... 21
2.3.3 系统调用 ........................... 22
2.3.4 NTSTATUS状态码 .......... 25
2.3.5 对象句柄 ........................... 27
2.3.6 Query和Set信息系统调用 ............................. 33
2.4 输入/输出管理器 ........................ 36
2.5 进程和线程管理器 ..................... 38
2.6 内存管理器 ................................. 39
2.6.1 NtVirtualMemory系列命令 ........................ 40
2.6.2 节对象 ............................... 42
2.7 代码完整性 ................................. 44
2.8 *本地过程调用 ..................... 45
2.9 配置管理器 ................................. 45
2.10 示例实践 ................................... 46
2.10.1 根据名称查找已打开的句柄 .......................... 46
2.10.2 查找共享对象 ................. 47
2.10.3 修改映射节 ..................... 48
2.10.4 查找可写可执行内存 ..... 49
2.11 总结 ........................................... 50
第3章 用户模式应用程序 ......................... 51
3.1 Win32与用户模式Windows API ........................ 51
3.1.1 加载新库 ........................... 52
3.1.2 查看导入的API ................ 54
3.1.3 搜索DLL .......................... 55
3.2 Win32 GUI .................................. 57
3.2.1 GUI内核资源 ................... 57
3.2.2 窗口消息 ........................... 59
3.2.3 控制台会话 ....................... 60
3.3 比较Win32 API和系统调用 ..... 62
3.4 Win32注册表路径 ..................... 65
3.4.1 打开注册表项 ................... 66
3.4.2 列出注册表的内容 ........... 66
3.5 DOS设备路径 ............................ 67
3.5.1 路径类型 ........................... 69
3.5.2 *路径长度 ................... 70
3.6 进程创建 ..................................... 71
3.6.1 命令行解析 ....................... 72
3.6.2 Shell API ............................ 73
3.7 系统进程 ..................................... 75
3.7.1 会话管理器 ....................... 75
3.7.2 Windows登录进程 ........... 75
3.7.3 本地*机构子系统 ....... 76
3.7.4 服务控制管理器 ............... 76
3.8 示例实践 ..................................... 77
3.8.1 查找导入特定API的可执行文件 ..................... 77
3.8.2 查找隐藏的注册表键或值 ........................... 77
3.9 总结 ............................................. 79
第4章 *访问令牌 ................................. 80
4.1 主令牌 ......................................... 80
4.2 模拟令牌 ..................................... 84
4.2.1 *服务质量 ................... 84
4.2.2 显式模拟令牌 ................... 86
4.3 令牌类型转换 ............................. 87
4.4 伪令牌句柄 ................................. 88
4.5 令牌组 ......................................... 89
4.5.1 Enabled、EnabledByDefault和Mandatory .................... 89
4.5.2 LogonId ............................. 90
4.5.3 Owner ................................ 90
4.5.4 UseForDenyOnly .............. 90
4.5.5 Integrity与IntegrityEnabled ................ 91
4.5.6 Resource ............................ 92
4.5.7 设备组 ............................... 92
4.6 特权 ............................................. 92
4.7 沙箱令牌 ..................................... 95
4.7.1 受限令牌 ........................... 95
4.7.2 写入受限令牌 ................... 97
4.7.3 AppContainer和LowBox令牌 ........................... 97
4.8 什么是管理员账户 ................... 100
4.9 用户账户控制 ........................... 101
4.9.1 关联令牌和提升类型 ..... 103
4.9.2 UI访问 ............................ 105
4.9.3 虚拟化 ............................. 106
4.10 *属性 ................................. 106
4.11 创建令牌 ................................. 108
4.12 令牌分配 ................................. 109
4.12.1 分配主令牌 ................... 109
4.12.2 分配模拟令牌 ............... 111
4.13 示例实践 ............................. 113
4.13.1 查找具有UI访问权限的进程 .......................... 113
4.13.2 查找可用于模拟的令牌句柄 ................................ 114
4.13.3 移除管理员特权 ........... 115
4.14 总结 ......................................... 115
第5章 *描述符 ................................... 117
5.1 *描述符的结构 ................... 117
5.2 SID的结构 ................................ 119
5.3 *和相对*描述符 ........... 121
5.4 访问控制列表头部和条目 ....... 123
5.4.1 列表头部 ......................... 124
5.4.2 ACE列表 ........................ 125
5.5 构造与操作*描述符 ........... 127
5.5.1 创建新的*描述符 ..... 128
5.5.2 排序ACE ........................ 129
5.5.3 格式化*描述符 ......... 130
5.5.4 相对*描述符的双向转换 ....................... 133
5.6 *描述符定义语言 ............... 135
5.7 示例实践 ................................... 142
5.7.1 手动解析二进制SID ..... 142
5.7.2 枚举SID ......................... 143
5.8 总结 ............................. 145
第6章 读取并分配*描述符 ............... 146
6.1 读取*描述符 ....................... 146
6.2 分配*描述符 ....................... 148
6.2.1 在资源创建过程中分配*描述符 ..................... 149
6.2.2 为已存在的资源分配*描述符 ............................. 171
6.3 Win32*API ........................ 174
6.4 服务器*描述符和复合ACE ........................................... 178
6.5 继承行为总结 ........................... 180
6.6 示例实践 ................................... 181
6.6.1 查找对象管理器资源的所有者 .......................... 181
6.6.2 修改资源的所有权 ......... 183
6.7 总结 ........................................... 184
第7章 访问检查过程 ............................... 185
7.1 执行访问检查 ........................... 185
7.1.1 内核模式访问检查 ......... 185
7.1.2 访问模式 ......................... 186
7.1.3 PowerShell命令Get-NtGrantedAccess ...... 189
7.2 PowerShell中的访问检查过程 ......................................190
7.2.1 定义访问检查函数 ......... 191
7.2.2 执行强制访问检查 ......... 192
7.2.3 执行令牌访问检查 ......... 200
7.2.4 执行自主访问检查 ......... 203
7.3 沙箱机制 ................................... 206
7.3.1 受限令牌 ......................... 206
7.3.2 LowBox令牌 .................. 207
7.4 企业访问检查 ........................... 210
7.4.1 对象类型访问检查 ......... 211
7.4.2 集中访问策略 ................. 216
7.5 示例实践 ................................... 221
7.5.1 使用Get-PSGrantedAccess命令 ..................... 221
7.5.2 计算资源的授予访问权限 ......................... 223
7.6 总结 ........................................... 224
第8章 访问检查的其他应用场景 ........... 225
8.1 遍历检查 ................................... 225
8.1.1 SeChangeNotifyPrivilege特权 ....................... 226
8.1.2 受限检查 ......................... 227
8.2 句柄复制的访问检查 ............... 228
8.3 沙箱令牌检查 ........................... 231
8.4 自动化访问检查 ....................... 233
8.5 示例实践 ................................... 236
8.5.1 简化对象的访问检查 ..... 236
8.5.2 查找可写的Section对象 ................................. 236
8.6 总结 ........................................... 237
第9章 *审计 ....................................... 238
9.1 *事件日志 ........................... 238
9.1.1 配置系统审计策略 ......... 239
9.1.2 配置每用户的审计策略 .... 241
9.2 审计策略* ........................... 242
9.2.1 配置资源的SACL .......... 244
9.2.2 配置全局SACL .............. 247
9.3 示例实践 ................................... 248
9.3.1 验证审计访问的*性 ... 248
9.3.2 查找包含审计ACE的资源 ................................. 249
9.4 总结 ........................................... 250
第10章 Windows身份验证 ................... 251
10.1 域身份验证 ............................. 251
10.1.1 本地身份验证 ............... 252
10.1.2 企业网络域 ................... 252
10.1.3 域林 ............................... 253
10.2 本地域配置 ............................. 255
10.2.1 用户数据库 ................... 256
10.2.2 LSA策略数据库 .......... 259
10.3 远程LSA服务 ....................... 261
10.3.1 SAM远程服务 ............. 262
10.3.2 域策略远程服务 ........... 267
10.4 SAM和SECURITY数据库 ... 272
10.4.1 通过注册表访问SAM数据库 ....................... 273
10.4.2 查看SECURITY数据库 ....................... 281
10.5 示例实践 ................................. 283
10.5.1 RID循环遍历 ............... 283
10.5.2 强制用户更改密码 ....... 284
10.5.3 提取所有本地用户哈希...................... 285
10.6 总结 ......................................... 287
第11章 活动目录 ..................................... 288
11.1 活动目录简史 ......................... 288
11.2 使用PowerShell探索活动目录域............................ 289
11.2.1 远程服务器管理工具 ... 289
11.2.2 林和域的基本信息 ....... 290
11.2.3 用户 ............................... 291
11.2.4 组 ................................... 292
11.2.5 计算机 ........................... 293
11.3 对象和可分辨名称 ................. 294
11.3.1 枚举目录对象 ............... 295
11.3.2 访问其他域中的对象 ... 297
11.4 架构 ......................................... 298
11.4.1 查看架构 ....................... 299
11.4.2 访问*属性 ............... 300
11.5 *描述符 ............................. 302
11.5.1 查询目录对象的*描述符 ........................ 302
11.5.2 为新目录对象分配*描述符 ................ 304
11.5.3 为现有对象分配*描述符 .................... 307
11.5.4 检查*描述符的继承*来源 ....................... 309
11.6 访问检查 ................................. 309
11.6.1 创建对象 ....................... 310
11.6.2 删除对象 ....................... 312
11.6.3 列出对象 ....................... 312
11.6.4 读取和写入属性 ........... 313
11.6.5 检查多个属性 ............... 314
11.6.6 分析属性集 ................... 315
11.6.7 检查控制访问权限 ....... 319
11.6.8 分析验证写入访问权限 ........................... 320
11.6.9 访问SELF SID .............. 321
11.6.10 执行额外的*检查 .... 322
11.7 声明与集中访问策略 ............. 324
11.8 组策略 ..................................... 326
11.9 示例实践 ................................. 328
11.9.1 构建授权上下文 ........... 328
11.9.2 收集对象信息 ............... 331
11.9.3 执行访问检查 ............... 332
11.10 总结 ....................................... 336
第12章 交互式身份验证 ......................... 337
12.1 创建用户桌面 ......................... 337
12.2 LsaLogonUser API .................. 339
12.2.1 本地身份验证 ............... 340
12.2.2 域身份验证 ................... 341
12.2.3 登录会话和控制台会话 ............................... 343
12.2.4 令牌创建 ....................... 345
12.3 从PowerShell中调用LsaLogonUser API .................. 347
12.4 使用令牌创建新进程 ............. 349
12.5 服务登录类型 ......................... 350
12.6 示例实践 ................................. 351
12.6.1 测试权限和登录账户权限 ............................... 352
12.6.2 在其他控制台会话中创建进程 ....................... 353
12.6.3 虚拟账户身份验证 ....... 354
12.7 总结 ......................................... 356
第13章 网络身份验证 ............................ 357
13.1 NTLM网络身份验证 ............. 358
13.1.1 使用PowerShell实现NTLM身份验证 ........... 359
13.1.2 密码学衍生过程 ........... 365
13.1.3 直通身份验证 ............... 367
13.1.4 本地环回身份验证 ....... 368
13.1.5 替代客户端凭据 ........... 370
13.2 NTLM中继攻击 ..................... 371
13.2.1 攻击概述 ....................... 372
13.2.2 活动服务器质询 ........... 373
13.2.3 签名和密封 ................... 373
13.2.4 目标名称 ....................... 375
13.2.5 通道绑定 ....................... 376
13.3 示例实践 ................................. 377
13.3.1 概述 ............................... 377
13.3.2 代码模块 ....................... 378
13.3.3 服务器实现 ................... 381
13.3.4 客户端实现 ................... 383
13.3.5 NTLM身份验证测试 ... 385
13.4 总结 ........................................ 386
第14章 Kerberos .................................... 387
14.1 使用Kerberos进行交互式身份验证 ........................... 387
14.1.1 初始用户身份验证 ....... 388
14.1.2 网络服务身份验证 ....... 392
14.2 在PowerShell中执行Kerberos身份验证 .................... 394
14.3 解密AP-REQ消息 ................. 397
14.4 解密AP-REP消息 ................. 403
14.5 跨域身份验证 ......................... 405
14.6 Kerberos委派 ......................... 406
14.6.1 无约束委派 ................... 407
14.6.2 约束委派 ....................... 411
14.7 用户对用户Kerberos身份验证 ................................ 416
14.8 示例实践 ................................. 419
14.8.1 查询Kerberos票据缓存 ............................... 419
14.8.2 简单的Kerberoasting攻击 ......................... 420
14.9 总结 ......................................... 422
第15章 协商身份验证与其他*包 ..... 423
15.1 *缓冲区 ............................. 423
15.1.1 在身份验证上下文中使用缓冲区 ................... 424
15.1.2 在签名与密封中使用缓冲区 ........................... 425
15.2 协商协议 ................................. 426
15.3 不常见的*包 ..................... 428
15.3.1 *通道 ....................... 428
15.3.2 CredSSP ......................... 432
15.4 远程凭据防护与受限管理员模式 ........................ 434
15.5 凭证管理器 ............................. 435
15.6 额外的请求属性标志 ............. 438
15.6.1 匿名会话 ....................... 438
15.6.2 身份令牌 ....................... 439
15.7 LowBox令牌下网络身份验证 .............................. 440
15.7.1 使用企业身份验证功能进行身份验证 .............. 441
15.7.2 对已知Web代理进行身份验证 ............................ 441
15.7.3 使用显式凭据进行身份验证 ....................... 442
15.8 身份验证审计事件日志 ......... 444
15.9 示例实践 ................................. 447
15.9.1 确定身份验证失败的原因 ....................... 447
15.9.2 使用*通道提取服务器的TLS证书 .................. 450
15.10 总结 ....................................... 452
15.11 *的思考 ........................... 452
附录A 搭建供测试使用的Windows域网络............................ 453
附录B SDDL SID别名映射 .................... 462
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...