Awesome Windows 域加固 
一份精心整理的 Windows 安全加固技术清单。
由 gepeto42 和 PaulWebSec 创建,但灵感主要来源于 PyroTek3 的研究!
摘要
本文档总结了与 Pyrotek 和 Harmj0y 在 DerbyCon 上题为"111 攻击 EvilCorp:企业入侵剖析"的演讲相关的信息。视频和幻灯片见下文。
它还整合了防御其他攻击所必需的加固技术,包括 gepeto42 和 joeynoname 在 THOTCON 0x7 演讲 中讨论的技术。
缺少什么内容吗?请创建一个 Pull Request 并添加它。
初始立足点
- 任何加固工作都不应牺牲操作系统的升级。
- 在工作站部署 EMET(已于 2018 年 7 月停止支持——可考虑在 Windows 7 上保留 EMET,但应优先升级到 Windows 10 和 Edge)。
- 使用 AppLocker 阻止可执行内容在用户位置(主目录、配置文件路径、临时目录等)运行。
- 想针对 DMA 攻击进行加固吗?给你,以及 Synacktiv 关于 DMA 攻击 的一篇有趣文章。
- 通过 Applocker 或受限语言模式管理 PowerShell 的执行。
- 启用 PowerShell 日志记录(v3+)和命令进程日志记录。
- 对从互联网下载的内容阻止 Office 宏(Windows 和 Mac)。
- 部署监控可疑行为的安全工具。可考虑使用 WEF 仅将有价值的事件转发到你的 SIEM 或日志系统。
- 通过阻止/限制电子邮件或下载中的附件来限制能力:
- 可执行文件扩展名:
- (ade、adp、ani、bas、bat、chm、cmd、com、cpl、
crt、hlp、ht、hta、inf、ins、isp、job、js、jse、lnk、mda、mdb、
mde、mdz、msc、msi、msp、mst、pcd、pif、reg、scr、sct、shs、
url、vb、vbe、vbs、wsc、wsf、wsh、exe、pif 等)
- 支持宏的 Office 文件 (docm、xlsm、pptm 等)
- 确保这些文件类型已被阻止。
- 阻止被遗忘/未使用的 Excel 文件扩展名:IQY、SLK
- 将所有使用 Windows 脚本打开的文件默认程序更改为记事本(先测试!)
- bat、js、jse、vbe、vbs、wsf、wsh、hta、vbs 等
- GPO:用户配置 -> 首选项 -> 控制面板设置 -> 文件夹选项 -> 打开方式
- 操作:替换
- 文件扩展名:(扩展名)
- 关联程序:%windir%\system32\notepad.exe
- 设为默认:已启用
- 通过 PackagerPrompt 注册表设置在 Office 中防止 OLE 包激活
侦察
BloodHound "预防":
- 使用 NetCease 防止非特权会话枚举。
- 使用 Samri10 防止非特权本地管理员收集(此修复已存在于 Windows 10 1607 及更高版本中)。
横向移动
- 将
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\TokenLeakDetectDelaySecs 设置为 30。这将在 30 秒后清除已注销用户的凭据(模拟 Windows 8.1+ 的行为)
- 将
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\WDigest\UseLogonCredential 设置为 0。这将防止 Wdigest 凭据存储在内存中,这也是 Windows 8.1+ 的默认设置。
权限提升
- 删除 SYSVOL 中包含密码的文件 (包括 GPP)。
- 通过 GPO 配置拒绝用户权限分配,确保管理员不会登录不受信任的系统(普通工作站)。
- 为所有高权限工作提供特权访问工作站或 PAW。这些工作站绝不应接入互联网。
- 尽可能为服务帐户使用托管服务帐户 (FGPP)
- 对于不支持托管服务帐户的系统,部署细粒度密码策略,以确保密码大于 32 个字符。
- 确保所有计算机均使用 NTLMv2 和 Kerberos 进行通信,并拒绝 LM/NTLMv1。
保护管理凭据
- 确保所有管理员仅登录经批准的管理员工作站和服务器。(请参阅权限提升部分中的 PAW)
- 通过用户权限分配,确保除 Administrator 之外的所有内置组均被拒绝登录域控制器。默认情况下,备份操作员、帐户操作员可以登录域控制器,这是危险的。
- 将所有管理员帐户添加到受保护用户组(需要 Windows 2012 R2 域控制器)。
- 管理员工作站和服务器:
- 控制并限制对管理员工作站和服务器的访问。
- 移除基于 TCP/IP 的 NetBIOS
- 禁用 LLMNR。
- 禁用 WPAD。
加固/移除遗留系统
- 立即开始使用 PingCastle 吧,它能执行出色的 AD 审计
- 审计/限制 NTLM。
- 强制实施 LDAP 签名。
- 启用 SMB 签名(并在可能的情况下启用加密)。
- 禁用 WPAD 和 LLMNR,并努力禁用 NetBIOS。
- 在 Windows 10 上,移除:
- SMB 1.0/CIFS
- Windows PowerShell 2.0
- 使用 shims,让需要管理员权限的旧应用程序误以为它们拥有这些权限而得以正常运行。
工具
视频
幻灯片
其他资源