2026三掌柜赠书活动第四十八期 Windows安全内幕:身份验证、授权与审计(AAA)核心技术详解

目录

前言

击穿Windows安全壁垒:从真实入侵事件到AAA体系全解

关于《Windows安全内幕:身份验证、授权与审计(AAA)核心技术详解》

编辑推荐

内容简介

作者简介

图书目录

精彩书评

《Windows安全内幕:身份验证、授权与审计(AAA)核心技术详解》全书速览

结束语


前言

在企业网络安全、终端运维与攻防防护体系中,Windows 系统作为绝大多数政企办公、服务器业务的核心载体,其安全防线的搭建至关重要。而身份验证、授权、审计(AAA)作为Windows安全体系的核心基石,是把控终端权限、抵御入侵风险、追溯安全事件的关键核心。很多运维、安全从业者在实操中常常陷入困境:身份认证机制模糊导致权限泛滥、授权配置不当引发安全漏洞、审计日志不会分析导致安全事件无法溯源。市面上多数教程要么理论晦涩空洞,要么内容碎片化、脱离实战,很难帮助从业者系统吃透Windows AAA核心技术。那么本文摒弃冗余枯燥的空谈,以实战落地为核心,层层拆解Windows身份安全的底层逻辑与实操技巧,为安全从业者、运维工程师、网络管理人员提供一套可落地、可复用的权威技术指南。

击穿Windows安全壁垒:从真实入侵事件到AAA体系全解

2026年初,全球知名邮件系统厂商SmarterTools遭到Warlock勒索团伙(关联Storm-2603组织)攻击。攻击者以一台长期无人维护、未及时打补丁的Windows虚拟机为突破口,利用高危漏洞绕过系统身份验证,依托活动目录(AD)在内网横向渗透,新建隐藏账户持久控权,逐步接管内网权限。攻击者潜伏一周后发起勒索加密,虽终端安全工具成功拦截核心加密行为,但企业仍不得不启用6小时前的备份完成灾难恢复,业务中断造成直接经济损失与品牌负面影响。

事后复盘直指核心隐患:现场运维仅依赖图形界面做基础配置,不了解SAM数据库凭据存储机制、漠视权限最小化原则、无法识别异常登录、看不懂底层审计日志。本该层层设防的Windows AAA安全体系,最终被攻击者逐个突破。放眼全行业,金融、医疗、制造等领域也曾多次因Windows内核漏洞、NTLM/Kerberos协议滥用、权限越权等问题,发生数据泄露、产线停工、业务系统瘫痪等重大事故。如今Windows作为政企终端、服务器、大型域网络的核心载体,早已成为网络攻击的首要目标。

身份验证、授权、审计(AAA)是Windows安全的三道核心防线。如果只停留在表层操作,缺失底层原理认知,再昂贵的安全设备也无法真正抵御高级威胁。

关于《Windows安全内幕:身份验证、授权与审计(AAA)核心技术详解》

接下来给大家推荐一本关于Windows安全的书籍,这是一本关于吃透Windows AAA身份安全体系的干货图书,一经上市就登上了当当“计算机与互联网”图书排行榜前列。本书从Windows身份验证、授权与审计底层原理剖析讲起到PowerShell实战技巧,助安全从业者在日常系统安全防护实战工作中轻松防护!另外,关注本文博主,点赞+收藏本文,且在本文评论区评论“入手Windows安全”,将选取三名幸运读者送出纸质版《Windows安全内幕:身份验证、授权与审计(AAA)核心技术详解》一本,截止时间:2026.09.29。入手《Windows安全内幕:身份验证、授权与审计(AAA)核心技术详解》传送门:京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物! 或者 《Windows安全内幕:身份验证、授权与审计(AAA)核心技术详解》(詹姆斯·福肖(James Forshaw))【简介_书评_在线阅读】 - 当当图书 ,个人觉得这本书非常的不错,是一本不可多得的好书,值得拥有去学习。

编辑推荐

- 深度剖析:深入解析 Windows 操作系统底层实现,见解深度超微软官方文档,直击Windows闭源系统最深层的安全原理  跳出官方文档的局限 用PowerShell实操解锁Windows安全真相。

- 适用广泛:适合开发人员、DevOps 工程师、安全研究人员等不同岗位读者。

- 示例教学:借助精心设计的 PowerShell 示例,覆盖全方位知识,可直接实践修改。

- 内容全面:涵盖 Windows 安全架构、SRM、身份验证等关键主题。

- 实战指南:助力读者防御网络威胁,提升 Windows 安全防护能力。

内容简介

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

精彩书评

Windows安全架构因API导向设计极度晦涩难吃透,而本书借助550余个专属PowerShell命令模块,用实操的方式把复杂的Windows安全底层原理拆解通透,是Windows安全从业者必备案头工具书。

长久以来少有技术人能吃透Windows安全真实运行逻辑,这本书填补了这一学习壁垒,依托原生PowerShell工具打通API层底层探究路径,为安全开发、运维专家搭建了一条深度吃透Windows内核安全的高效路径。

——PowerShell创始人、前Windows Server首席架构师、前微软技术院士 Jeffrey Snover

《Windows安全内幕:身份验证、授权与审计(AAA)核心技术详解》全书速览

结束语

Windows AAA安全体系是终端安全防护的“第一道闸门”,也是政企网络安全合规、风险防控的核心关键。深耕系统安全,唯有吃透底层原理、掌握实战技法,才能在复杂的网络安全环境中,精准规避权限漏洞、守住终端安全底线、快速处置安全隐患。这本由顶尖安全专家打磨的权威教程,兼顾底层原理+实战案例+场景落地,完美适配新手入门进阶、从业者技能拔高、企业安全团队技术复盘等多种场景,是Windows系统安全领域不可多得的干货工具书。想要系统攻克Windows身份安全难题、夯实AAA核心技术能力的朋友,千万不要错过这本实战宝典!同时关注本博主,点赞+收藏、评论区留言交流学习心得,后续持续分享更多系统安全干货与优质技术书籍,助力每一位从业者稳步提升技术实力!

Logo

加入「COC·上海城市开发者社区」,成就更好的自己!

更多推荐