“Active Directory Kill Chain Attack & Defense”概念是一种结构化的方法,用于理解Active Directory (AD)攻击中涉及的事件或阶段的顺序以及相应的防御措施来抵消或防止此类攻击。Microsoft 为 Windows 域网络开发了 Active Directory 服务,用于在公司设置中管理用户和资源。
以下是典型的 Active Directory 杀伤链攻击及其防御的细分:
侦察:
攻击:攻击者收集有关目标网络、结构、域名、机器名称和用户账户的信息。
防御:限制信息泄露。使用网络分段并监控目录可见性。
初步妥协:
攻击:攻击者利用漏洞获得初始访问权限。这可能是通过网络钓鱼、利用弱密码或未修补的漏洞来实现的。
防御:实施强密码策略、定期修补、员工意识培训以及使用多因素身份验证。
建立立足点:
攻击:获得访问权限后,攻击者通过创建后门、创建新账户或安装恶意软件来建立立足点。
防御:使用终端节点检测和响应工具,定期审核账户和权限,并监控异常活动。
权限提升:
攻击:攻击者试图获得更高级别的权限,通常以管理员帐户为目标或利用系统漏洞。
防御:应用最小权限原则,定期进行权限审计,并使用特权访问管理解决方案。
内部侦察:
攻击:攻击者拥有更高的权限,可以更深入地探索网络,以识别高价值目标(如域控制器)。
防御:网络分段、监控网络流量并使用入侵检测系统。
横向移动:
攻击:攻击者通过网络移动,访问其他系统并可能传播恶意软件。
防御:实施严格的访问控制,监控横向移动,并使用网络安全工具。保持存在感:
攻击:攻击者建立方法来保持他们在网络中的存在,即使他们的一些接入点被发现并关闭。
防御:持续监控、定期网络扫描和事件响应计划。
完成任务:
攻击:攻击者实现其目标,这可能是数据泄露、数据加密以勒索赎金或造成运营中断。
防御:数据丢失预防工具、定期备份和全面的事件响应策略。
了解和防御 Active Directory 杀伤链的每个阶段需要结合技术控制、安全策略和持续的用户教育。持续监控、快速事件响应和定期审查安全实践对于降低此类攻击的风险至关重要。
在这里,我们将详细阐述攻击者用来破坏 Active Directory 的策略、技术和过程 (TTP),以及缓解、检测和预防的指南。了解 Active Directory 杀伤链攻击和现代漏洞利用后对手交易活动。
如何保护 Active Directory 攻击
全面的检查表对于保护 Active Directory (AD) 免受威胁至关重要。这是一种有条不紊的方法:
定期更新和修补:确保所有系统(尤其是使用 Active Directory 的系统)都定期修补并更新最新的安全更新。
物理上安全且其职责仅限于 AD 服务的域控制器 (DC) 称为安全域控制器。远离 DC 的其他用途。
建立可靠的密码策略: 密码应该很复杂并且经常更改。为了增强安全性,您可以考虑使用密码和多重身份验证 (MFA)。
密切关注用户帐户:如果您看到任何未被使用或拥有过多权限的帐户,请将其停用。
限制特权帐户:减少具有管理访问权限的用户数量是一项重要的安全措施。通过最低权限的概念将用户访问权限限制为其工作描述所需的访问权限。
监控和审计登录和活动: 采取措施监控和审计所有登录和活动,尤其是那些使用特权帐户的登录和活动。留意任何可能表明袭击正在进行的异常情况。
对 AD 的安全网络访问:通过限制对网络上服务器的访问来保护 Active Directory。通过使用防火墙和对网络进行分段,阻止除必要用户之外的所有用户访问网络。
使用组织单位和组策略:将组策略应用于安全设置,并在组织单位 (OU) 中组织资源,以确保网络的安全配置一致。
数据备份和灾难恢复:定期备份 Active Directory 并为最坏的情况做好准备。定期评估您的备份和恢复流程。
用户教育:教育员工如何发现和避免网络钓鱼和其他社会工程威胁。提高意识可以大大降低袭击成功的可能性。
定期对 Active Directory 环境执行安全审计,并检查是否符合适用的安全标准和最佳实践。
考虑部署尖端的安全解决方案:考虑部署尖端的安全解决方案,如 SIEM、IDS/IPS 和 Endpoint Protection 平台。
加强 Active Directory 配置:为 Active Directory 设置实施建议的安全措施,例如保护轻量级目录访问协议 (LDAP) 并在可行的情况下强制使用服务器消息块 (SMB) 签名。
物理访问控制:仅限授权人员对服务器和其他网络设备进行物理访问。
及时了解新出现的威胁:通过阅读可能影响 AD 的新攻击媒介和漏洞,让自己了解新出现的威胁。然后,适当地修改您的安全程序。
如果要确保 Active Directory 系统的安全,则需要经常查看和更新此清单,以应对新的威胁和组织变化。
发现
SPN 扫描
- SPN 扫描 – 无需网络端口扫描的服务发现
- Active Directory:用于列出使用的所有 SPN 的 PowerShell 脚本
- 在不使用权限的情况下发现服务账户
数据挖掘
- 数据搜寻概述
- 推它,推它真正好
- 使用 PowerUpSQL 在域 SQL Server 上查找敏感数据
- 使用 MailSniper 发现电子邮件中的敏感数据
- 远程搜索敏感文件
- I Hunt 系统管理员 – harmj0y
用户搜寻
- 隐藏的管理账户:BloodHound 来救援
- 没有管理员权限的 Active Directory Recon
- 使用 Active Directory PowerShell 模块收集 AD 数据
- 使用 ActiveDirectory 模块从 PowerShell 约束语言模式进行域枚举
- PowerUpSQL Active Directory Recon 函数
- 衍生本地管理员
- 自动衍生品管理人搜索
- 转储 Active Directory 域信息 – 使用 PowerUpSQL!
- 本地组枚举
- 使用 Bloodhound 进行攻击映射
- 态势感知
- 域网络入侵的命令
- 渗透测试人员的组范围界定指南
圈
- Microsoft LAPS安全和Active Directory LAPS配置审查
- 使用 PowerView 运行 LAPS
- RastaMouse LAPS 第 1 部分和第 2 部分
应用储物柜
- 枚举 AppLocker 配置
Active Directory 联合身份验证服务
- 118 使用 PowerShell 攻击 ADFS 终结点 Karl Fosaaen
- 使用 PowerShell 识别联合域
- LyncSniper:用于渗透测试 Skype for Business 和 Lync 部署的工具
- Troopers 19 – 我是 AD FS,你也可以
权限提升
滥用 Active Directory 证书服务
- 认证二手车
小波塔姆
- 小波塔姆
- 从 Stranger 到 DA // 使用 PetitPotam 到 NTLM 中继到 Domain Administrator
Zerologon
- Cobalt Strike ZeroLogon-BOF
- CVE-2020-1472 概念验证
- Zerologon:通过颠覆 Netlogon 加密技术立即成为域管理员 (CVE-2020-1472)
SYSVOL 和组策略首选项中的密码
- 在SYSVOL中查找密码并利用组策略首选项
- 现实世界中的渗透测试:组策略 Pwnage
MS14-068 Kerberos 漏洞
- MS14-068:(Active Directory) Kerberos 中的漏洞可能允许特权提升
- 深入研究 MS14-068,开发与防御
- 从 MS14-068 到完全妥协 – 循序渐进
DNSAdmin 公司
- 滥用 DNSAdmins 特权在 Active Directory 中升级
- 从 DNSAdmins 到 Domain Admin,当 DNSAdmins 不仅仅是 DNS 管理
Kerberos 委派
- 使用委派原语构造 Kerberos 攻击
- 无需 shell – 有关使用 impacket 和 Kerberos 将方式委托给 DA 的演练
- CVE-2020-17049:Kerberos 铜牌位攻击 – 概述
无约束委派
- 域控制器打印服务器 + 不受约束的 Kerberos 委派 = Pwned Active Directory 林
- Active Directory 安全风险 #101:Kerberos 不受约束的委派(或单个服务器的泄露如何损害域)
- 不受约束的委派权限
- 信任?几年赚,秒而破
- 在Active Directory中寻找:无约束委派和森林信任
- 利用无约束委派
约束委派
- 关于授权的另一句话
- 从 Kekeo 到 Rubeus
- S4U2 Pwnage
- Kerberos 委派、Spn 等...
基于资源的约束委派
- 摇摆不定:滥用基于资源的约束委派来攻击 Active Directory
- Kerberos 基于资源的约束委派:计算机对象接管
- 基于资源的约束委派
- 《Wagging the Dog: Computer Takeover》中的案例研究
- BloodHound 2.1 的新计算机接管攻击
不安全的组策略对象权限
- 滥用 GPO 权限
- GPO 和 OU 红队指南
- GPO 滥用的文件模板
- GPO 滥用 – 第 1 部分
- GPO 滥用 – 第 2 部分
- SharpGPOA总线
不安全的 ACL 权限
- 利用 Powersploit 的弱 Active Directory 权限
- 在 Active Directory 中使用 ACL 提升权限
- 滥用 PowerView 的 Active Directory 权限
- BloodHound 1.3 – ACL 攻击路径更新
- 扫描Active Directory权限和特权账户
- Active Directory 访问控制列表 – 攻击和防御
- aclpwn – BloodHound 的 Active Directory ACL 漏洞
域信任
DCShadow
- 使用 DCShadow 进行权限提升
- DCShadow
- DCShadow 解释:对最新 AD 攻击技术的技术深入探讨
- DCShadow – 以静默方式关闭 Active Directory 审核
- DCShadow – 最低权限、Active Directory Deception、Shadowception 等
摆脱
Microsoft SQL 服务器
- 如何使用 PowerUpSQL 以本地管理员身份获得 SQL Server Sysadmin 权限
- 与 Powerupsql 妥协 – SQL 攻击
红森林
- 攻击和防御 Microsoft 增强安全管理
交换
- Exchange-AD-Privesc
- 滥用 Exchange:Domain Admin 只需一次 API 调用
- NTLMRelayToews
NTLM 继电器和 LLMNR/NBNS
- 使用 Responder 进行 Pwning – 渗透测试人员指南
- 2017 年 NTLM 中继实用指南(又名 5 分钟内站稳脚跟)
- 使用 ntlmrelayx 在所有位置中继凭据
- 超越 LLMNR/NBNS 欺骗 – 利用 Active Directory 集成的 DNS
- 组合 NTLM 中继和 Kerberos 委派
- mitm6 – 通过 IPv6 破坏 IPv4 网络
- 两全其美:结合 NTLM 中继和 Kerberos 委派
横向移动
Microsoft SQL Server 数据库链接
- SQL Server – 链接...链接。。。链接。。。和 Shell:如何破解 SQL Server 中的数据库链接!
- 使用 PowerUpSQL 的 SQL Server 链接爬网
传递哈希
- 使用 Mimikatz 执行哈希传递攻击
- 如何使用 Mimikatz 传递哈希
- 传递哈希已死:LocalAccountTokenFilterPolicy 万岁
系统中心配置管理器 (SCCM)
- 使用 Sccm 的目标工作站妥协
- PowerSCCM – 用于与 SCCM 部署交互的 PowerShell 模块
WSUS
- WSUS MITM 的远程武器化
- WSUSpendu
- 利用 WSUS – 第一部分
密码喷洒
- 密码喷洒 Windows Active Directory 帐户 – Tradecraft Security Weekly #5
- 使用 MailSniper 攻击 Exchange
- Jacob Wilkin 的 Active Directory 凭据密码喷射工具
- 喷涂工具包
自动横向移动
- GoFetch 是一种自动执行 BloodHound 应用程序生成的攻击计划的工具
- DeathStar – 使用 Empire 自动获取域管理员
- ANGRYPUPPY – CobaltStrike 中的 Bloodhound 攻击路径自动化
防御闪避
内存中规避
- 使用 Cobalt Strike 和 Gargoyle 绕过内存扫描仪
- In-Memory 规避课程
- 自带土地 (BYOL) – 一种新颖的红队技术
端点检测和响应 (EDR) 规避
- EDR 时代的红队
- Sharp-Suite – 进程参数欺骗
- 红队战术:结合直接系统调用和 sRDI 绕过 AV/EDR
- 解链宏和规避 EDR
- 绕过 EDR 的内存保护,hooking 介绍
- 通过取消挂钩 Windows API 绕过 Cylance 和其他 AV/EDR
- 沉默 Cylance:现代 EDR 的案例研究
OPSEC 运营安全
Microsoft ATA & ATP 逃避
PowerShell ScriptBlock 日志记录绕过
PowerShell 防恶意软件扫描接口 (AMSI) 绕过
- 如何绕过 AMSI 并执行任何恶意 Powershell 代码
- AMSI:Windows 10 计划如何阻止基于脚本的攻击
- AMSI 旁路:修补技术
- Invisi-Shell – 将您的 Powershell 脚本隐藏在显眼的地方。绕过所有 Powershell 安全功能
- 使用 VBA 的动态 Microsoft Office 365 AMSI 内存旁路
- AmsiScanBuffer 旁路 – 第 1 部分
- AMSI 旁路
加载 .NET 程序集防恶意软件扫描接口 (AMSI) 绕过
- 一个 PoC 函数,用于在 .NET Framework 早期访问版本 3694 中损坏 clr.dll 中的 g_amsiContext 全局变量
AppLocker & Device Guard 绕过
- 靠土地生活二进制文件和脚本 –(LOLBins 和 LOLScripts)
Sysmon 规避
- 颠覆 Sysmon:正式安全产品规避方法的应用
- sysmon-config-bypass-finder
- Shhmon — 通过驱动程序卸载使 Sysmon 静音
HoneyTokens 规避
- 在 Active Directory 中建立用于欺骗的信任
- Honeypot Buster:独特的红队工具
禁用安全工具
- Invoke-Phant0m – Windows 事件日志终止程序
凭证转储
NTDS.DIT 密码提取
- 攻击者如何从域控制器中提取 Active Directory 数据库 (NTDS.dit)
- 从 Ntds.dit 文件中提取密码哈希
SAM (安全帐户经理)
- 内部独白攻击:在不接触 LSASS 的情况下检索 NTLM 哈希
Kerberoasting
- 没有 Mimikatz 的 Kerberoasting
- 使用 Kerberoast 破解 Kerberos TGS 票证 – 利用 Kerberos 破坏 Active Directory 域
- 使用 Kerberoasting 提取服务帐户密码
- 使用 Kerberoasting 破解服务帐户密码
- Kerberoast PW 列表,用于破解具有复杂性要求的密码
- DerbyCon 2019 – 重新审视 Kerberoasting
Kerberos AP-REP 烘焙
- 烘焙 AS-REP
Windows 凭据管理器/保管库
- 冒犯性用户 DPAPI 滥用作指南
- 使用 RDP 跳转网络隔离
DCSync
- Mimikatz 和 DCSync 以及 ExtraSids,天哪
- Mimikatz DCSync 的使用、利用和检测
- 使用 Mimikatz DCSync 转储域中所有管理员的明文密码
LLMNR/NBT-NS 中毒
- 使用响应程序的 LLMNR/NBT-NS 中毒
其他
- 泄露 Active Directory 中的纯文本密码
- Linux Red Teams 上的 Kerberos 票证
坚持
黄金门票
- 黄金门票
- Kerberos 黄金票证现在更加黄金
SID 历史记录
- 偷偷摸摸的 Active Directory 持久性 #14:SID 历史记录
银票
- 攻击者如何使用 Kerberos Silver 票证来利用系统
- 偷偷摸摸的Active Directory持久性#16:计算机账户和域控制器银票
DCShadow
- 使用 dcshadow 创建持久性
AdminSDHolder
- 偷偷摸摸的Active Directory持久性#15:利用AdminSDHolder和SDProp来(重新)获得域管理员权限
- 使用 adminsdholder 和 sdprop 的持久性
组策略对象
- 偷偷摸摸的 Active Directory 持久性 #17:组策略
万能键
- 使用 Skeleton Key Attack 解锁 Active Directory 的所有门
- 万能钥匙
- 攻击者现在可以使用Mimikatz在域控制器上植入万能密钥,并对您的Active Directory森林进行后门作。
SeEnableDelegationPrivilege
- 您(可能)从未听说过的最危险的用户
- SeEnableDelegationPrivilege Active Directory 后门程序
安全支持提供商
- 偷偷摸摸的 Active Directory 持久性 #12:恶意安全支持提供程序 (SSP)
目录服务还原模式
- 偷偷摸摸的 Active Directory 持久性 #11:目录服务还原模式 (DSRM)
- 偷偷摸摸的 Active Directory 持久性 #13:DSRM 持久性 v2
ACLs和安全描述符
- 袖珍高手:设计 Active Directory DACL 后门
- 影子管理员 – 您最应该害怕的隐蔽帐户
- 信任 Active Directory 的意外风险
工具和脚本
- 认证 – Certify 是一种 C# 工具,用于枚举和滥用 Active Directory 证书服务 (AD CS) 中的错误配置。
- PSPKIAudit – 用于审核 Active Directory 证书服务 (AD CS) 的 PowerShell 工具包。
- PowerView – 态势感知 PowerShell 框架
- BloodHound – 六度域管理员
- Impacket – Impacket 是用于处理网络协议的 Python 类的集合
- aclpwn.py – BloodHound 的 Active Directory ACL 漏洞
- CrackMapExec – 用于渗透测试网络的瑞士军刀
- ADACLScanner – 带有 GUI 或命令面板的工具,用于创建 Active Directory 中的访问控制列表 (DACL) 和系统访问控制列表 (SACL) 的报告
- zBang – zBang 是一种风险评估工具,可检测潜在的特权帐户威胁
- SafetyKatz – SafetyKatz 是 @gentilkiwi 的 Mimikatz 项目和 @subTee 的 .NET PE 加载程序的略微修改版本的组合。
- SharpDump – SharpDump 是 PowerSploit 的 Out-Minidump.ps1 功能的 C# 端口。
- PowerUpSQL – 用于攻击 SQL Server 的 PowerShell 工具包
- Rubeus – Rubeus 是一个用于原始 Kerberos 交互和滥用的 C# 工具集
- ADRecon – 一种收集有关 Active Directory 的信息并生成报告的工具,该报告可以提供目标 AD 环境当前状态的整体情况
- Mimikatz – 从内存中提取纯文本密码、哈希、PIN 码和 Kerberos 票证的实用程序,还可以执行哈希传递、票证传递或构建黄金票证
- Grouper – 一个 PowerShell 脚本,用于帮助查找 AD 组策略中易受攻击的设置。
- Powermad – PowerShell MachineAccountQuota 和 DNS 漏洞利用工具
- RACE – RACE 是一个 PowerShell 模块,用于对 Windows 目标执行 ACL 攻击。
- DomainPasswordSpray – DomainPasswordSpray 是用 PowerShell 编写的工具,用于对域的用户执行密码喷射攻击。
- MailSniper – MailSniper 是一种渗透测试工具,用于在 Microsoft Exchange 环境中搜索电子邮件中的特定术语(密码、内部情报、网络架构信息等)。
- LAPSToolkit – 用于审核和攻击 LAPS 环境的工具。
- CredDefense – 适用于 Windows 环境的凭证和红队防御
- ldapdomaindump – 通过 LDAP 的 Active Directory 信息转储程序
- SpoolSample – PoC 工具,用于通过 MS-RPRN RPC 接口强制 Windows 主机向其他计算机进行身份验证
- adconnectdump – Azure AD Connect 密码提取
- o365recon – 用于通过 O365 检索具有有效 cred 的信息的脚本
- ROADtools – ROADtools 是与 Azure AD 交互的框架。我
- Stormspotter – Stormspotter 在 Azure 订阅中创建资源的“攻击图”。
- AADInternals – AADInternals 是用于管理 Azure AD 和 Office 365 的 PowerShell 模块
- MicroBurst:用于攻击 Azure 的 PowerShell 工具包 – MicroBurst 包括支持 Azure 服务发现、弱配置审核和漏洞利用后作(如凭据转储)的函数和脚本。
电子书
- Dog Whisperer's Handbook – BloodHound Galaxy 黑客指南
- Varonis 电子书:渗透测试 Active Directory 环境
作弊表
- 工具备忘单 – 工具(PowerView、PowerUp、Empire 和 PowerSploit)
- DogWhisperer – BloodHound Cypher 作弊表 (v2)
- PowerView-3.0 提示和技巧
- PowerView-2.0 提示和技巧
- BloodhoundAD 查询
- Kerberos 攻击作弊表
- Bloodhound 密码秘籍表
- Kerberos 备忘单
- Active Directory 漏洞利用作弊表
其他资源
- 攻击 Active Directory BlackHat Asia 2019 的策略、技术和程序
- Bloodhound 演练。许多手艺的工具
- 在 Active Directory 中获取域管理员权限的攻击方法
- PowerShell 已死 Epic Learnings
- 寻找我们的路径:我们如何尝试提高 Active Directory 安全性
- SteelCon 2019:使用 Kerberos 实现 Splunky – Ross Bingham 和 Tom MacDonald
- AD 安全研讨会
Azure 活动目录
- 面向 RED TEAMERS 的 AZURE AD 简介
- 我在你的云中...阅读每个人的电子邮件。通过 Active Directory 入侵 Azure AD
- 利用 Azure 服务进行红队参与
- Blue Cloud of Death: Red Teaming Azure
- 适用于红队成员的 Azure AD Connect
- Red Teaming Microsoft:第 1 部分 – 通过 Azure 的 Active Directory 泄漏
- 攻击和防御 Microsoft 云
- 如何创建 Azure AD 的后门
- Azurehound 密码秘籍
- 王国之钥:扮演上帝作为全局管理员
防御与检测
工具和脚本
- Invoke-TrimarcADChecks – Invoke-TrimarcADChecks.ps1 PowerShell 脚本旨在从单个域 AD 林收集数据以执行 Active Directory 安全评估 (ADSA)。
- 在 AD 中创建层 – 项目名称 Active Directory 在任何环境中自动部署 层
- SAMRi10 – 在 Windows 10/Server 2016 中强化 SAM 远程访问
- Net Cease – 强化 Net Session 枚举
- PingCastle – 一种工具,旨在通过基于风险评估和成熟度框架的方法快速评估 Active Directory 安全级别
- Aorato Skeleton Key 恶意软件远程 DC 扫描程序 – 远程扫描 Skeleton Key 恶意软件的存在
- 重置 krbtgt 帐户密码/密钥 – 此脚本将使您能够重置 krbtgt 帐户密码和相关密钥,同时最大限度地降低作导致 Kerberos 身份验证问题的可能性
- 重置 RWDC/RODC 的 KrbTgt 帐户密码/密钥
- RiskySPN – RiskySPNs 是一组 PowerShell 脚本,专注于检测和滥用与 SPN(服务主体名称)关联的账户。
- Deploy-Deception – 用于部署 Active Directory 诱饵对象的 PowerShell 模块
- SpoolerScanner – 检查 MS-RPRN 是否可通过 powershell/c 远程使用#
- dcept – 用于部署和检测 Active Directory 蜜标使用情况的工具
- LogonTracer – 通过可视化和分析 Windows 事件日志来调查恶意 Windows 登录
- DCSYNCMonitor – 监控 DCSYNC 和 DCSHADOW 攻击,并为这些事件创建自定义 Windows 事件
- Sigma – SIEM 系统的通用签名格式
- Sysmon – 系统监视器 (Sysmon) 是一种 Windows 系统服务和设备驱动程序,一旦安装在系统上,它将在系统重新启动后保持驻留状态,以监视系统活动并将系统活动记录到 Windows 事件日志中。
- SysmonSearch – 通过可视化 Sysmon 的事件日志来调查可疑活动
- ClrGuard – ClrGuard 是一个概念验证项目,用于探索出于安全目的检测公共语言运行时 (CLR)。
- Get-ClrReflection – 检测仅内存 CLR (.NET) 模块。
- Get-InjectedThread – Get-InjectedThread 查看每个正在运行的线程,以确定它是否是内存注入的结果。
- SilkETW – SilkETW和SilkService是ETW的灵活C#包装器,它们旨在抽象出ETW的复杂性,并为人们提供一个简单的界面来进行研究和内省。
- WatchAD – AD 安全入侵检测系统
- 麻雀 – CISA 的云取证团队创建了 Sparrow.ps1,以帮助检测 Azure/m365 环境中可能被盗用的帐户和应用程序。
- DFIR-O365RC – DFIR-O365RC PowerShell 模块是一组函数,允许 DFIR 分析师收集与 Office 365 商业电子邮件泄露调查相关的日志。
- AzureADIncidentResponse – 用于协助 Azure AD 事件响应的工具
- ADTimeline – ADTimeline 脚本根据 Active Directory 复制元数据为被视为感兴趣的对象生成时间线。
Sysmon 配置
- sysmon-modular – 供所有人自定义的 Sysmon 配置存储库
- sysmon-dfir – 来源、配置以及如何利用 Microsoft Sysmon 检测恶意事物。
- sysmon-config – 具有默认高质量事件跟踪的 Sysmon 配置文件模板
Active Directory 安全检查(作者:Sean Metcalf – @Pyrotek3)
一般建议
- 管理本地管理员密码 (LAPS)。
- 根据需要) 实施 RDP 受限管理员模式 (。
- 从网络中删除不受支持的作系统。
- 监控敏感系统(DC 等)上的计划任务。
- 确保定期更改并安全地存储OOB管理密码(DSRM)。
- 使用 SMB v2/v3+
- 默认域管理员和KRBTGT密码应每年更改一次,并在AD管理员离开时更改。
- 删除不再需要的信任,并酌情启用SID过滤。
- 所有域认证都应设置为(在可能的情况下: “仅发送NTLMv2响应拒绝LM & NTLM。”
- 阻止DC、服务器和所有管理系统的互联网访问。
保护管理员凭据
- 管理员组中没有 “user” 或 computer accounts。
- 确保所有管理员账户都是“敏感且不能被委派”的。
- 将管理员帐户添加到“受保护的用户”组(需要 Windows Server 2012 R2 域控制器、2012R2 DFL 进行域保护)。
- 禁用所有非活动管理员帐户并从特权组中删除。
保护 AD 管理员凭据
- 限制AD管理员成员资格(DA、EA、Schema Admins等)并且只使用自定义授权组。
- “分层”管理可减轻凭据盗窃影响。
- 确保管理员只登录到批准的管理员工作站和服务器。
- 为所有管理员帐户利用基于时间的临时组成员身份
保护服务帐户凭证
- 限制为相同安全级别的系统。
- 利用“(组)托管服务帐户”(或 PW >20 个字符)来减少凭据盗窃 (kerberoast)。
- 实施 FGPP (DFL =>2008) 以提高 SA 和管理员的 PW 要求。
- 登录限制 - 阻止交互式登录并限制特定计算机的登录功能。
- 禁用非活动SAs并从特权组中删除。
保护资源
- 分割网络以保护管理员和关键系统。
- 部署 IDS 以监控内部企业网络。
- 网络设备和 OOB 管理在单独的网络上。
保护域控制器
- 只运行软件和服务来支持AD。
- 具有DC管理员/登录权限的最小组(和用户)。
- 确保在运行 DCPromo 之前应用补丁(尤其是 MS14-068 和其他关键补丁)。
- 验证计划任务和脚本。
保护工作站(和服务器)
- 快速修补,尤其是权限提升漏洞。
- 部署安全向后移植补丁 (KB2871997)。
- 将 Wdigest 注册表项设置为 0 (KB2871997/Windows 8.1/2012R2+):HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersWdigest
- 部署工作站白名单(Microsoft AppLocker)以阻止用户文件夹中的代码执行 - 主目录和配置文件路径。
- 部署工作站应用程序沙盒技术 (EMET) 以缓解应用程序内存漏洞(0 天)。
记录
- 启用增强审核
- “审核:强制审核策略子类别设置(Windows Vista 或更高版本)覆盖审核策略类别设置”
- 启用PowerShell模块日志记录(“*”)并将日志转发到中央日志服务器(WEF或其他方法)。
- 启用CMD进程日志记录和增强(KB3004375)并将日志转发到中央日志服务器。
- SIEM 或等效产品来集中尽可能多的日志数据。
- 用户行为分析系统,用于增强对用户活动的了解(例如 Microsoft ATA)。
Security Pro 的检查
- 确定谁具有 AD 管理员权限(域/林)。
- 确定谁可以登录到域控制器(以及托管虚拟DC的虚拟环境的管理员权限)。
- 扫描Active Directory域、OUs、AdminSDHolder和GPOs以查找不适当的自定义权限。
- 确保 AD 管理员(又名域管理员)通过不登录不受信任的系统(工作站)来保护他们的凭据。
- 限制当前为 DA(或等效)的服务帐户权限。
重要安全更新
CVE |
Title |
Description |
Link |
CVE-2020-1472漏洞 |
Netlogon 特权提升漏洞 |
当攻击者使用 Netlogon 远程协议 (MS-NRPC) 建立与域控制器的易受攻击的 Netlogon 安全通道连接时,存在特权提升漏洞。成功利用此漏洞的攻击者可以在网络上的设备上运行特制的应用程序。 |
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-1472 |
CVE-2019-1040漏洞 |
Windows NTLM 篡改漏洞 |
当中间人攻击者能够成功绕过 NTLM MIC(消息完整性检查)保护时,Microsoft Windows 中存在篡改漏洞,即“Windows NTLM 篡改漏洞”。 |
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-1040 |
漏洞:CVE-2019-0683 |
Active Directory 特权提升漏洞 |
Active Directory 林信任中存在特权提升漏洞,这是由于默认设置允许信任林中的攻击者请求委派来自受信任林的身份的 TGT,也称为“Active Directory 特权提升漏洞”。 |
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0683 |
CVE-2019-0708漏洞 |
Remote Desktop Services 远程代码执行漏洞 |
当未经身份验证的攻击者使用 RDP 连接到目标系统并发送特制请求时,远程桌面服务(以前称为终端服务)中存在远程代码执行漏洞,也称为“远程桌面服务远程代码执行漏洞”。 |
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708 |
CVE-2018-8581漏洞 |
Microsoft Exchange Server 特权提升漏洞 |
Microsoft Exchange Server 中存在特权提升漏洞,也称为“Microsoft Exchange Server 特权提升漏洞”。这会影响 Microsoft Exchange Server。 |
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2018-8518 |
CVE-2017-0143漏洞 |
Windows SMB 远程代码执行漏洞 |
Microsoft Windows Vista SP2 中的 SMBv1 服务器;Windows Server 2008 SP2 和 R2 SP1;视窗 7 SP1;Windows 8.1;Windows Server 2012 Gold 和 R2;Windows RT 8.1 版;以及 Windows 10 Gold、1511 和 1607;Windows Server 2016 允许远程攻击者通过构建的数据包(又名“Windows SMB 远程代码执行漏洞”)执行任意代码。此漏洞与 CVE-2017-0144、CVE-2017-0145、CVE-2017-0146 和 CVE-2017-0148 中描述的漏洞不同。 |
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-0143 |
CVE-2016-0128漏洞 |
Windows SAM 和 LSAD 降级漏洞 |
Microsoft Windows Vista SP2、Windows Server 2008 SP2 和 R2 SP1、Windows 7 SP1、Windows 8.1、Windows Server 2012 Gold 和 R2、Windows RT 8.1 以及 Windows 10 Gold 和 1511 中的 SAM 和 LSAD 协议实现未正确建立 RPC 通道,这允许中间人攻击者通过修改客户端-服务器数据流来执行协议降级攻击并冒充用户。 又名“Windows SAM 和 LSAD 降级漏洞”或“BADLOCK”。 |
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2016-0128 |
CVE-2014-6324漏洞 |
Kerberos 中的漏洞可能允许提权 (3011780) |
Microsoft Windows Server 2003 SP2、Windows Vista SP2、Windows Server 2008 SP2 和 R2 SP1、Windows 7 SP1、Windows 8、Windows 8.1 以及 Windows Server 2012 Gold 和 R2 中的 Kerberos 密钥分发中心 (KDC) 允许经过身份验证的远程域用户通过票证中的伪造签名获得域管理员权限,如 2014 年 11 月在野外利用的那样。 又名“Kerberos 校验和漏洞”。 |
https://docs.microsoft.com/en-us/security-updates/securitybulletins/2014/ms14-068 |
CVE-2014-1812漏洞 |
组策略首选项中的漏洞可能允许特权提升 |
Microsoft Windows Vista SP2、Windows Server 2008 SP2 和 R2 SP1、Windows 7 SP1、Windows 8、Windows 8.1 以及 Windows Server 2012 Gold 和 R2 中的组策略实施未正确处理密码分发,这允许经过身份验证的远程用户获取敏感的凭证信息,从而通过利用对 SYSVOL 共享的访问来获得权限。 2014 年 5 月在野外被利用,又名“组策略首选项密码特权提升漏洞”。 |
https://support.microsoft.com/en-us/help/2962486/ms14-025-vulnerability-in-group-policy-preferences-could-allow-elevati |
检波
攻击 |
事件 ID |
帐户和组枚举 |
4798:枚举了用户的本地组成员身份4799:枚举了启用安全性的本地组成员身份 |
AdminSDHolder |
4780:在属于 administrators 组成员的账户上设置了 ACL |
科科 |
4624:帐户登录4672:登录管理员4768:Kerberos TGS 请求 |
银票 |
4624:帐户登录4634:帐户注销4672:登录管理员 |
黄金门票 |
4624:帐户登录4672:登录管理员 |
PowerShell |
4103:脚本块日志记录400:引擎生命周期403:引擎生命周期4103: 模块日志记录600:提供程序生命周期 |
DCShadow |
4742:计算机帐户已更改5137:已创建目录服务对象5141:已删除目录服务对象4929:已删除 Active Directory 副本源命名上下文 |
万能键 |
4673:调用了特权服务4611:已向本地安全机构注册受信任的登录进程4688:已创建新进程4689:新进程已退出 |
派克 MS14-068 |
4672:登录管理员4624:帐户登录4768:Kerberos TGS 请求 |
Kerberoasting |
4769:请求了 Kerberos 票证 |
S4U2代理 |
4769:请求了 Kerberos 票证 |
横向移动 |
4688:已创建新进程4689:进程已退出4624:帐户已成功登录4625:帐户登录失败 |
DNSAdmin 公司 |
770:已加载 DNS 服务器插件 DLL541:范围 上的 serverlevelplugindll 设置 。已设置为 150:DNS 服务器无法加载或初始化插件 DLL |
DCSync |
4662: 对对象执行了作 |
密码喷洒 |
4625:帐户登录失败4771:Kerberos 预身份验证失败4648:尝试使用显式凭据登录 |
资源
- 如何管理与 CVE-2020-1472 关联的 Netlogon 安全通道连接的更改
- 保护 Active Directory:执行 Active Directory 安全审查
- ACTIVE DIRECTORY 安全评估清单
- 缓解网络安全事件的 ASD 策略
- 减少 Active Directory 攻击面
- 对 Windows Server 中跨信任的票证授予票证 (TGT) 委派的更改(AskPFEPlat 版本)
- ADV190006 |缓解不受约束的委派漏洞的指南
- ADV190023 |启用 LDAP 通道绑定和 LDAP 签名的 Microsoft 指南
- Active Directory:Ultimate Reading 集合
- 安全强化提示和建议
- 保护域控制器以提高 Active Directory 安全性
- 保护 Windows 工作站:开发安全基线
- 实施安全管理主机
- Active Directory 域服务的特权访问管理
- 很棒的 Windows 域强化
- 保护 Active Directory 的最佳实践
- Adversary Resilience 方法简介 — 第一部分
- Adversary Resilience 方法简介 — 第二部分
- 缓解哈希传递和其他凭据盗窃,版本 2
- 实施 Windows 10 和 Windows Server 2016 DoD 安全主机基线设置的配置指南
- 监控 Active Directory 是否存在感染迹象
- 通过跟踪事件日志检测横向移动
- Kerberos 黄金票证保护缓解 Active Directory 上的票证传递
- Microsoft 的“保护 Active Directory 的最佳实践”概述
- 通往王国的关键:限制 Active Directory 管理员
- 使用 5 个免费控件保护特权 AD 帐户
- 最常见的 Active Directory 安全问题以及您可以采取哪些措施来解决这些问题
- 事件转发指南
- 种植红森林:在通往 ESAE 的道路上改进 AD
- 检测 Kerberoasting 活动
- 信任的安全注意事项
- 高级威胁分析可疑活动指南
- 防止 Kerberos 黄金票证
- Windows 10 凭据盗窃缓解指南
- 使用简单的 WMI 命令检测 Pass-The- Ticket 和 Pass-The- Hash 攻击
- 分步部署 Microsoft 本地管理员密码解决方案
- Active Directory 安全最佳实践
- 最后:使用 Project VAST 部署和审核 LAPS,第 1 部分(共 2 部分)
- Windows 安全日志事件
- 演讲成绩单 BSidesCharm 检测难以捉摸的:Active Directory 威胁搜寻
- 防止 Mimikatz 攻击
- 了解“红森林” – 3 层 ESAE 和保护特权凭证的替代方法
- 保护 Microsoft Active Directory 联合服务器 (ADFS)
- Azure AD 和 ADFS 最佳做法:防御密码喷射攻击
- AD 阅读:Active Directory 备份和灾难恢复
- 十种工艺注入技术:常见和趋势工艺注入技术的技术调查
- 搜寻内存中 .NET 攻击
- Mimikatz 概述、防御和检测
- Trimarc Research:使用安全事件审计检测密码喷洒
- 寻找 Gargoyle 内存扫描规避
- 规划和开始使用 Windows Defender 应用程序控制部署过程
- 使用网络访问组防止横向移动
- 如何从响应到使用 Sysinternals Sysmon 进行搜寻
- Windows 事件转发指南
- 威胁缓解策略:第 2 部分 – 技术建议和信息
- 现代强化:强化应用程序和服务的经验教训
- ITSP.70.012 强化 Microsoft Windows 10 企业版指南
- 蓝队提示
- Active Directory 域安全技术实施指南 (STIG)
- 保护 Active Directory 联合身份验证服务的最佳实践
- 最常见的本地漏洞和错误配置
原文始发于微信公众号(网安探索员):Active Directory攻击杀伤链清单和工具列表- 2025
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论