安全矩阵

 找回密码
 立即注册
搜索
查看: 783|回复: 0

CVE-2023-42820:JumpServer密码重置漏洞

[复制链接]

417

主题

417

帖子

2391

积分

金牌会员

Rank: 6Rank: 6

积分
2391
发表于 2023-11-12 14:03:42 | 显示全部楼层 |阅读模式
E1gHt Timeline Sec 2023-11-09 19:31 发表于上海

0x01 简介

JumpServer开源堡垒机是一款运维安全审计系统产品,提供身份验证、授权控制、账号管 理、安全审计等功能支持,帮助企业快速构建运维安全审计能力。JumpServer开源堡垒机 通过企业版或者软硬件一体机的方式,向企业级用户交付开源增值的运维安全审计解决方 案。

0x02 漏洞概述

漏洞编号:CVE-2023-42820

漏洞的核心是随机数种子泄露导致的,未授权的攻击者可以利用该漏洞推算出没有开启多因子验证(MFA)的账号的“重置密码Token”,进而修改该账号的密码。

0x03 影响版本

受影响的版本:v2.24 - v3.6.4

0x04 环境搭建

使用vulhub中的docker搭建

  1. cd vulhub/jumpserver/CVE-2023-42820
  2. docker-compose up -d
复制代码

0x05 漏洞复现

首先,在浏览器第一个Tab中打开忘记密码页面:

http://your-ip:8080/core/auth/password/forget/previewing/


此时页面上将有一个验证码


  • 如果验证码中包含数字10,则请刷新验证码,因为我们使用的脚本暂时无法处理数字10
  • 如果验证码中不包含数字10,则右键菜单中将该验证码在新Tab下打开

新Tab中验证码的URL类似于http://your-ip:8080/core/auth/captcha/image/f6653774c319e128842bc9072180922e5ee21819/,其中包含该验证码的key(一串sha1 hash值),也就是后面伪随机数使用的种子,记录下这个值作为seed

返回第一个Tab,刷新页面。刷新页面的目的是,不使用包含“种子”的验证码,因为这个种子将在后续步骤中使用到。


刷新页面后正确填写用户名和验证码后提交,跳转到验证码验证页面。

此时这个页面的URL类似于http://localhost:8080/core/auth/password/forgot/?token=mf3L8YDLBK21Av9fq4mUpASU6q9ernjgcuWQ,其中包含一个随机的token值,记录下这个值作为token

使用vulhub中的脚本

https://github.com/vulhub/vulhub/blob/master/jumpserver/CVE-2023-42820/poc.py

管理员邮箱账号默认为admin@mycomany.com

  1. python3 poc.py -t http://127.0.0.1:8080/ --email admin@mycomany.com --seed f6653774c319e128842bc9072180922e5ee21819 --token mf3L8YDLBK21Av9fq4mUpASU6q9ernjgcuWQ
复制代码

输入验证码452361,重置密码成功

成功登录

0x06 修复方式

升级到安全版本:

v2版本:>= v2.28.19

v3版本:>= v3.6.5


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-9-8 08:58 , Processed in 0.013222 second(s), 20 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表