
Erkennt die Format-String-Sicherheitslücke CVE-2024-23113 im FortiGate FGFM-Dienst über eine SSL-Verbindung auf Port 541, indem manipulierte Payloads gesendet werden, um die Anfälligkeit für Remote-Code-Ausführung zu überprüfen.
Das Skript wurde entwickelt, um CVE-2024-23113 zu erkennen, eine Format-String-Schwachstelle im FGFM-Dienst von FortiGate (FortiGate-zu-FortiManager-Protokoll), der auf TCP-Port 541 läuft. Die Schwachstelle tritt auf, weil ein Angreifer einen Format-String kontrollieren kann, was zu Remote-Code-Ausführung (RCE) oder anderen unbeabsichtigten Verhaltensweisen führen kann. Der FGFM-Dienst ermöglicht die Kommunikation zwischen FortiGate-Geräten und FortiManager zur Konfigurationsverwaltung, und eine ungepatchte Version behandelt Eingaben nicht ordnungsgemäß, was sie anfällig für einen Format-String-Exploit macht.
Netzwerkverbindungsaufbau:
ssl.SSLContext-Objekt mit deaktivierter Zertifikatsprüfung, um die Verbindung herzustellen, da das Gerät möglicherweise selbstsignierte Zertifikate besitzt.Payload-Konstruktion:
authip=%n). Die %n-Direktive weist das System an, die Anzahl der bisher ausgegebenen Bytes in eine Variable zu schreiben, was möglicherweise zu Speicherkorruption führen kann.Erkennungslogik:
_FORTIFY_SOURCE in glibc) ausgelöst wurden.Skript ausführen: Führen Sie das Skript mit Python 3 aus, indem Sie Folgendes eingeben:
python check_vulnerability.py
Hostname/IP eingeben:
exit ein.Ausgabe:
Wenn das Ziel verwundbar ist, gibt das Skript Folgendes aus:
[!] Warnung: <hostname> ist verwundbar!
Wenn das Ziel gepatcht ist, wird Folgendes ausgegeben:
[+] <hostname> scheint gepatcht zu sein.