HTB: Haze
Box信息
名称: Haze
发布日期: 2025年3月29日
退役日期: 2025年6月28日
操作系统: Windows
基础分数: 困难 [40]
创建者: EmSec
侦察
初始扫描
Nmap发现30个开放的TCP端口,包括典型的Windows域控制器端口(如53、88、135、139、389、445)以及Splunk服务端口(8000、8088、8089)。域名为haze.htb,主机名为dc01。
SMB - TCP 445
匿名或访客身份验证无效,需后续获取凭据后重新检查。
Splunk
背景
Splunk Enterprise是一个安全信息和事件管理(SIEM)平台,用于处理、索引和搜索日志数据。Haze上的Splunk服务运行在端口8000(Web访问)、8088(HTTP事件收集器)和8089(REST API)。
身份验证为paul.taylor
CVE-2024-36991
Splunk Enterprise在Windows版本低于9.2.2时存在目录遍历漏洞(CVE-2024-36991),允许通过/en-US/modules/messaging/
端点读取任意文件。利用路径/en-US/modules/messaging/C:../C:../C:../C:../C:../etc/passwd
成功读取Splunk的密码文件。
文件系统枚举
通过目录遍历漏洞读取多个配置文件:
etc/system/local/authentication.conf
:包含LDAP绑定用户Paul Taylor的加密密码。etc/system/local/server.conf
:包含多个加密密钥。etc/auth/splunk.secret
:获取加密密钥文件。
恢复密码
使用splunksecrets工具解密加密数据:
- LDAP绑定密码:
Ld@p_Auth_Sp1unk@2k24
- 其他密钥:
changeme
和password
验证密码对用户paul.taylor
有效,但该用户无法通过WinRM连接。
Shell作为mark.adams
枚举
SMB共享
paul.taylor可访问默认的AD共享(如ADMIN$、C$、IPC$、NETLOGON、SYSVOL),但无特别内容。
SMB用户枚举
通过RID暴力破解发现域用户列表,包括mark.adams
、edward.martin
、alexander.green
等。
Bloodhound
使用rusthound-ce收集域信息,但paul.taylor权限有限,数据不完整。
替代用户枚举
通过添加机器账户(利用MAQ=10)获取完整用户列表。
密码喷洒
使用已知密码(Ld@p_Auth_Sp1unk@2k24
、changeme
、password
)对域用户进行喷洒,发现mark.adams
共享相同密码。
Shell
mark.adams可通过WinRM连接,获取用户shell。
身份验证为Haze-IT-Backup
枚举
文件系统
mark.adams的主目录为空,但发现C:\Backups
目录,无访问权限。
Bloodhound
重新收集Bloodhound数据,mark.adams是gMSA_Managers
组成员。
gMSA枚举
发现gMSA账户Haze-IT-Backup$
,仅Domain Admins组可检索密码。通过ACL分析,gMSA_Managers
组有WriteProperty
权限于msDS-GroupMSAMembership
属性。
恢复凭据
将mark.adams
添加到允许检索密码的 principals,使用netexec获取gMSA密码的NTLM哈希:4de830d1d58c14e241aff55f82ecdba1
。
Shell作为edward.martin
枚举
Haze-IT-Backup对Support_Services
组有WriteOwner
权限。
控制Support_Services
添加Haze-IT-Backup到组,并赋予GenericAll
权限。重新运行Bloodhound,发现Support_Services
对edward.martin
有控制权限。
Shadow凭据
使用certipy为edward.martin设置Shadow凭据,获取NTLM哈希:09e0b3eeb2e7a6b0d419e9ff8f4d91af
,并通过WinRM获取shell。
Shell作为alexander.green
枚举
查找备份
edward.martin是Backup_Reviewers
组成员,可访问C:\Backups\Splunk\splunk_backup_2024-08-06.zip
。
分析备份
解压备份文件,在authentication.conf
中发现加密密码($1$YDz8WfhoCWmf6aTRkA+QqUI=
),使用旧版splunk-secrets解密得密码:Sp1unkadmin@2k24
。
Splunk Web
使用密码以admin身份登录Splunk Web。
恶意应用
上传恶意Splunk应用(反向shell),触发执行后获取alexander.green的shell。
Shell作为System
枚举
alexander.green有SeImpersonatePrivilege
权限。
GodPotato
使用GodPotato-NET4.exe提权至SYSTEM,获取root.txt。
总结
通过利用Splunk的目录遍历漏洞,逐步横向移动和权限提升,最终完全控制Windows域控制器。