Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
FortiLPE — Exploit d'élévation de privilèges local pour CVE-2025-62676. | Kitploit
Outils/GitHubGitHub/spaceplant/fortilpe
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationMouvement LatéralPost-ExploitationDéveloppement de Charges UtilesExploitation de Binaires
GitHubspaceplant/fortilpe

FortiLPE

Exploit d'élévation de privilèges local pour CVE-2025-62676.

Voir le dépôt
413il y a 6 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 →
Partager

Description

Exploit PoC d'escalade de privilèges locaux pour CVE-2025-62676 / EUVD-2025-206993 qui cible FortiClient VPN sur Windows. Exécute une charge utile dans le contexte de SYSTEM depuis un contexte utilisateur normal via une écriture arbitraire de fichier XML. Le PoC a été testé contre FortiClient version 7.4.0 sur Windows 11 Pro. Les versions suivantes sont vulnérables selon le fournisseur :

  • 7.4.0 - 7.4.4
  • 7.2.0 - 7.2.12
  • 7.0 (all versions)

La vulnérabilité a été signalée via Trend Micro Zero Day Initiative : https://www.zerodayinitiative.com/advisories/ZDI-26-115/

Avis officiel de Fortinet : https://fortiguard.fortinet.com/psirt/FG-IR-25-661

Dépendances

  • OffWinLib est utilisé comme sous-module Git.
  • Windows Implementation Libraries (WIL) via le package NuGet Microsoft.Windows.ImplementationLibrary. S'il n'est pas installé automatiquement lors de la compilation, exécutez nuget restore.

Comment compiler

  1. Clonez le dépôt avec git clone --recursive.
  2. La charge utile par défaut exécute cmd /c whoami > C:\whoami.txt. Pour la modifier, modifiez dllmail.cpp dans le projet ExecDLL.
  3. Compilez la solution FortiLPE.

Comment utiliser

  1. Exécutez FortiLPE.exe.
  2. Si la charge utile n'est pas exécutée, c'est probablement parce que CloudExperienceHostBroker.exe a été exécuté depuis le dernier redémarrage avant d'exécuter le PoC. Redémarrez la machine et démarrez la tâche CreateObjectTask manuellement (Start-ScheduledTask -TaskPath \Microsoft\Windows\CloudExperienceHost -TaskName CreateObjectTask). Voir Détails techniques pour plus de détails.

Capture d'écran Capture d'écran

Détails techniques

FortiClient crée un pipe nommé FC_{F18F86FD-7503-4564-80CF-B6B199519837} avec lequel les utilisateurs normaux sont autorisés à communiquer. La communication est restreinte aux processus s'exécutant depuis le dossier du programme FortiClient (C:\Program Files\Fortinet\FortiClient), mais cela peut être contourné en injectant du code dans le processus FortiTray.exe en cours d'exécution, qui s'exécute depuis le dossier du programme. Via ce pipe nommé, il est possible de lancer une instance de FCConfig.exe s'exécutant en tant que SYSTEM avec des arguments contrôlés par l'utilisateur.

En spécifiant une opération non reconnue (-o A), FCConfig.exe lira un fichier cible (-f FILE) puis l'écrira au même endroit (raison non claire). En définissant la cible comme une jonction/lien symbolique pointant vers un fichier spécifique et en définissant un oplock sur le fichier, il est possible de faire en sorte que le processus suive le lien symbolique, lise le fichier et déclenche l'oplock. Le lien symbolique peut ensuite être modifié pour pointer vers un emplacement différent. Lorsque l'oplock est libéré, FCConfig.exe suivra le lien symbolique vers la nouvelle destination et écrira le fichier à cet endroit, résultant en une écriture arbitraire de fichier. Le fichier doit être un XML valide (il semble passer par un formateur XML).

Pour transformer l'écriture arbitraire de fichier XML en exécution de code privilégié, un manifeste d'application est écrit pour rediriger le chargement d'une DLL pour un processus s'exécutant en tant que SYSTEM. C:\Windows\System32\CloudExperienceHostBroker.exe a été choisi pour cela :

  • Il peut être exécuté par un utilisateur normal en démarrant la tâche planifiée \Microsoft\Windows\CloudExperienceHost\CreateObjectTask.
  • Il s'exécute en tant que SYSTEM.
  • Il n'a pas de manifeste intégré (qui aurait la priorité).
  • Il n'a pas déjà de manifeste externe (qui serait probablement protégé par TrustedInstaller).
  • Il ne s'exécute pas automatiquement. Lorsqu'un exécutable sans manifeste d'application est exécuté, Windows se souvient qu'aucun manifeste ne doit être chargé pour cet exécutable jusqu'au prochain redémarrage. Donc, à moins de vouloir attendre le prochain redémarrage pour notre exécution de code, nous devons cibler un exécutable qui n'est pas exécuté souvent.

Le PoC exploite la vulnérabilité en utilisant les étapes suivantes :

  1. Déposer une DLL proxy ("ExecDLL") sur le disque pour oleaut32.dll qui contient une charge utile.
  2. Écrire un manifeste d'application sur le disque qui redirige oleaut32.dll vers "ExecDLL".
  3. Créer une jonction/lien symbolique pointant vers le manifeste.
  4. Définir un oplock sur le manifeste.
  5. Injecter une DLL dans FortiTray.exe qui envoie une commande au pipe nommé FC_{F18F86FD-7503-4564-80CF-B6B199519837} avec les arguments -f APPLICATION_MANIFEST_PATH -o A.
  6. Attendre que FCConfig.exe déclenche l'oplock.
  7. Modifier le lien symbolique pour pointer vers C:\Windows\System32\CloudExperienceHostBroker.exe.manifest.
  8. Libérer l'oplock. FCConfig.exe lira maintenant le manifeste d'application et l'écrira vers la nouvelle cible du lien symbolique.
  9. Démarrer la tâche \Microsoft\Windows\CloudExperienceHost\CreateObjectTask. CloudExperienceHostBroker.exe sera maintenant exécuté en tant que , indiquera au système de charger "ExecDLL" au lieu de , et "ExecDLL" sera chargée et exécutée dans le contexte de .

Remarques

  • Le PoC ne tente pas de nettoyer les DLL déposées dans le dossier temporaire. Celles-ci peuvent être supprimées manuellement par la suite.
Télécharger l’outil
SYSTEM
CloudExperienceHostBroker.exe.manifest
oleaut32.dll
SYSTEM