网络攻防技术:Windows操作系统的攻防
系统讲解了Windows安全体系架构,涵盖用户权限管理、EFS/BitLocker加密技术、RAID存储方案及灾备策略三大核心模块。文章通过对比EFS文件加密与BitLocker磁盘加密的特性差异,结合企业级数据保护场景(如员工离职加密文件恢复、笔记本丢失防护等),详细剖析了Windows数据安全防护的最佳实践。同时深入探讨了RAID存储方案选型要点和3-2-1备份原则,为系统管理员提供从单机防护

适用对象:网络安全入门学习者、取证分析初学者、Windows 运维与安全加固人员。
教学目标:理解 Windows 操作系统的安全机制,掌握数据、账户、进程服务、日志、漏洞、注册表与组策略等核心攻防面,并能够从防御和取证角度进行分析。
学习边界:本文所有攻防案例均用于授权实验、教学演示、蓝队防御与取证分析,不提供未授权入侵、绕过或破坏性攻击的操作指令。
文章目录
1. Windows 操作系统安全机制
1.1 Windows 系统发展与安全演进
Windows 操作系统经历了从 16 位、32 位到 64 位架构的发展,桌面端从 Windows 1.0、Windows 95、Windows XP、Windows 7 到 Windows 10/11,服务器端从 Windows NT 系列发展到 Windows Server 2016/2019/2022。随着系统复杂度提升,安全机制也逐渐从“简单账户密码保护”发展为一套完整的安全体系,包括:
- 用户账户与组管理
- 访问控制列表 ACL
- 安全标识符 SID
- 用户模式与内核模式隔离
- 本地安全认证 LSASS
- 安全账户管理 SAM
- 安全参考监视器 SRM
- EFS、BitLocker 等数据保护机制
- 事件日志审计机制
- 组策略集中管控机制
可以把 Windows 安全模型理解成一个“门禁系统”:
1.2 操作系统的设计类型
PPT 中提到三类典型设计:小型系统、层次系统模型、客户机/服务器结构。
| 类型 | 代表 | 特点 | 安全影响 |
|---|---|---|---|
| 小型系统 | MS-DOS | 结构简单,过程之间相互调用 | 安全边界弱,缺少权限隔离 |
| 层次系统模型 | 传统分层 OS | 每层依赖更底层模块 | 易维护、易测试,但层级限制较强 |
| 客户机/服务器结构 | 微内核思想 | 服务以进程形式运行,通过消息通信 | 服务崩溃影响较小,但通信机制复杂 |
Windows Server 是层次结构与客户机/服务器结构的混合体。它既有内核层、硬件抽象层,也有大量用户态服务进程。
1.3 用户模式与内核模式
Windows 将运行环境分为用户模式和内核模式:
| 模式 | 运行对象 | 权限 | 安全意义 |
|---|---|---|---|
| 用户模式 User Mode | 普通应用、用户接口、部分服务 | 权限受限 | 应用崩溃一般不会直接导致系统崩溃 |
| 内核模式 Kernel Mode | 内核、驱动程序、核心组件 | 最高权限 | 一旦驱动或内核组件被攻击,影响极大 |
案例:恶意驱动与普通木马的区别
普通木马一般运行在用户模式,受到权限、UAC、杀毒软件和进程隔离限制;而恶意驱动运行在内核模式,可以隐藏进程、拦截文件访问、篡改系统调用,隐蔽性和危害性更高。因此在取证时,不能只看普通进程,还要关注驱动、服务和内核模块。
1.4 Windows 安全模型核心组件
| 组件 | 作用 | 攻防关注点 |
|---|---|---|
| LSASS 本地安全认证服务 | 处理登录认证、安全策略 | 攻击者常尝试窃取凭据;防御侧需保护 LSASS |
| SAM 安全账户管理器 | 保存本地用户账户及密码 Hash | 本地账户安全核心 |
| SRM 安全参考监视器 | 进行访问控制检查 | 判断用户是否有权限访问对象 |
| Winlogon | 交互式登录与注销 | 登录界面、凭据输入流程相关 |
| 访问令牌 Token | 用户登录后获得的“权限票据” | 权限提升、令牌盗用的核心对象 |
理解重点:
用户不是直接拿着用户名去访问资源,而是在登录后获得一个访问令牌。访问令牌中包含用户 SID、所属组 SID、特权信息。访问文件、注册表、服务时,系统会用访问令牌与目标对象的 ACL 进行匹配。
2. 针对 Windows 数据的攻防
Windows 数据安全可分为三部分:
- 数据本身的安全:文件是否被加密、是否能被未授权读取。
- 数据存储的安全:磁盘、阵列、备份、容灾是否可靠。
- 数据处理的安全:数据在复制、传输、备份、恢复过程中的安全。
2.1 EFS 加密机制
EFS,全称 Encrypting File System,是 Windows 基于 NTFS 文件系统提供的文件级加密技术。它的核心是“对称加密 + 非对称加密”组合。
2.1.1 EFS 的基本流程
EFS 的关键密钥包括:
| 名称 | 含义 | 作用 |
|---|---|---|
| FEK | File Encryption Key | 真正加密文件内容的对称密钥 |
| 用户公钥 | RSA 公钥 | 加密 FEK |
| 用户私钥 | RSA 私钥 | 解密 FEK |
| Master Key | 用户主密钥 | 保护用户私钥 |
| DRA | 数据恢复代理 | 用于在密钥丢失时恢复加密文件 |
2.1.2 EFS 的优点
- 对合法用户透明:用户打开文件时,系统自动解密。
- 与 Windows 权限结合:只有对应用户或恢复代理能够解密。
- 支持数据恢复代理:适合企业环境统一管理。
2.1.3 EFS 的风险
| 风险 | 说明 | 防御建议 |
|---|---|---|
| 用户密码弱 | 攻击者获取账户密码后可能间接访问加密文件 | 使用强密码和 MFA |
| 私钥丢失 | 用户证书或私钥丢失会导致文件无法解密 | 备份 EFS 证书 |
| 删除权限未限制 | EFS 保护机密性,不防止有权限用户删除文件 | 配置 NTFS 删除权限和备份 |
| 账户 SID 变化 | 删除用户再创建同名用户,SID 不同,不能解密原文件 | 不随意删除加密用户账户 |
2.1.4 案例:员工离职后无法打开加密文件
某公司员工使用 EFS 加密了项目资料。员工离职后,管理员删除了该用户账户。后来项目组发现文件仍在,但无法打开。原因是新建同名账户的 SID 与原账户不同,无法使用原用户私钥解密。
处置建议:
- 企业环境启用 DRA 数据恢复代理。
- 用户离职前导出 EFS 证书和私钥。
- 重要目录同时配置集中备份。
2.2 BitLocker 加密机制
BitLocker 是 Windows 的磁盘级加密技术,主要用于保护整个系统分区、数据分区或移动存储设备。
与 EFS 的区别:
| 对比项 | EFS | BitLocker |
|---|---|---|
| 加密对象 | 文件或文件夹 | 分区或磁盘 |
| 保护阶段 | 系统启动后,保护文件级访问 | 系统启动前,保护离线磁盘数据 |
| 关联对象 | 用户账户 | 设备、TPM、恢复密钥 |
| 典型场景 | 多用户文件权限保护 | 笔记本丢失、硬盘被拆走 |
2.2.1 BitLocker 的密钥层次
| 密钥 | 作用 |
|---|---|
| SRK | TPM 内的存储根密钥,用于保护其他密钥 |
| VMK | 卷主密钥,用于保护 FVEK |
| FVEK | 全卷加密密钥,用于加密卷数据 |
| Sector Key | 扇区级密钥,用于加密具体扇区 |
2.2.2 案例:笔记本丢失的数据保护
如果公司笔记本没有启用 BitLocker,攻击者可以拆下硬盘,挂载到另一台电脑上直接读取数据。启用 BitLocker 后,磁盘内容是加密的,攻击者即使拿到硬盘,也需要 TPM、PIN 或恢复密钥才能解密。
推荐配置:
- 企业笔记本启用 BitLocker。
- 系统盘使用 TPM + PIN 模式。
- 恢复密钥统一托管到 AD、Azure AD 或企业密钥管理系统。
- 定期检查 BitLocker 状态。
2.3 RAID 与存储安全
RAID 是 Redundant Array of Independent Disks,即独立冗余磁盘阵列。它通过条带化、镜像或奇偶校验提升容量、性能或可靠性。
| RAID 类型 | 最少磁盘 | 容错能力 | 性能 | 空间利用率 | 适合场景 |
|---|---|---|---|---|---|
| RAID 0 | 2 | 无 | 高 | 高 | 临时缓存、视频编辑 |
| RAID 1 | 2 | 高 | 读较好、写一般 | 低 | 关键系统盘、数据库 |
| RAID 5 | 3 | 允许坏 1 块盘 | 读好、写有校验开销 | 较高 | 文件服务器、普通业务数据 |
| RAID 6 | 4 | 允许坏 2 块盘 | 写开销更高 | 中等 | 大容量存储 |
| RAID 10 | 4 | 高 | 高 | 约 50% | 高性能数据库 |
重要误区:RAID 不是备份。
RAID 可以防止部分硬盘损坏造成业务中断,但不能防止误删除、勒索病毒加密、管理员误操作、火灾或整机损坏。因此必须配合备份和异地容灾。
2.4 备份、迁移与异地容灾
| 技术 | 目的 | 关键指标 |
|---|---|---|
| 完整备份 | 保存完整副本 | 恢复简单,但占空间 |
| 增量备份 | 只备份变化数据 | 节省空间,但恢复链复杂 |
| 混合备份 | 完整 + 多次增量 | 平衡效率和恢复复杂度 |
| 双机热备 | 主机故障后备用主机接管 | 高可用 |
| 异地容灾 | 主站点灾难后切换到异地 | RTO、RPO |
RTO 和 RPO 是容灾设计中的两个核心指标:
- RTO:Recovery Time Objective,恢复时间目标,表示业务最长能中断多久。
- RPO:Recovery Point Objective,恢复点目标,表示最多能接受丢失多久的数据。
案例:勒索病毒后的恢复差异
- 没有备份:只能尝试取证、隔离、重装,数据恢复难度极高。
- 有本地备份但备份盘在线挂载:备份也可能被加密。
- 有离线备份和异地备份:可以在清除威胁后恢复业务。
推荐 3-2-1 备份原则:
- 至少 3 份数据。
- 使用 2 种不同介质。
- 至少 1 份离线或异地保存。
3. 针对账户的攻防
账户是 Windows 安全的第一道门。攻击者常围绕账户进行密码猜测、凭据窃取、权限提升、横向移动;防御者则需要做好身份认证、最小权限、审计和密码策略。
3.1 账户和组
Windows 中的账户可分为本地账户和域账户:
| 类型 | 存储位置 | 使用范围 |
|---|---|---|
| 本地账户 | 本机 SAM 数据库 | 单台主机 |
| 域账户 | 域控制器 AD 数据库 | 整个域环境 |
常见内置账户:
| 账户 | 说明 | 安全建议 |
|---|---|---|
| Administrator | 内置管理员账户,权限最高 | 重命名、禁用远程登录、强密码 |
| Guest | 来宾账户,默认禁用 | 保持禁用 |
常见组:
| 组 | 权限特点 | 风险 |
|---|---|---|
| Administrators | 本机最高管理权限 | 被攻陷后可控制主机 |
| Users | 普通用户权限 | 权限较低,适合日常使用 |
| Guests | 临时访问权限 | 容易造成匿名访问风险 |
| Remote Desktop Users | 可远程桌面登录 | 需严格限制成员 |
3.2 NTLM 登录认证
NTLM 使用挑战/响应机制,客户端不直接发送明文密码,而是使用密码 Hash 对挑战值进行计算。
攻防理解:
NTLM 的风险不在于直接泄露明文密码,而在于密码 Hash 本身具有很高价值。攻击者如果拿到某些凭据材料,可能不需要知道明文密码,也能尝试在特定场景中进行身份冒用。防御上要减少 NTLM 使用、限制本地管理员复用、启用日志审计和凭据保护。
3.3 Kerberos 登录认证
Kerberos 常用于 Windows 域环境。它通过 KDC 统一发放票据,让客户端和服务端完成身份验证。
Kerberos 三个角色:
| 角色 | 作用 |
|---|---|
| Client | 发起访问请求的一方 |
| Server | 提供服务的一方 |
| KDC | 密钥分发中心,包含 AS 和 TGS |
Kerberos 核心票据:
| 名称 | 含义 | 用途 |
|---|---|---|
| TGT | Ticket Granting Ticket,票据授予票据 | 用于向 TGS 申请服务票据 |
| ST/TGS Ticket | 服务票据 | 用于访问具体服务 |
| CT_SK | Client 与 TGS 的会话密钥 | 客户端与 TGS 通信 |
| CS_SK | Client 与 Server 的会话密钥 | 客户端与服务端通信 |
3.3.1 Kerberos 简化流程
3.4 黄金票据与白银票据的防御理解
PPT 中提到 Kerberos 票据伪造攻击,包括黄金票据和白银票据。
| 对比项 | 黄金票据 Golden Ticket | 白银票据 Silver Ticket |
|---|---|---|
| 伪造对象 | TGT | ST/TGS 服务票据 |
| 关键密钥 | krbtgt 账户 Hash | 服务账户 Hash |
| 权限范围 | 域级别,影响极大 | 特定服务 |
| 是否经过 KDC | 通常会涉及 KDC 交互 | 可直接访问目标服务 |
| 检测重点 | 异常 TGT、异常有效期、异常域管理员行为 | 服务端本地日志、异常服务访问 |
防御建议:
- 定期轮换 krbtgt 密码,重大入侵后按规范执行两次轮换。
- 监控异常 Kerberos 票据有效期。
- 限制域管理员登录普通终端。
- 启用高级审计策略。
- 使用 Microsoft Defender for Identity、SIEM 等检测异常票据行为。
3.5 SAM、SID 与 ACL
3.5.1 SAM
SAM 是 Windows 本地账户数据库,保存本地用户和密码 Hash。它是本地账户安全的核心。防御上应重点关注:
- 禁止普通用户读取系统敏感注册表配置单元。
- 启用强密码策略。
- 禁用 Guest。
- 避免多台机器复用同一个本地管理员密码。
- 使用 LAPS 或类似方案管理本地管理员密码。
3.5.2 SID
SID 是安全标识符,是 Windows 内部识别用户、组、计算机账户的唯一编号。
示例:
S-1-5-21-310440588-250036847-580389505-500
其中末尾 RID 常见含义:
| RID | 含义 |
|---|---|
| 500 | 内置 Administrator |
| 501 | Guest |
| 512 | Domain Admins |
| 513 | Domain Users |
重点:Windows 内部看 SID,不只看用户名。
删除用户再创建同名用户,SID 已经不同,因此原来的权限不会自动继承。
3.5.3 ACL 权限原则
PPT 中列出权限管理的四项原则:
| 原则 | 说明 | 案例 |
|---|---|---|
| 拒绝优于允许 | Deny 权限优先级更高 | 用户属于 A 组允许访问,但 B 组拒绝访问,最终拒绝 |
| 最小权限 | 只给完成任务所需权限 | 普通员工不应拥有本地管理员权限 |
| 权限累加 | 多组权限会合并 | 用户同时属于多个组,权限合并生效 |
| 权限继承 | 子目录继承父目录权限 | 项目文件夹权限会传递到子文件夹 |
3.6 账户安全加固清单
- 禁用 Guest。
- 重命名内置 Administrator。
- 普通办公使用普通账户,不使用管理员账户。
- 密码长度建议不少于 12 位,包含大小写、数字、符号。
- 开启账户锁定策略,例如连续 5 次失败锁定 15 分钟。
- 远程桌面只允许指定用户组访问。
- 开启 MFA,尤其是 VPN、堡垒机、云管理入口。
- 不同主机本地管理员密码必须不同。
- 开启登录失败、账户管理、权限变更审计。
4. 针对进程与服务的攻防
4.1 程序、进程、线程、服务的区别
| 概念 | 解释 | 类比 |
|---|---|---|
| 程序 Program | 静态的可执行代码 | 菜谱 |
| 进程 Process | 正在运行的程序实例 | 正在做菜的厨师和厨房 |
| 线程 Thread | 进程内的执行流 | 厨师手上的具体动作 |
| 服务 Service | 后台提供功能的程序或进程 | 长期值班的后台岗位 |
**关键点:服务和进程不是一一对应的。**一个服务可能运行在某个 svchost.exe 中,多个服务也可能共享一个宿主进程。
4.2 重要系统进程识别
| 进程 | 正常路径 | 作用 | 异常判断 |
|---|---|---|---|
| smss.exe | C:\Windows\System32 |
会话管理器 | 出现在非 System32 路径需警惕 |
| csrss.exe | C:\Windows\System32 |
客户端/服务器运行时子系统 | 多个副本、路径异常需排查 |
| services.exe | C:\Windows\System32 |
服务控制管理器 | 异常路径、异常父进程需关注 |
| svchost.exe | C:\Windows\System32 |
服务宿主进程 | 非 System32 路径高度可疑 |
| lsass.exe | C:\Windows\System32 |
本地安全认证 | 被异常访问、内存转储需警惕 |
| winlogon.exe | C:\Windows\System32 |
登录管理 | 异常子进程需排查 |
| explorer.exe | C:\Windows |
用户桌面 shell | 异常启动项注入需关注 |
4.3 案例:伪装成 svchost.exe 的恶意程序
某主机中出现两个 svchost.exe:
C:\Windows\System32\svchost.exe 正常
C:\Users\Public\svchost.exe 可疑
可疑点包括:
- 文件路径不在 System32。
- 文件签名不是 Microsoft。
- 启动项指向用户目录。
- 与外部异常 IP 建立连接。
- 父进程不是 services.exe。
排查思路:
- 查看进程路径、签名、命令行参数。
- 查看父进程和启动时间。
- 查看网络连接。
- 检查启动项、计划任务、服务。
- 计算 Hash,并在企业威胁情报库中查询。
- 保留样本和日志,避免直接删除导致证据丢失。
4.4 常见端口与风险
| 端口 | 协议/服务 | 风险 | 防御建议 |
|---|---|---|---|
| 21 | FTP | 明文传输、弱口令 | 改用 SFTP/FTPS |
| 23 | Telnet | 明文登录 | 禁用,改用 SSH |
| 80/443 | HTTP/HTTPS | Web 漏洞、暴露面 | WAF、补丁、日志审计 |
| 135 | RPC/DCOM | 远程调用攻击面 | 防火墙限制来源 |
| 137/138/139 | NetBIOS | 信息泄露、共享风险 | 不需要时禁用 NetBIOS |
| 445 | SMB | 文件共享、蠕虫传播 | 限制访问、关闭公网暴露 |
| 1433 | MSSQL | 数据库弱口令与注入后利用 | 禁止公网暴露 |
| 3389 | RDP | 爆破、远程控制 | VPN/堡垒机、MFA、限制 IP |
| 5985/5986 | WinRM | 远程管理 | 最小化开放范围 |
关键原则:不需要的服务不开,不需要对外的端口不暴露。
5. 针对日志的攻防
Windows 日志是系统取证和安全运营的核心数据源。PPT 中将 Windows 日志分为系统日志、应用程序日志和安全日志,并介绍了防火墙日志、IIS 日志和日志保护。
5.1 Windows 日志类型
| 日志类型 | 记录内容 | 安全价值 |
|---|---|---|
| 系统日志 | 服务启动、驱动异常、系统错误 | 判断系统稳定性和异常服务 |
| 应用程序日志 | 应用错误、组件加载失败 | 分析应用攻击或崩溃原因 |
| 安全日志 | 登录、权限变更、账户管理、对象访问 | 入侵检测和取证核心 |
| PowerShell 日志 | 脚本执行、命令块 | 检测脚本攻击、横向移动 |
| Sysmon 日志 | 进程、网络、文件、注册表 | 高价值威胁检测数据 |
| IIS 日志 | Web 请求记录 | Web 入侵分析核心 |
| 防火墙日志 | 连接允许/拒绝记录 | 网络连接追踪 |
5.2 常见 Windows 安全事件 ID
| 事件 ID | 含义 | 排查价值 |
|---|---|---|
| 4624 | 登录成功 | 判断谁在何时从哪里登录 |
| 4625 | 登录失败 | 发现爆破、密码喷洒 |
| 4634 | 注销 | 还原会话时间线 |
| 4648 | 使用显式凭据登录 | 发现横向移动 |
| 4672 | 特权登录 | 管理员级别登录行为 |
| 4688 | 进程创建 | 需要开启审核;用于进程追踪 |
| 4720 | 创建用户 | 发现后门账户 |
| 4726 | 删除用户 | 发现清理痕迹 |
| 4732 | 添加成员到本地组 | 发现提权行为 |
| 4740 | 账户被锁定 | 发现爆破尝试 |
| 7045 | 新服务安装 | 发现服务型持久化 |
| 1102 | 审计日志被清除 | 高危,常见于入侵后清痕 |
5.3 IIS 日志分析
IIS 日志通常包含:
- 请求时间
- 客户端 IP
- 服务端 IP 和端口
- HTTP 方法
- URI 路径
- 查询字符串
- User-Agent
- 状态码
- 上传/下载字节数
- 请求耗时
案例:WebShell 访问痕迹分析
假设 IIS 日志中出现如下特征:
POST /upload/shell.aspx 200
POST /images/logo.aspx 200
GET /index.aspx?id=1%20and%201=1 500
POST /admin/login.aspx 302
可能说明:
shell.aspx或伪装路径存在可疑脚本文件。- POST 请求频繁访问同一个
.aspx文件,可能是 WebShell 通信。 - URL 中出现
and 1=1、union select等可能是 SQL 注入探测。 - 状态码 500 可能对应报错型注入或异常请求。
排查建议:
- 按 IP 聚合请求次数。
- 按 URL 聚合异常路径。
- 重点筛选 POST 请求、异常 User-Agent、长参数。
- 对 4xx/5xx 状态码进行统计。
- 对上传目录、图片目录、临时目录中的脚本文件进行检查。
5.4 防火墙日志分析
Windows 防火墙日志可用于查看连接打开和关闭记录,从而分析网络访问行为。典型用途:
- 发现异常外连 IP。
- 发现端口扫描行为。
- 判断某次连接持续时间。
- 追踪可疑进程通信方向。
案例:异常 RDP 爆破
如果安全日志中有大量 4625 登录失败,同时防火墙日志显示多个外部 IP 访问 3389 端口,则可能存在 RDP 爆破。
防御措施:
- 关闭公网 RDP。
- 使用 VPN 或堡垒机。
- 开启账户锁定策略。
- 限制来源 IP。
- 开启 MFA。
5.5 日志对抗与日志保护
攻击者常见清痕方式包括:
- 清除安全日志。
- 删除 IIS 日志。
- 修改日志存储路径。
- 关闭审计策略。
- 删除计划任务、服务、启动项痕迹。
防御建议:
- 将日志转发到远程日志服务器或 SIEM。
- 普通管理员不能删除集中日志。
- 提高日志文件大小上限,避免被覆盖。
- 启用 PowerShell Script Block Logging。
- 部署 Sysmon 并配置合理规则。
- 对事件 ID 1102、日志服务停止、审计策略变更设置告警。
6. 针对系统漏洞的攻防
6.1 漏洞、CVE 与补丁
漏洞是系统、服务或应用程序中的安全缺陷。CVE 是通用漏洞披露编号,用于唯一标识公开漏洞。
| 概念 | 含义 |
|---|---|
| CVE | 通用漏洞编号 |
| PoC | 概念验证代码,用于证明漏洞存在 |
| Exploit | 利用代码,可能造成实际影响 |
| Patch | 补丁,修复漏洞或错误 |
| 0day | 厂商未知或未修复的漏洞 |
| 1day | 已公开且通常已有补丁的漏洞 |
6.2 漏洞利用的一般链路
从防御视角看,攻击者利用漏洞通常包括:
防御时应在每个环节设置拦截点:
| 环节 | 防御措施 |
|---|---|
| 资产暴露 | 资产测绘、关闭不必要端口 |
| 漏洞扫描 | 入侵检测、WAF、速率限制 |
| 利用尝试 | 补丁、虚拟补丁、EDR |
| 初始访问 | 最小权限、应用隔离 |
| 权限提升 | 补丁、UAC、凭据保护 |
| 横向移动 | 网络分段、限制 SMB/RDP |
| 持久化 | 启动项、服务、计划任务监控 |
6.3 案例:永恒之蓝 MS17-010
PPT 中以 EternalBlue 永恒之蓝为典型案例。该漏洞影响 SMB 文件共享协议,曾造成大规模蠕虫传播事件。
防御角度理解:
- 高危暴露端口:445。
- 受影响服务:SMB。
- 主要风险:远程代码执行、横向传播。
- 防御重点:补丁、关闭 SMBv1、限制 445 端口访问、网络分段。
安全加固建议:
- 禁用 SMBv1。
- 安装对应安全补丁。
- 内网不同安全区域之间限制 445 访问。
- 服务器不应直接暴露 SMB 到公网。
- 开启 IDS/IPS 对异常 SMB 流量告警。
- 定期扫描资产是否存在高危漏洞。
6.4 漏洞扫描器的防御使用
漏洞扫描器通常由以下部分组成:
- 资产发现模块
- 端口扫描模块
- 服务识别模块
- 漏洞插件库
- 风险评级模块
- 报告生成模块
企业扫描流程建议:
- 确定授权范围。
- 先低强度资产发现,避免影响业务。
- 对高危资产分批扫描。
- 按漏洞等级、资产重要性、是否公网暴露排序修复。
- 修复后复扫验证。
- 将漏洞管理纳入月度安全运营。
6.5 补丁管理
补丁分为安全补丁和非安全补丁:
| 类型 | 说明 |
|---|---|
| 安全补丁 | 修复安全漏洞和缺陷 |
| 非安全补丁 | 修复功能错误、兼容性问题 |
补丁管理流程:
注意: 生产环境不应盲目立刻安装所有补丁,应先评估业务兼容性;但高危远程代码执行漏洞、已被利用漏洞,需要进入应急修复流程。
7. 针对注册表和组策略的攻防
7.1 注册表基础
注册表是 Windows 保存系统、软件、用户配置的数据库。可以把它理解为 Windows 的“配置中枢”。
常见根键:
| 根键 | 作用 |
|---|---|
| HKEY_CLASSES_ROOT | 文件关联、COM 对象 |
| HKEY_CURRENT_USER | 当前用户配置 |
| HKEY_LOCAL_MACHINE | 本机系统级配置 |
| HKEY_USERS | 所有用户配置 |
| HKEY_CURRENT_CONFIG | 当前硬件配置 |
注册表中有“键、子键、数值”三个基本概念,类似文件夹、子文件夹和配置项。
7.2 注册表中的常见安全关注点
| 位置 | 风险 | 防御/排查 |
|---|---|---|
| Run/RunOnce 启动项 | 程序开机自启动 | 检查异常路径和签名 |
| Services 服务项 | 持久化服务 | 检查 ImagePath |
| Winlogon | 登录流程劫持 | 检查 Shell、Userinit |
| IFEO | 镜像劫持 | 检查 Debugger 项 |
| AppInit_DLLs | DLL 注入 | 检查异常 DLL |
| Policies | 安全策略被篡改 | 对比基线 |
7.3 注册表安全设置
PPT 中提到三个典型安全设置:
| 设置 | 目的 | 示例 |
|---|---|---|
| 禁用注册表编辑器 | 防止普通用户随意修改配置 | DisableRegistryTools=1 |
| 禁用 Remote Registry | 防止远程修改注册表 | 禁用 Remote Registry 服务 |
| 限制 Run 启动项权限 | 防止恶意程序写入启动项 | Run 键只读化或最小授权 |
注意: 注册表操作风险较高,教学实验前应先导出备份。
7.4 组策略基础
组策略 Group Policy 是 Windows 用于集中管理用户和计算机环境的重要工具。运行 gpedit.msc 可以打开本地组策略编辑器。
组策略与注册表的关系:
组策略介于控制面板和注册表之间:
| 工具 | 特点 | 适用场景 |
|---|---|---|
| 控制面板/设置 | 简单直观 | 普通配置 |
| 注册表 | 能改几乎所有底层配置 | 精细化配置、排错 |
| 组策略 | 图形化、可集中管理 | 企业安全策略 |
7.5 AppLocker 配置
AppLocker 从 Windows 7 和 Windows Server 2008 R2 开始提供,用于控制用户可以运行哪些程序、脚本、安装包或应用。
规则类型:
| 类型 | 控制对象 |
|---|---|
| 可执行文件规则 | .exe、.com |
| Windows Installer 规则 | .msi、.msp、.mst |
| 脚本规则 | .ps1、.bat、.cmd、.vbs、.js |
| 打包应用规则 | .appx |
案例:防止学生机运行未知工具
实验室电脑经常被学生运行未知下载程序,可以通过 AppLocker 设置:
- 允许
C:\Windows和C:\Program Files下签名软件运行。 - 阻止用户下载目录、桌面、临时目录中的可执行文件运行。
- 对管理员组保留管理权限。
- 先使用审计模式观察,再切换到强制模式。
7.6 账号策略和本地策略
账号策略包括:
- 密码复杂度要求
- 密码最短长度
- 密码最长使用期限
- 强制密码历史
- 账户锁定阈值
- 账户锁定时间
本地策略包括:
- 审核策略
- 用户权限分配
- 安全选项
推荐基线:
| 项目 | 建议 |
|---|---|
| 密码长度 | 不少于 12 位 |
| 复杂度 | 开启复杂度要求 |
| 历史密码 | 至少记住 5 个历史密码 |
| 登录失败锁定 | 5-10 次失败后锁定 |
| 远程登录权限 | 仅授权用户组 |
| 审核策略 | 开启登录、账户管理、策略变更、进程创建审计 |
8. 综合案例:一台 Windows 服务器被入侵后的排查思路
8.1 背景
某企业 Windows Server 对外提供 IIS 网站服务。管理员发现网站访问变慢,并且安全设备提示服务器存在异常外连。
8.2 初步现象
- IIS 日志中出现大量 POST 请求。
- 服务器存在异常进程
svchost.exe,路径位于C:\Users\Public。 - 安全日志中出现多个登录失败事件 4625。
- 系统日志中出现新服务安装事件 7045。
- 防火墙日志显示服务器向陌生外部 IP 建立连接。
8.3 排查流程
8.4 关键检查点
1. 账户侧
- 是否有新建用户:事件 ID 4720。
- 是否有用户加入管理员组:事件 ID 4732。
- 是否有异常远程登录:事件 ID 4624,登录类型 10 通常与 RDP 相关。
- 是否有大量登录失败:事件 ID 4625。
2. 进程侧
- 是否存在系统进程伪装。
- 进程路径是否异常。
- 父进程是否合理。
- 是否有异常网络连接。
3. 服务侧
- 是否新增服务:事件 ID 7045。
- 服务 ImagePath 是否指向用户目录、临时目录、Web 目录。
- 服务名称是否伪装成系统组件。
4. Web 侧
- IIS 日志中是否存在异常 POST。
- 上传目录中是否存在
.aspx、.ashx、.asp脚本。 - 是否存在 SQL 注入、文件上传、弱口令入口。
5. 日志侧
- 是否出现事件 ID 1102,即审计日志被清除。
- 是否存在日志缺口。
- IIS 日志是否被删除或截断。
8.5 处置建议
- 先隔离,不要立刻关机,避免内存证据丢失。
- 导出 Windows 事件日志、IIS 日志、防火墙日志。
- 保留可疑样本、Hash、路径、时间戳。
- 检查账户和权限变更。
- 清除 WebShell、恶意服务、计划任务、启动项。
- 修复 Web 漏洞和系统漏洞。
- 修改所有相关密码,尤其是管理员、数据库、服务账户。
- 部署日志集中转发和持续监控。
9. 课堂实验与思考题
9.1 实验一:EFS 与 BitLocker 对比实验
目标: 理解文件级加密与磁盘级加密的区别。
实验任务:
- 在 NTFS 分区创建测试文件。
- 对文件启用 EFS 加密。
- 使用另一个用户尝试访问该文件。
- 启用 BitLocker 加密一个测试分区或虚拟磁盘。
- 讨论两者保护场景差异。
思考:
- 为什么 EFS 不能防止有删除权限的用户删除文件?
- 为什么 BitLocker 更适合笔记本丢失场景?
9.2 实验二:Windows 登录日志分析
目标: 掌握登录成功和失败日志识别。
任务:
- 打开事件查看器。
- 筛选安全日志中的 4624、4625。
- 查看登录类型、来源 IP、用户名。
- 判断是否存在异常登录行为。
思考:
- 登录类型 2、3、10 分别常见于什么场景?
- 为什么大量 4625 可能代表爆破?
9.3 实验三:可疑进程识别
目标: 掌握进程路径和签名检查。
任务:
- 使用任务管理器或 Process Explorer 查看进程。
- 找到
svchost.exe、lsass.exe、services.exe。 - 检查文件路径、签名、父进程。
- 总结正常系统进程的特点。
思考:
- 为什么同名进程不一定都是正常进程?
- 恶意程序为什么喜欢伪装成系统进程?
9.4 实验四:组策略安全加固
目标: 学会使用组策略提升系统安全性。
任务:
- 打开
gpedit.msc。 - 配置密码复杂度策略。
- 配置账户锁定策略。
- 查看本地安全策略中的审核策略。
- 讨论组策略与注册表的关系。
9.5 综合思考题
- 为什么 Windows 安全不能只依赖杀毒软件?
- EFS、BitLocker、NTFS 权限分别解决什么问题?
- 日志为什么既是管理员的安全依据,也是攻击者想清除的目标?
- 如果发现 445 端口暴露在公网,应如何处置?
- 黄金票据和白银票据的主要区别是什么?
- RAID 5 能否替代备份?为什么?
- 如何设计一套适合中小企业 Windows 服务器的安全基线?
附录 A:Windows 安全排查速查表
| 方向 | 检查内容 | 重点关注 |
|---|---|---|
| 账户 | 本地用户、管理员组、登录日志 | 新用户、弱口令、异常登录 |
| 进程 | 路径、签名、父进程、命令行 | 伪装进程、异常外连 |
| 服务 | 服务名称、ImagePath、启动类型 | 新增服务、用户目录程序 |
| 计划任务 | 触发器、执行路径 | 定时执行恶意脚本 |
| 启动项 | Run、Startup、Winlogon | 持久化 |
| 网络 | 监听端口、外连 IP | 3389、445、异常 C2 |
| 日志 | 4624、4625、4688、7045、1102 | 登录、进程、服务、清痕 |
| Web | IIS 日志、上传目录、脚本文件 | WebShell、注入、文件上传 |
| 注册表 | Run、Services、Policies、IFEO | 自启动、策略篡改 |
| 补丁 | 系统版本、补丁状态、漏洞扫描 | 高危 RCE、SMB 漏洞 |
附录 B:Windows 服务器基础加固清单
- 关闭不必要端口与服务。
- 禁止 SMB、RDP 等管理端口暴露到公网。
- 启用 Windows 防火墙并按最小开放原则配置。
- 开启 BitLocker 保护服务器磁盘或关键终端。
- 普通用户不授予本地管理员权限。
- 配置强密码、账户锁定和 MFA。
- 启用并集中收集安全日志。
- 对 IIS、数据库、中间件进行最小权限配置。
- 定期安装安全补丁。
- 使用漏洞扫描器进行授权范围内的周期性扫描。
- 对关键目录配置 NTFS 权限和备份。
- 部署 EDR、IDS/IPS 或主机安全产品。
- 建立应急响应流程和备份恢复演练。
结语
Windows 安全不是单一技术点,而是一套由身份认证、访问控制、数据保护、服务管理、日志审计、漏洞修复、策略管控共同组成的体系。学习 Windows 攻防时,不能只关注“怎么攻击”,更要理解攻击为什么能发生、系统在哪里留下痕迹、管理员应该如何加固、取证人员应该如何还原时间线。只有把攻击面、防御面和取证面结合起来,才能真正理解 Windows 操作系统安全。
更多推荐



所有评论(0)