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
CVE-2019-9702_Symantec_Encryption_Desktop_LPE_PoC — PoC d'élévation de privilèges locale pour ouvrir un shell SYSTEM pour CVE-2019-9702 dans Symantec Encryption Desktop. | Kitploit
Outils/GitHubGitHub/davidcarliez/cve-2019-9702_symantec_encryption_desktop_lpe_poc
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationPost-ExploitationTests d'IntrusionDéveloppement de Charges UtilesExploitation de Binaires
GitHubdavidcarliez/cve-2019-9702_symantec_encryption_desktop_lpe_poc

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

CVE-2019-9702_Symantec_Encryption_Desktop_LPE_PoC

PoC d'élévation de privilèges locale pour ouvrir un shell SYSTEM pour CVE-2019-9702 dans Symantec Encryption Desktop.

Voir le dépôt
11il y a 1 moisPas encore vérifié

Preuve de concept d'escalade de privilèges locaux de Symantec Encryption Desktop PGPwded.sys

Ce dépôt contient une preuve de concept pour une voie d'escalade de privilèges locaux dans le filtre de stockage PGPwded.sys de Symantec Encryption Desktop, basée sur une primitive de lecture/écriture brute de disque à faible privilège.

La PoC a été développée et testée contre Symantec Encryption Desktop Pro 10.4.2 MP3. Les autres versions n'ont pas été testées avec cette implémentation.

Ce travail a été inspiré par et s'appuie sur la recherche publique originale de Kyriakos Economou / Nettitude, désormais LRQA Nettitude :

  • CVE-2019-9702 : Escalade de privilèges locaux de Symantec Encryption Desktop - Exploitation d'une vulnérabilité de lecture/écriture arbitraire sur disque dur via NTFS

Leur article décrit la vérification d'accès au périphérique PGPwded.sys, l'idée d'injection dans un processus PGP de confiance, les IOCTL de lecture/écriture brute et les approches d'exploitation basées sur NTFS. Cette PoC se concentre sur une variante de remplacement de binaire de service déclenchée au redémarrage et inclut un utilitaire de pré-vérification en lecture seule.

Contenu du dépôt

root@kitploit:~
src/
  sym_portable_launcher.c      # single-EXE launcher; embeds and drops the staging worker
  portable_stage_worker.c      # injected worker; maps C:, opens PGPwded, stages payload
  spooler_payload.c            # service payload run by Spooler as LocalSystem after reboot
  sym_portable_precheck.c      # single-EXE read-only precheck launcher
  precheck_worker.c            # injected read-only diagnostic worker
  *_bytes.h                    # generated embedded payload/worker byte arrays

tools/
  sym_target_diag_lite.cmd     # wrapper script for collecting target diagnostics

Ce que fait l'exploit

L'exploit par redémarrage est un exécutable 32 bits unique déposé pour Windows. À haut niveau :

  1. L'utilisateur à faible privilège exécute le lanceur depuis un chemin normal accessible en écriture, par exemple C:\Users\Public.
  2. Le lanceur localise le répertoire d'installation de Symantec PGP Desktop.
  3. Le lanceur dépose une DLL de travail 32 bits embarquée dans %TEMP%.
  4. Le lanceur démarre ou utilise un exécutable PGP Desktop de confiance et injecte le travailleur dans ce processus.
  5. Le travailleur ouvre \\.\PGPwdef depuis l'intérieur du chemin d'image du processus PGP de confiance.
  6. Le travailleur mappe C:\Windows\System32\spoolsv.exe sur son étendue NTFS et calcule le secteur disque correspondant.
  7. Le travailleur trouve quel objet de disque PGP \Device\000000xx correspond à ce secteur C: à l'aide de l'IOCTL de lecture brute.
  8. Le travailleur sauvegarde le binaire Spooler actuel dans C:\Users\Public\spoolsv.exe.orig.portable.
  9. Le travailleur écrase en brut les secteurs contenant spoolsv.exe avec une charge utile de service LocalSystem embarquée.
  10. Après le redémarrage, le service Spooler Windows démarre en tant que LocalSystem et exécute la charge utile.
  11. La charge utile ouvre une invite de commande SYSTEM visible dans la session console active.

