1. 项目概述:从“攻”与“防”两个视角,构建AD域安全实战能力
如果你是一名网络安全从业者,或者正在向这个方向努力,那么“Windows Active Directory域渗透”这个课题,几乎是你无法绕开的必修课。Active Directory(AD)作为绝大多数企业内网的核心身份认证和资源管理服务,其安全性直接关系到整个内网的命脉。然而,现实情况是,很多企业的AD域部署了多年,却鲜有进行深度的安全评估,其脆弱性往往超乎想象。这个项目标题——“收藏不踩坑!100个Windows AD域渗透实战全流程+蓝队防护指南 附靶机资源”——精准地戳中了当前安全圈的一个核心痛点: 理论与实战的脱节 ,以及 攻防视角的割裂 。
市面上很多资料要么只讲攻击手法,让人知其然不知其所以然,甚至盲目使用工具导致“踩坑”;要么只讲防护理论,堆砌一堆安全策略却无法验证其有效性。这个项目的价值在于,它试图通过“全流程实战”和“蓝队防护”两个维度,构建一个完整的闭环学习路径。所谓“全流程”,意味着它不是零散的工具使用教学,而是模拟一个真实的攻击者视角,从信息收集、初始访问、权限提升、横向移动到持久化驻留,一步步拆解整个攻击链。而“蓝队防护指南”则站在防御者角度,针对攻击链的每一个环节,告诉你如何部署检测规则、如何加固配置、如何分析日志。最后附带的“靶机资源”,则是将理论落地的沙盒,让你在一个安全、合法的环境中反复锤炼技能,把“知识”真正转化为“肌肉记忆”。
我从事企业安全建设和红蓝对抗工作超过十年,处理过无数起由AD域漏洞引发的安全事件。我的体会是,AD域安全的学习,绝不能停留在背诵几个漏洞编号(如MS17-010, Zerologon)或者几个工具命令(如 mimikatz, BloodHound)的层面。你必须理解其背后的协议原理(如Kerberos, NTLM, LDAP)、架构设计(域树、林、信任关系)和常见的管理误配置(如委派、ACL、组策略)。只有这样,你才能在面对一个全新的、复杂的域环境时,快速形成清晰的攻击思路和防御策略。这个项目,正是为了帮助你搭建这样一个系统性的认知框架和实战能力而设计的。
2. 核心需求解析:为什么我们需要“不踩坑”的实战指南?
在深入技术细节之前,我们必须先厘清几个核心需求,这决定了我们学习路径的效率和深度。
2.1 规避“脚本小子”陷阱:从工具使用者到战术理解者
很多新手入门渗透测试,最容易陷入的误区就是“工具依赖症”。从搜索引擎或某些教程里找到一串命令,复制粘贴到靶机上,看到返回了“Administrator”权限就欢呼雀跃,但完全不知道这条命令做了什么、为什么能成功、在什么条件下会失败。这就是典型的“踩坑”前兆。例如,使用
sekurlsa::logonpasswords
抓取密码哈希,可能在打了特定补丁的系统上直接导致LSASS进程崩溃,触发蓝屏;盲目使用
Invoke-Mimikatz
等PowerShell脚本,可能因为执行策略限制或AMSI(反恶意软件扫描接口)的拦截而失败。
注意:在真实环境中,鲁莽地使用公开的、特征明显的攻击工具,极易触发终端防护(EDR)或安全信息与事件管理(SIEM)系统的警报,导致行动暴露。
因此,本项目的第一个核心需求,就是引导学习者 理解工具背后的原理 。我们会详细讲解像 mimikatz 这样的神器是如何与LSASS进程交互、如何解析内存中特定结构来提取凭据的。理解了这些,你才能学会如何绕过检测(例如使用纯C++重写功能模块、使用无文件技术)、如何选择更隐蔽的替代工具(例如使用Rubeus进行Kerberos票据操作),甚至在工具失效时,能够自己动手编写简单的PoC(概念验证代码)。这才是从“脚本小子”迈向专业安全研究员的必经之路。
2.2 构建系统性攻击视角:穿透内网的完整杀伤链
AD域渗透绝非单一漏洞的利用。它是一个系统工程,遵循着标准的攻击生命周期,即所谓的“杀伤链”。一个成熟的攻击者会像下棋一样,步步为营。本项目承诺的“全流程”,正是要覆盖这个完整链条:
-
侦察与信息收集
:如何在不触发警报的情况下,枚举域内的用户、计算机、组、组策略、信任关系?除了常用的
net命令和PowerView,我们还会深入LDAP查询语法,教你如何像管理员一样使用ldp.exe工具或AdFind这类专业工具进行深度信息挖掘。 - 初始访问 :如何获得第一个立足点?这可能通过钓鱼邮件、暴露的远程服务(如RDP、SMB)、Web应用漏洞,甚至是攻击一个配置不当的域内成员服务器。我们会分析不同入口点的特点及后续利用路径。
-
权限提升
:在获得一个普通域用户权限后,如何提升到本地管理员甚至域管理员?这里涉及大量的本地漏洞(如Windows内核漏洞)和域内特有的权限滥用漏洞,例如经典的
MS14-068、ZeroLogon,以及更常见的基于ACL的错误配置,如GenericAll、GenericWrite对用户或计算机对象的权限,使得攻击者可以修改其属性从而接管账户。 - 横向移动 :获得一台机器的权限后,如何向域内其他机器扩散?核心在于凭据的获取与重用。我们将详细讲解Pass-the-Hash(哈希传递)、Pass-the-Ticket(票据传递)、Overpass-the-Hash(哈希传递的Kerberos变种)等技术的原理、使用场景和检测方法。
- 持久化与数据窃取 :在完全控制域环境后,如何留下后门确保长期控制?如何悄无声息地导出域内所有用户的哈希(DCSync攻击)?我们会探讨黄金票据、白银票据、DCShadow攻击、Skeleton Key、SSP注入等高阶持久化技术,以及对应的防御和检测手段。
通过串联这整个流程,你将不再孤立地看待某个漏洞,而是能将其置于整个攻击链中,评估其实际价值和应用时机。
2.3 从红队视角切换到蓝队视角:真正的安全在于平衡
只会攻击不懂防御,是跛脚的;只会防御不懂攻击,是盲目的。这个项目的另一半价值在于“蓝队防护指南”。防御不是简单地关闭端口或安装杀毒软件,而是基于对攻击技术的深刻理解,构建纵深防御体系。
例如,攻击者常用
BloodHound
这款工具,通过解析AD的ACL关系,自动绘制出通往域管理员的最短攻击路径。一个优秀的蓝队成员,不仅要知道攻击者会用
BloodHound
,更应该自己定期使用
BloodHound
来审计自己的域环境,发现那些危险的权限配置(比如某个服务账户对域管理员组有
WriteDACL
权限),并在攻击者发现之前将其修复。这就是“以攻促防”的思想。
蓝队的工作还包括:
- 加固配置 :如何配置组策略(GPO)来限制NTLM的使用、强制启用SMB签名、设置受限的管理员模式(Restricted Admin Mode)以防范哈希传递?
- 日志监控 :在Windows安全日志、域控制器安全日志中,哪些事件ID(如4624登录、4625失败登录、4672特权使用、4768 Kerberos票据请求)是攻击行为的强指示器?如何编写SIEM检测规则(例如,检测短时间内来自同一IP的多次失败登录,或检测异常的Kerberos票据请求)?
- 终端防护 :如何配置Windows Defender ATP或其他EDR产品,以检测和阻止 mimikatz 等工具的运行、LSASS内存的非法读取?
- 应急响应 :当发现域内出现可疑活动时,第一步应该做什么?如何快速确定影响范围、遏制攻击并溯源?
本项目将穿插蓝队视角的讲解,在每个攻击技术环节之后,都会附上相应的防护建议、检测方法和加固步骤,让你真正具备“攻防一体”的思维和能力。
3. 环境搭建与靶机资源深度解析
“附靶机资源”是这个项目从理论走向实践的关键。没有靶机,所有知识都只是纸上谈兵。我们将详细解析如何搭建一个高度拟真的AD域实验环境,并介绍一些经典的公开靶机。
3.1 本地实验环境搭建:VMware/ESXi + Windows Server
对于系统性的学习,我强烈建议你在本地搭建一个可控的、可反复重置的AD域环境。这需要以下组件:
- 虚拟化平台 :VMware Workstation Pro/Player 或 ESXi 是首选,它们对Windows网络的支持最完善。VirtualBox也可用,但在复杂网络配置上可能遇到更多问题。
- 操作系统镜像 :你需要Windows Server的评估版镜像(如Windows Server 2016/2019/2022),用于创建域控制器(Domain Controller, DC)。同时需要Windows 10/11专业版或企业版镜像,用于创建域成员客户端和服务器。
- 网络配置 :这是关键。建议为所有实验虚拟机创建一个独立的“仅主机模式”虚拟网络。确保DC、成员服务器、客户端都在同一网段,且可以互相通信。DC需要设置静态IP。
搭建核心步骤:
-
创建域控制器
:安装Windows Server后,通过服务器管理器添加“Active Directory域服务”角色。然后将其提升为域控制器,创建一个新的林和根域(例如
lab.local)。这个过程会安装DNS服务,务必确保DC的DNS指向自己(127.0.0.1)。 -
创建域用户和组
:在DC上,使用“Active Directory用户和计算机”管理单元,创建组织单元(OU)、用户(如普通用户
john)、服务账户、以及安全组(如Domain Admins,IT Staff)。 - 加入域 :将你的Windows 10/11客户端和额外的Windows Server(作为成员服务器)加入到刚创建的域中。这需要在客户端修改网络设置,将DNS指向DC的IP,然后在系统属性中选择加入域。
- 配置组策略 :在DC上使用“组策略管理”控制台,可以创建和链接GPO,用于统一管理域内计算机的安全策略、软件设置等。这也是蓝队防护的主要战场。
实操心得:在本地环境搭建时,务必为每台虚拟机拍摄“快照”。尤其是在进行破坏性实验(如漏洞利用、权限提升)前,保存一个干净的状态。这能节省你大量重装系统的时间。
3.2 经典公开靶机推荐与实战价值分析
除了自建环境,互联网上有大量设计精良的渗透测试靶机,它们模拟了真实世界中的各种漏洞和错误配置。结合本项目“100个实战”的目标,以下是一些必刷的、与AD域强相关的经典靶机系列:
-
HackTheBox (HTB)
:这是一个在线的渗透测试平台,需要邀请码注册。其上的“Active Directory”系列机器(如
Active,Forest,Sauna,Resolute等)非常出名。它们模拟了复杂的域环境,涉及Kerberoasting、AS-REP Roasting、ACL滥用、域信任攻击等多种技术。HTB靶机的特点是场景贴近实战,难度梯度合理,是进阶学习的绝佳选择。 -
VulnHub
:提供离线虚拟机镜像下载。虽然近年更新放缓,但仍有大量经典靶机。
-
DC系列
:如
DC-1到DC-9,是一个著名的系列,每台靶机专注于不同的漏洞和提权技术,非常适合新手入门,建立信心。 -
其他独立靶机
:如
Kioptrix系列(偏向基础漏洞)、Mr-Robot、FristiLeaks等,虽然不完全是AD域核心,但能锻炼基础的信息收集和漏洞利用能力。
-
DC系列
:如
-
TryHackMe
:另一个优秀的在线学习平台,比HTB更注重教学引导。它有完整的“Active Directory”学习路径(Learning Path),包含多个房间(Room),如
Attacktive Directory、Breaching Active Directory、Enumerating AD等,从零开始手把手教你AD渗透,非常适合初学者。 - PentesterLab :提供基于ISO的练习,其“Active Directory”相关练习质量很高,侧重于对协议(如LDAP, Kerberos)本身的理解和利用。
如何高效利用靶机? 不要一上来就找“攻略”(Write-up)。我的建议流程是:
- 信息收集 :用nmap进行端口扫描,用enum4linux、ldapsearch等工具枚举SMB、LDAP服务。
- 漏洞分析与利用 :根据收集到的信息(软件版本、共享目录、用户列表等),思考可能的攻击路径。
- 尝试与失败 :大胆尝试各种技术,即使失败,记录下错误信息。
- 深入研究 :当卡住超过2小时,可以适度参考Write-up的思路,但不要直接复制命令。理解对方为什么选择这条路径。
- 复盘与总结 :攻克后,详细记录完整的攻击链,并思考:蓝队如何能发现并阻止这次攻击?有哪些日志可以监控?如何加固这个配置?
通过反复练习这“100个实战”场景(可以是100台不同的靶机,也可以是同一台靶机的多种攻击方法),你将能形成强大的问题解决肌肉记忆。
4. 攻击全流程核心技术点拆解(红队视角)
现在,我们进入最核心的部分,沿着攻击链拆解AD域渗透中的关键技术点。我会尽量用通俗的类比和实操命令来解释。
4.1 初始访问:找到那扇虚掩的门
获得域内第一个立足点的方式多种多样,这里列举几种常见且与AD强相关的:
-
密码喷洒攻击
:针对域用户登录(如RDP、OWA、VPN登录门户)。攻击者获取一个用户名单(通常通过LDAP匿名查询或信息泄露获得),然后尝试用几个常用或默认密码(如
CompanyName123,SeasonYear!)去批量登录。这与暴力破解不同,它针对多个用户用少数密码,旨在规避账户锁定策略。-
工具
:
DomainPasswordSpray(PowerShell),CrackMapExec(-u用户列表-p密码)。 - 蓝队防护 :启用并合理配置账户锁定策略;强制使用强密码;监控同一IP对多个账户的登录失败事件。
-
工具
:
-
利用暴露的服务
:
-
SMB
:如果服务器开启了SMB且存在弱口令或空口令,可直接连接。
net use \\IP\IPC$ /user:username password -
LDAP
:匿名绑定有时能获取大量信息。
ldp.exe连接后直接绑定,或使用ldapsearch -x -H ldap://DC_IP -b "dc=lab,dc=local"。 - Web应用漏洞 :如SQL注入打到后端数据库,而数据库以域用户身份运行,可能获得该用户的权限。
-
SMB
:如果服务器开启了SMB且存在弱口令或空口令,可直接连接。
- 鱼叉式钓鱼 :制作包含恶意宏的Office文档或链接,诱骗域用户点击,从而执行Payload。如果用户是本地管理员,则可直接获得高权限。
4.2 权限提升:从“平民”到“国王”
这是AD渗透中最精彩也最考验技术的环节。
-
本地提权
:在获得的立足点上,寻找系统漏洞提升到本地
SYSTEM或管理员权限。常用工具如WinPEAS,Seatbelt,PowerUp可以自动化检查系统配置、服务、计划任务、注册表等存在的弱点。-
服务路径漏洞
:如果一个以
SYSTEM运行的服务,其可执行文件路径包含空格且用户对该路径有写权限,就可以通过“劫持”的方式提权。 - AlwaysInstallElevated :如果组策略启用了此设置,任何MSI文件都会以高权限安装。
-
内核漏洞
:如
CVE-2021-36934(HiveNightmare),CVE-2021-1675(PrintNightmare)。需要下载对应的提权EXP。
-
服务路径漏洞
:如果一个以
-
域内提权
:这才是AD的核心。核心思想是
滥用ACL和Kerberos协议
。
-
Kerberoasting
:攻击者可以请求任何配置了SPN(服务主体名称)的服务账户的Kerberos服务票据(TGS)。这些票据是使用服务账户的密码哈希加密的。攻击者可以将其离线破解,从而获得服务账户的明文密码。许多服务账户密码强度很低。
# 使用 Rubeus 请求所有SPN的票据 Rubeus.exe kerberoast /outfile:hashes.txt # 使用 hashcat 破解 hashcat -m 13100 hashes.txt wordlist.txt -
AS-REP Roasting
:如果域用户设置了“不需要预认证”(
Do not require Kerberos preauthentication),攻击者可以直接为其请求AS-REP响应,其中包含用该用户密码加密的数据,可被离线破解。 -
ACL滥用
:这是最普遍也最危险的提权方式。使用
BloodHound可以直观地看到。例如:-
GenericAll权限:对用户A有该权限,可以直接修改A的密码,从而以A的身份登录。 -
WriteDACL权限:可以修改对象的安全描述符,给自己添加任意权限。 -
ForceChangePassword权限:可以强制重置用户密码。 - 资源委派攻击 :如果某个机器账户被配置了“基于资源的约束委派”,攻击者控制了该机器,就可以伪造票据来模拟任何用户访问该机器上的服务。
-
-
Kerberoasting
:攻击者可以请求任何配置了SPN(服务主体名称)的服务账户的Kerberos服务票据(TGS)。这些票据是使用服务账户的密码哈希加密的。攻击者可以将其离线破解,从而获得服务账户的明文密码。许多服务账户密码强度很低。
4.3 横向移动:在域内“漫游”
一旦有了一个高权限账户(本地管理员或域用户),就可以开始横向移动。
-
凭据传递攻击
:
-
Pass-the-Hash
:无需破解密码哈希,直接使用NTLM哈希进行身份验证。
CrackMapExec和Impacket套件中的psexec.py,smbexec.py都支持。crackmapexec smb 192.168.1.0/24 -u Administrator -H <NTLM_HASH> --local-auth impacket-psexec DOMAIN/Administrator@TARGET_IP -hashes :<NTLM_HASH> -
Pass-the-Ticket
:在Kerberos环境中,直接使用窃取或伪造的票据(TGT或TGS)进行认证。工具如
Rubeus,Mimikatz。
-
Pass-the-Hash
:无需破解密码哈希,直接使用NTLM哈希进行身份验证。
-
WMI与WinRM
:Windows内置的远程管理工具。如果目标开启了WinRM(HTTP 5985 / HTTPS 5986),可以使用
Enter-PSSession或evil-winrm进行远程PowerShell连接。 -
计划任务与服务
:在高权限下,可以在远程机器上创建计划任务或服务来执行命令。
sc.exe和schtasks.exe是常用命令。
4.4 持久化与域控夺取:成为“影子管理员”
最终目标是完全控制域控制器。
-
DCSync攻击
:模拟域控制器从其他DC同步数据的行为,向域控制器请求指定用户的密码哈希。需要拥有
Replicating Directory Changes和Replicating Directory Changes All权限(通常域管理员组拥有)。Mimikatz可以执行此攻击。
获得域管理员哈希后,就可以在任何地方(无需在域内)创建黄金票据。mimikatz # lsadump::dcsync /domain:lab.local /user:Administrator -
黄金票据
:利用域控的KRBTGT账户的哈希(通过DCSync获得),伪造一个拥有任意权限的Kerberos TGT票据。这个票据可以访问域内任何服务,且有效期可以设置得非常长(通常10年)。KRBTGT账户的密码极少更改,因此一旦获得其哈希,域将长期处于风险之中。
mimikatz # kerberos::golden /domain:lab.local /sid:S-1-5-21-... /rc4:<KRBTGT_NTLM_HASH> /user:fakeadmin /ptt - 白银票据 :伪造针对特定服务的TGS票据。它不需要与KDC(域控)交互,因此更难检测,但只能访问特定服务。
- 域控后门 :在域控上植入Web Shell、创建隐藏账户、安装Rootkit,或者更隐蔽地,在组策略中注入启动脚本,使得所有域内机器在下次刷新组策略时都会执行你的后门。
5. 蓝队防护与检测指南(防御者视角)
理解了攻击,防御才能有的放矢。以下是一些关键的防护策略和检测思路。
5.1 基础加固:筑牢第一道防线
-
最小权限原则
:
- 严格限制域管理员组的成员数量。
- 为日常管理任务创建“工作站管理员”、“服务器管理员”等自定义权限组,避免直接使用域管理员登录普通工作站。
-
定期审计用户和组的权限,使用
BloodHound或AD ACL Scanner等工具发现危险的ACL配置。
-
密码策略
:
- 强制使用长且复杂的密码(15位以上)。
- 为服务账户设置独特的、高强度的密码,并定期更换。
- 启用“受保护的用户”组,其成员强制使用Kerberos AES加密,并禁用NTLM和弱加密套件。
-
攻击面减少
:
- 在网络层面,限制域控制器不必要的端口暴露(如135, 139, 445, 389, 636)。
- 禁用SMBv1,启用SMB签名。
- 限制NTLM的使用,在组策略中配置“网络安全:限制NTLM”策略。
- 禁用LLMNR和NetBIOS,防止基于名称解析的欺骗攻击。
5.2 高级监控与检测:让攻击行为无处遁形
日志是蓝队的眼睛。你需要集中收集和分析域内所有关键系统的日志(Windows安全日志、Sysmon日志、DNS日志等)。
-
监控异常登录
:
- 事件ID 4624/4625 :成功/失败的登录。关注登录类型(如网络登录3,批处理4,服务5,远程交互10)。短时间内大量4625失败后跟一个4624成功,可能是暴力破解成功。
- 事件ID 4768/4769 :Kerberos TGT/TGS请求成功。监控票据加密类型(0x17为RC4,较弱;0x12为AES256)。大量RC4加密的请求可能预示着Kerberoasting攻击。
- 事件ID 4672 :特殊权限分配。监控非管理员用户的特权登录。
-
监控凭据访问与提权
:
-
事件ID 4688
:进程创建。配合Sysmon(事件ID 1),可以记录进程的父进程、命令行、哈希值。监控
lsass.exe的派生进程或对其的远程访问。 -
Sysmon事件ID 10
:进程访问。监控对
lsass.exe进程的PROCESS_VM_READ访问,这是 mimikatz 类工具的典型行为。 - 事件ID 4104 :PowerShell脚本块日志记录。可以记录PowerShell执行的代码内容,是检测恶意PowerShell脚本的利器。
-
事件ID 4688
:进程创建。配合Sysmon(事件ID 1),可以记录进程的父进程、命令行、哈希值。监控
-
监控横向移动与持久化
:
- 事件ID 5140 :网络共享访问。监控管理员账户访问非管理共享。
- 事件ID 4697 :服务创建。监控异常服务的安装。
-
事件ID 4688
:监控
schtasks.exe,sc.exe,wmic.exe,powershell.exe等被用于远程命令执行的进程创建事件,特别是其命令行参数。
5.3 部署安全工具与定期审计
- 终端检测与响应 :部署EDR产品,它们具备行为检测能力,能识别进程注入、LSASS内存读取、可疑的PowerShell活动等。
- 特权访问管理 :实施PAM方案,对域管理员等高权限账户的访问进行审批、录制和临时密码管理。
- 定期红队演练 :最好的检测就是攻击自己。定期聘请或组织内部红队进行模拟攻击,检验你的防御体系是否有效,并根据发现的问题持续改进。
-
使用攻击模拟工具
:如
Atomic Red Team、CALDERA或MITRE ATT&CK Evaluations中的工具,自动化运行攻击技术,测试你的检测规则是否能够触发警报。
6. 实战案例串联:一次完整的内部渗透模拟
让我们用一个虚构但典型的场景,将上述所有技术点串联起来。
场景
:你通过外网渗透,获得了一台暴露在公网的Web服务器(
WEB01
)的权限,发现它已加入内网域
corp.com
。
步骤1:信息收集(立足点)
在
WEB01
上,以获得的权限(假设是本地用户)执行:
whoami /all
net user /domain
net group "domain computers" /domain
net group "domain admins" /domain
发现当前用户是域用户
CORP\web_svc
。同时,通过
nltest /dclist:corp.com
找到域控制器为
DC01.corp.com
。
步骤2:权限提升(本地)
上传
WinPEAS
或运行
PowerUp
,发现
WEB01
上有一个以
SYSTEM
运行的服务
VulnerableService
,其二进制路径
C:\Program Files\MyApp\service.exe
中,你对
C:\Program Files\MyApp\
目录有写权限。你将一个恶意的exe重命名为
service.exe
替换原文件,重启服务后获得
SYSTEM
权限。
步骤3:凭据窃取(横向移动准备)
以
SYSTEM
权限运行
mimikatz
:
privilege::debug
sekurlsa::logonpasswords
成功抓取到多个用户的NTLM哈希,其中包括一个域管理员
CORP\admin_john
曾经在此服务器上登录过留下的凭据。
步骤4:横向移动(哈希传递)
使用
CrackMapExec
,利用获得的
admin_john
的哈希,尝试访问内网其他服务器:
crackmapexec smb 10.10.10.0/24 -u admin_john -H <admin_john_NTLM_HASH> --local-auth
发现文件服务器
FS01
允许访问。
步骤5:权限提升(域内 - Kerberoasting)
在
FS01
上,你发现一个服务账户
CORP\sql_svc
运行着SQL Server。你使用
Rubeus
请求其服务票据并导出破解:
Rubeus.exe kerberoast /user:sql_svc /outfile:sql_tgs.hash
用
hashcat
破解后,获得了
sql_svc
的弱密码
Password123!
。
步骤6:夺取域控(DCSync)
通过查询,发现
sql_svc
账户因为历史原因被误添加到
Domain Admins
组。你使用其凭据,在任意已加入域的机器上执行DCSync攻击,获取了
krbtgt
账户的哈希。
mimikatz # lsadump::dcsync /domain:corp.com /user:krbtgt
步骤7:持久化(黄金票据)
最后,你使用
krbtgt
哈希生成一张黄金票据,注入内存。从此,你可以在任何时间、从任何地方(即使不在域内),以任何用户身份访问域内任何资源,完全控制了整个域。
mimikatz # kerberos::golden /domain:corp.com /sid:S-1-5-21-... /rc4:<KRBTGT_HASH> /user:backdoor_admin /ptt
蓝队视角的检测点 :
-
步骤1/2
:
WEB01上异常的服务二进制文件替换行为(Sysmon事件ID 11),以及lsass.exe被非系统进程访问(Sysmon事件ID 10)。 -
步骤3
:从
WEB01发起的、使用admin_john哈希的SMB登录(事件ID 4624,登录类型3,NTLM认证),且登录源IP是WEB01,这对于管理员账户是不寻常的。 -
步骤5
:短时间内,来自
FS01或攻击者机器的大量Kerberos TGS请求(事件ID 4769),且请求的加密类型为RC4。 -
步骤6
:来自非域控制器的、对
krbtgt账户的DCSync复制请求(事件ID 4662)。
这个案例清晰地展示了攻击链的递进,以及每个环节蓝队可以部署的检测策略。防御的本质,就是尽可能地在攻击链的早期环节(如初始访问、权限提升)发现并阻断它。
7. 工具链与资源推荐
工欲善其事,必先利其器。以下是我在多年实战中积累和筛选出的高效工具链,涵盖红蓝双方。
7.1 红队核心工具集
-
信息收集
:
-
PowerView:PowerShell脚本,用于AD信息枚举的瑞士军刀。 -
BloodHound/SharpHound:图形化展示AD攻击路径的神器。SharpHound是数据收集器。 -
AdFind:命令行下的LDAP查询工具,速度快,功能强。 -
CrackMapExec:网络范围扫描、凭证测试、执行命令的多功能工具。
-
-
漏洞利用与提权
:
-
Mimikatz:凭据提取和Kerberos操作的不二法门。需注意免杀。 -
Rubeus:C#编写的Kerberos操作工具,功能强大,常用于票据请求、传递、伪造。 -
Impacket:Python脚本集合,提供了大量协议(SMB, MSSQL, LDAP, Kerberos)的客户端实现,用于远程命令执行、哈希传递等,如psexec.py,smbexec.py,secretsdump.py。 -
WinPEAS/Seatbelt/PowerUp:本地提权信息枚举脚本。
-
-
横向移动
:
-
Impacket套件中的相关脚本。 -
evil-winrm:基于WinRM的Shell。 -
PsExec(微软官方,但特征明显)。
-
-
C2与后渗透框架
:
-
Cobalt Strike:商业软件,业界标杆。 -
Metasploit Framework:开源经典,模块丰富。 -
Sliver:新兴的Go语言开源C2,对抗性较强。
-
7.2 蓝队核心工具集
-
安全评估与审计
:
-
BloodHound:同样适用于蓝队进行内部攻击路径审计。 -
PingCastle:免费的Windows域安全评估工具,能快速生成详细的风险报告。 -
ADRecon:PowerShell脚本,收集AD信息并生成报告。
-
-
日志分析与SIEM
:
-
Elastic Stack:开源方案,使用Winlogbeat收集Windows事件,在Elasticsearch中存储,用Kibana进行分析和可视化。 -
Splunk:商业方案,功能强大,社区版有一定免费额度。 -
Microsoft Sentinel:云原生的SIEM/SOAR平台,与Azure/Microsoft 365生态集成好。
-
-
终端防护与EDR
:
-
Microsoft Defender for Endpoint:微软自家方案,与Windows集成度极高,能力已属一流。 -
CrowdStrike Falcon、Carbon Black等第三方商业EDR。
-
-
蜜罐与欺骗技术
:
-
CanaryTokens:在敏感位置(如共享目录)部署虚假文件,一旦被访问即告警。 -
AD蜜罐账户:创建看似高权限但实际被严密监控的“诱饵”账户。
-
7.3 持续学习资源
-
博客与社区
:
ired.team,pentestlab.blog,harmj0y.net,以及Twitter上关注活跃的红队研究员。 - 书籍 :《The Hacker Playbook 3》、《Advanced Persistent Threat Hacking》、《Windows Internals》。
- 认证 :OSCP(偏重基础)、OSEP(偏重AD和免杀)、CRTP(专注于AD攻击)都是非常有价值的实战认证。
学习AD域安全是一场马拉松,而不是冲刺。它需要你不断地在靶机上练习,在脑海中推演攻防,在实践中积累经验。这个“100个实战”的项目,为你提供了一个系统性的路线图和丰富的训练弹药。记住,最关键的不是记住那100个命令,而是理解其背后的100个“为什么”,并培养出能够应对第101个新场景的思维能力。从搭建第一个靶机环境开始,动手去做,遇到问题就去深究,你在这条路上的每一步,都会让你离成为一名真正的域安全专家更近一步。

279

被折叠的 条评论
为什么被折叠?



