关联漏洞
标题:
Fortinet FortiOS 格式化字符串错误漏洞
(CVE-2024-23113)
描述:Fortinet FortiOS是美国飞塔(Fortinet)公司的一套专用于FortiGate网络安全平台上的安全操作系统。该系统为用户提供防火墙、防病毒、IPSec/SSLVPN、Web内容过滤和反垃圾邮件等多种安全功能。 Fortinet FortiOS存在格式化字符串错误漏洞,该漏洞源于使用外部控制的格式字符串,允许攻击者通过特制数据包执行未经授权的代码或命令。
介绍
# CVE-2024-23113
The script is designed to detect CVE-2024-23113, which is a format string vulnerability in the FortiGate FGFM service (FortiGate to FortiManager protocol) running on TCP port 541. The vulnerability occurs because an attacker can control a format string, which could lead to Remote Code Execution (RCE) or other unintended behaviors. The FGFM service allows communication between FortiGate devices and FortiManager for configuration management, and an unpatched version has improper handling of input, making it susceptible to a format string exploit.
How the Script Works
Network Connection Setup:
The script first sets up an SSL/TLS connection to the target on port 541.
It uses the ssl.SSLContext object with certificate verification disabled to establish the connection, as the device might have self-signed certificates.
Payload Construction:
Once connected, the script crafts a malicious payload using a format string exploit (authip=%n). The %n directive tells the system to write the number of bytes output so far into a variable, which can potentially lead to memory corruption.
The crafted payload is sent to the target through the established connection.
Detection Logic:
The script then checks the target's behavior in response to the payload.
If the connection is abruptly terminated and an SSL alert is raised, it suggests that the target is vulnerable because it triggered the format string vulnerability protection mechanisms (e.g., _FORTIFY_SOURCE in glibc).
If the connection remains open, the target is likely patched.
Usage Instructions
Run the Script:
Run the script with Python 3 by executing:
sh
python check_vulnerability.py
Enter Hostname/IP:
You will be prompted to enter a hostname or IP address to check if it is vulnerable.
If you want to stop, type exit.
Output:
If the target is vulnerable, the script will output:
[!] Warning: <hostname> is vulnerable!
If the target is patched, it will output:
[+] <hostname> appears to be patched.
Requirements
Python 3 installed on the machine running the script.
Network access to the target device, ensuring port 541 is open.
The FGFM service must be running on the target device.
文件快照
[4.0K] /data/pocs/f8594fb3aac936b766b01a39a7a90855490a4512
├── [2.2K] POC-CVE-2024-23113.py
└── [2.3K] README.md
0 directories, 2 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。