akn-cybersec/windows-internals-security
GitHub: akn-cybersec/windows-internals-security
一本结构化的 Windows 安全内部机制入门指南,从操作系统底层原理解析安全模型、身份认证和终端防御产品的遥测机制。
Stars: 2 | Forks: 0
# Windows 安全从零到一指南
`13 个章节` `Windows Internals` `安全教育` `基于 React + Vite 构建` `MIT 许可证` `可用于生产环境`
## 描述
《Windows 安全从零到一指南》是一本结构化且技术细节详尽的入门读物,旨在介绍 Windows Internals、Windows 安全模型以及终端安全产品所依赖的工具集。本书从第一性原理出发——即操作系统究竟在做什么——并逐章构建起一套切实可行的知识体系,帮助读者理解杀毒引擎、EDR 代理和 Microsoft Defender 是如何观察并响应实时系统上的活动的。
本指南专为以下人群编写:希望将自身技术建立在 Windows 实际运行机制之上的安全专业人员、负责强化和审计 Windows 环境的 IT 管理员、需要扎实技术起点以学习网络安全的学生,以及渴望了解日常调用的 API 背后底层操作系统的充满好奇心的开发者。
内容涵盖了完整的全栈知识:进程与内存内部机制、文件系统与注册表、身份认证与授权、安全主体和访问令牌模型,以及终端安全层(杀毒软件、EDR 和 Microsoft Defender)——包括使威胁检测成为可能的各种遥测机制(ETW、kernel callbacks、minifilters、WFP、WMI)。最后一章从攻击者的视角进行了专门的讲解,闭环了整个知识体系,解释了攻击者是如何审视同一套架构的,从而让防御者明白他们真正要防御的是什么。
对于安全工作而言,深入了解 Windows 在此层面的运行机制绝不是可有可无的背景知识——它是基础。厂商的文档和营销材料通常只从“结果”的角度来描述安全产品;而本指南则解释了隐藏在这些结果背后的底层机制,以便读者能够批判性地评估各种宣传说辞,而不是盲听盲信。
## 你将学到什么
- Windows 架构:用户模式与内核模式的对比、NT kernel 以及构成操作系统的核心可执行文件
- 进程、线程、内存、句柄和对象的内部机制
- 文件系统 I/O 管道、Windows 注册表、服务以及进程间通信机制
- Windows 安全模型:SID、访问令牌、ACL 和完整性级别
- 身份认证与授权:Kerberos、NTLM、登录类型以及记录它们的安全事件 ID
- 杀毒软件、EDR 和 Microsoft Defender 产品之间的区别
- 遥测数据的实际收集方式:ETW、kernel callbacks、minifilters 和 Windows 事件日志
- 攻击者如何看待同一套架构,以及这对防御意味着什么
- 专业人员日常使用的实用工具:`fltmc`、`auditpol`、`wevtutil`、`Get-WinEvent`、`sc`、`reg query`、`netsh` 以及 Sysinternals 套件
## 章节概述
### 基础知识 (第 1–4 章)
- **第 1 章 — Windows 是什么:** 操作系统基础、NT 架构、核心可执行文件(`ntoskrnl.exe`、`ntdll.dll`、`kernel32.dll`、`lsass.exe`)、分层系统模型以及 Windows 版本
- **第 2 章 — 用户态与内核模式:** CPU 特权环、syscall 转换、Win32 API 与 Native API(`Nt*`/`Zw*`)的对比、kernel 管理器、驱动程序、minifilters 以及 WOW64
- **第 3 章 — 进程、线程、内存、句柄、对象:** 进程与线程剖析(PEB、TEB、PID)、`CreateProcess`、句柄、Object Manager 以及虚拟内存
- **第 4 章 — 文件、注册表、服务、IPC:** 文件 I/O 管道(`CreateFile` → `NtCreateFile` → IRP)、注册表配置单元、Service Control Manager 以及 IPC 机制(named pipes、RPC、ALPC、COM、WMI)
### 安全模型 (第 5–6 章)
- **第 5 章 — Windows 安全模型:** 安全主体、SID、访问令牌、安全描述符(DACL/SACL/ACEs)、访问检查流程、强制完整性控制以及 UAC
- **第 6 章 — 身份认证与授权:** LSASS、本地账户与域账户(SAM 与 Active Directory)的对比、Kerberos、NTLM、登录类型以及核心安全事件 ID
### 终端安全 (第 7–11 章)
- **第 7 章 — 杀毒软件基础:** 访问时扫描与按需扫描的对比、检测技术、PE 文件格式以及隔离机制
- **第 8 章 — EDR 基础:** 遥测收集、kernel callbacks、ETW、MITRE ATT&CK 以及响应操作
- **第 9 章 — Microsoft Defender 基础:** Defender Antivirus 与 Defender for Endpoint 的对比、Tamper Protection、Attack Surface Reduction 以及 Advanced Hunting (KQL)
- **第 10 章 — 遥测与检测概念:** 事件日志架构、ETW 追踪会话、Sysmon、检测工程以及 Windows Event Forwarding
- **第 11 章 — ETW、WFP、WMI 与驱动安全基础:** 追踪提供者和消费者、Windows Filtering Platform、WMI/CIM 以及驱动程序签名
### 综合 (第 12 章)
- **第 12 章 — 体系架构的融会贯通:** 对单一用户操作贯穿每个架构层进行全面演练的追踪,并提供一套解构厂商安全声明框架
### 附录 (第 13 章)
- **第 13 章 — 附录:攻击者视角:** 进程注入、令牌操纵、权限滥用、UAC 绕过、AV/EDR 规避、Living Off the Land 技术以及真实的 CVE 案例研究
### 参考资料
- **术语表:** 涵盖本指南中使用的所有关键术语(ACE、ACL、AMSI、ATT&ACK、DACL、EDR、ETW、IRP、LSASS、LUID、PE、PEB/TEB、SACL、SID、SIEM、WFP、WMI 等)的定义
- **推荐的后续学习路径:** 为搭建实验环境、深入学习 Windows Internals、进行审计实践以及考取相关认证(SC-200、GCIH、GCFA)提供具体的后续步骤
## 涵盖的核心主题
**API 名称:** `CreateProcess`、`NtCreateFile`、`NtOpenProcess`、`NtCreateSection`
**事件 ID:** 4624, 4625, 4672, 4688, 4768, 4769, 4697, 7045, 4719
**注册表路径:** `HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run`、`HKLM\SYSTEM\CurrentControlSet\Services`、`HKLM\SAM`、`HKLM\SECURITY`
**工具:** `fltmc`、`sc`、`reg query`、`auditpol`、`wevtutil`、`Get-WinEvent`、`whoami /all`、`netsh wfp show state`、Sysinternals
## 如何使用本指南
- **按顺序阅读:** 每一章都建立在前一章引入的概念之上,从操作系统基础一直延伸到攻击者视角
- **作为参考工具:** 通过侧边栏导航直接跳转到任意章节
- **在实验环境中同步操作:** 贯穿全文的命令旨在让读者在 Windows 实验 VM 上实际运行,而不仅仅是阅读
- **善用术语表:** 用于快速查找任何不熟悉的术语
- **遵循学习路线图:** 在本指南末尾,获取超越这些资料的后续具体实践步骤
## 快速开始
```
npm install
npm run dev
```
## 生产环境构建
```
npm run build
```
## 技术栈
本指南以单页应用的形式提供,使用以下技术构建:
- React + Vite + Tailwind CSS
- `react-markdown` 搭配 `remark-gfm` 和 `rehype-highlight`
- TypeScript
技术栈的存在是为了服务于内容,而不是本末倒置——本项目的核心价值在于它所提供的约 73 页的技术材料。
## 许可证
基于 MIT 许可证发布。详情请参阅 `LICENSE`。
## 贡献
欢迎提交更正、说明和补充内容。如果您发现技术上的不准确、过时的事件 ID 或内容覆盖上的缺失,请提交 issue 或发起 pull request 描述您的修改,并在相关情况下提供修正来源。请确保贡献的内容在技术上精准,并与指南现有的基调保持一致。
## 作者
**Muhammad Abdullah Khan (AKN)** — [kaizen_dragon](https://github.com/akn-cybersec)
标签:React, Syscalls, Vite, 安全教程, 安全机制, 端点防御, 系统内核, 自动化攻击