La pré-vérification en lecture seule suit le même chemin de processus de confiance, mais utilise uniquement l'IOCTL de lecture brute. Elle n'écrase pas de fichiers et ne prépare pas l'exploit.

Construction

Construire depuis un hôte Linux avec MinGW-w64 installé :

root@kitploit:~
make

Sorties attendues :

root@kitploit:~
bin/sym_portable_reboot_stage32.exe  # exploit/stager
bin/sym_portable_precheck32.exe      # read-only precheck

Utilisation de la pré-vérification

Exécutez d'abord la pré-vérification. Elle permet de déterminer si les conditions actuelles d'exploitation sont présentes sans modifier les fichiers protégés.

root@kitploit:~
C:\Users\Public\sym_portable_precheck32.exe
notepad C:\Users\Public\sym_portable_precheck.log

Une cible viable doit se terminer par :

root@kitploit:~
[OK] current reboot exploit conditions

Si le journal n'affiche aucun PDO PGP lisible, ou aucune correspondance de secteur C:, n'exécutez pas l'exploit. Cela signifie généralement que le disque du système d'exploitation n'est pas géré/instrumenté par Symantec WDE.

Pour un rapport de cible plus complet, copiez les deux fichiers ci-dessous dans le même répertoire et exécutez le script CMD :

root@kitploit:~
sym_target_diag_lite.cmd
sym_portable_precheck32.exe

Exécutez ensuite :

root@kitploit:~
C:\Users\Public\sym_target_diag_lite.cmd
notepad C:\Users\Public\sym_target_diag_lite.log

Utilisation de l'exploit

Exécutez l'exploit uniquement sur des systèmes pour lesquels vous êtes autorisé à modifier des fichiers système protégés et pour lesquels la pré-vérification a réussi.

Copiez le stager vers un chemin accessible en écriture et exécutez-le en tant qu'utilisateur à faible privilège :

root@kitploit:~
C:\Users\Public\sym_portable_reboot_stage32.exe

Consultez les journaux de préparation :

root@kitploit:~
type C:\Users\Public\sym_portable_launcher.log
type C:\Users\Public\sym_portable_stage.log

Si la préparation a réussi, le journal du travailleur contient :

root@kitploit:~
STAGED_OK_REBOOT_TO_TRIGGER

Redémarrez la machine. Après le redémarrage, le service Spooler devrait démarrer la charge utile en tant que LocalSystem et ouvrir une invite de commande intitulée :

root@kitploit:~
SYSTEM_CMD_FROM_PORTABLE_REBOOT_LPE

Restauration

Le stager crée cette sauvegarde avant d'écraser la cible :

root@kitploit:~
C:\Users\Public\spoolsv.exe.orig.portable

Un mode de restauration public en un clic n'est pas inclus. Lors des tests, la restauration a été effectuée en réécrivant en brut la sauvegarde sur les mêmes secteurs mappés et en redémarrant. Un flux de restauration sécurisé devrait être ajouté et validé avant de publier les binaires.

Contraintes connues

  • Le stager actuel cible C:\Windows\System32\spoolsv.exe.
  • Le disque du système d'exploitation doit être exposé via PGPwded.sys ; une simple installation de Symantec ne suffit pas.
  • Les systèmes où C: est géré par BitLocker et où Symantec signale le disque comme non géré ne sont pas censés être exploitables par cette voie.
  • Le fichier cible actuel doit être mono-étendue ; le travailleur abandonne en cas de fragmentation.
  • La PoC actuelle nécessite un redémarrage pour déclencher l'exécution.
  • La charge utile actuelle est intentionnellement évidente : elle ouvre une invite de commande SYSTEM visible.

Avertissement

Il s'agit d'un code de recherche pour des tests autorisés et une validation défensive. Ne l'exécutez pas sur des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas l'autorisation explicite d'évaluer.

Télécharger l’outil