HTB: Haze
Haze靶机围绕Splunk Enterprise实例构建。首先通过利用Splunk中的目录遍历/文件读取漏洞(CVE-2024-36991)泄露包含加密密码的配置文件,导出密钥并解密后,发现用户密码被重复使用。该用户权限有限,但通过密码喷洒技术发现第二个用户使用相同密码。该用户可滥用Windows ACL获取服务账户的gMSA密码,进而为下一个用户设置Shadow Credential。随后访问Splunk备份存档,发现适用于Splunk网站管理员账户的旧密码。通过上传恶意Splunk应用获取下一个用户的shell,该shell具有SeImpersonatePrivilege权限,最终利用GodPotato实现系统提权。
初始扫描
nmap发现30个开放TCP端口,包括Windows域控制器常见端口及Splunk服务端口(8000、8088、8089)。域名为haze.htb,主机名为dc01。
Splunk漏洞利用(CVE-2024-36991)
Splunk Enterprise 9.2.1存在目录遍历漏洞,允许通过特定路径(如/en-US/modules/messaging/C:../C:../C:../C:../C:../etc/passwd)读取任意文件。利用此漏洞获取以下关键文件:
etc/passwd:包含用户哈希etc/system/local/authentication.conf:包含LDAP绑定信息及加密密码etc/system/local/server.conf:包含加密密钥etc/auth/splunk.secret:解密密钥
使用splunksecrets工具解密密码,获得用户paul.taylor的密码Ld@p_Auth_Sp1unk@2k24。
横向移动
通过密码喷洒发现用户mark.adams使用相同密码,并通过WinRM获取shell。枚举发现mark.adams是gMSA_Managers组成员,可修改gMSA账户(Haze-IT-Backup$)的密码检索权限,获取其NTLM哈希。
权限提升
利用Haze-IT-Backup$账户的权限,通过Shadow Credentials为edward.martin设置密钥凭据,获取其NTLM哈希并通过WinRM登录。edward.martin是Backup_Reviewers组成员,可访问C:\Backups\Splunk\splunk_backup_2024-08-06.zip备份文件。
从备份文件中解密出alexander.green的旧密码Sp1unkadmin@2k24,用于登录Splunk Web管理员账户。上传恶意Splunk应用获取alexander.green的shell,该shell具有SeImpersonatePrivilege权限。
系统提权
使用GodPotato利用SeImpersonatePrivilege权限获取SYSTEM shell,最终读取root.txt标志。