利用Splunk漏洞与Windows ACL提权攻破Haze靶机

本文详细分析了如何通过Splunk Enterprise的目录遍历漏洞(CVE-2024-36991)获取初始访问权限,利用密码喷洒技术横向移动,通过gMSA账户和Shadow Credentials提升权限,最终使用GodPotato实现系统级提权。

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标志。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计