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
Tools/GitHubGitHub/davidcarliez/cve-2019-9702_symantec_encryption_desktop_lpe_poc
Privilege EscalationSchwachstellenanalyseExploitationPost-ExploitationPenetrationstestsPayload-EntwicklungBinary-Exploitation
GitHubdavidcarliez/cve-2019-9702_symantec_encryption_desktop_lpe_poc

CVE-2019-9702_Symantec_Encryption_Desktop_LPE_PoC

Lokale Privilegienausweitung PoC zum Öffnen einer SYSTEM-Shell für CVE-2019-9702 in Symantec Encryption Desktop.

Repository anzeigen
17vor 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 →
Teilen

Symantec Encryption Desktop PGPwded.sys lokale Privilegienausweitung PoC

Dieses Repository enthält einen Proof-of-Concept für einen lokalen Privilegienausweitungsweg im PGPwded.sys-Speicherfilter von Symantec Encryption Desktop, basierend auf einer primitiven Schreib-/Lese-Funktion auf niedrigen Berechtigungsebenen für raw-Datenträger.

Der PoC wurde gegen Symantec Encryption Desktop Pro 10.4.2 MP3 entwickelt und getestet. Andere Versionen wurden mit dieser Implementierung nicht getestet.

Die Arbeit wurde inspiriert von und baut auf der ursprünglichen öffentlichen Forschung von Kyriakos Economou / Nettitude, jetzt LRQA Nettitude:

  • CVE-2019-9702: Symantec Encryption Desktop Lokale Privilegienausweitung - Ausnutzung einer beliebigen Lese-/Schreib-Schwachstelle auf der Festplatte über NTFS

Ihr Beitrag beschreibt den Gerätezugriffscheck von PGPwded.sys, die Idee der Injection in vertrauenswürdige PGP-Prozesse, die raw read/write IOCTLs und NTFS-basierte Exploit-Ansätze. Dieser PoC konzentriert sich auf eine Variante, die nach einem Neustart eine Dienstbinärdatei überschreibt, und enthält ein schreibgeschütztes Vorprüfprogramm.

Repository-Inhalte

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

Was der Exploit tut

Der Exploit für die Neustartphase ist eine einzelne ausführbare 32-Bit-Windows-Datei. Auf hoher Ebene:

  1. Der Benutzer mit niedrigen Berechtigungen führt den Launcher von einem normalen beschreibbaren Pfad aus, z. B. C:\Users\Public.
  2. Der Launcher findet das Installationsverzeichnis von Symantec PGP Desktop.
  3. Der Launcher legt eine eingebettete 32-Bit-Worker-DLL in %TEMP% ab.
  4. Der Launcher startet oder verwendet eine vertrauenswürdige PGP Desktop ausführbare Datei und injiziert den Worker in diesen Prozess.
  5. Der Worker öffnet \\.\PGPwdef aus dem vertrauenswürdigen PGP-Prozess-Bildpfad.
  6. Der Worker ordnet C:\Windows\System32\spoolsv.exe seinem NTFS-Extent zu und berechnet den zugrunde liegenden Datenträgersektor.
  7. Der Worker findet heraus, welches \Device\000000xx PGP-Datenträgerobjekt dem C:-Sektor über den raw read IOCTL zugeordnet ist.
  8. Der Worker sichert die aktuelle Spooler-Binärdatei in C:\Users\Public\spoolsv.exe.orig.portable.
  9. Der Worker überschreibt raw die Sektoren, die spoolsv.exe enthalten, mit einer eingebetteten LocalSystem-Dienstnutzlast.
  10. Nach einem Neustart startet der Windows-Spoolerdienst als LocalSystem und führt die Nutzlast aus.
  11. Die Nutzlast öffnet ein sichtbares SYSTEM-Eingabeaufforderungsfenster in der aktiven Konsolensitzung.

Die schreibgeschützte Vorprüfung folgt dem gleichen Pfad des vertrauenswürdigen Prozesses, verwendet jedoch nur den raw read IOCTL. Sie überschreibt keine Dateien und stuft den Exploit nicht vor.

Build

Build von einem Linux-Host mit installiertem MinGW-w64:

make

Erwartete Ausgaben:

bin/sym_portable_reboot_stage32.exe  # exploit/stager
bin/sym_portable_precheck32.exe      # read-only precheck

Verwendung der Vorprüfung

Führen Sie zuerst die Vorprüfung durch. Sie soll feststellen, ob die aktuellen Exploit-Bedingungen vorliegen, ohne geschützte Dateien zu verändern.

C:\Users\Public\sym_portable_precheck32.exe
notepad C:\Users\Public\sym_portable_precheck.log

Ein brauchbares Ziel sollte enden mit:

[OK] current reboot exploit conditions

Wenn das Protokoll keine lesbaren PGP-PDOs oder keine Übereinstimmung mit dem C:-Sektor anzeigt, führen Sie den Exploit nicht aus. Das bedeutet normalerweise, dass die Betriebssystemfestplatte nicht von Symantec WDE verwaltet/instrumentiert wird.

Für einen ausführlicheren Zielbericht kopieren Sie beide folgenden Dateien in dasselbe Verzeichnis und führen Sie den CMD-Wrapper aus:

sym_target_diag_lite.cmd
sym_portable_precheck32.exe

Dann führen Sie aus:

C:\Users\Public\sym_target_diag_lite.cmd
notepad C:\Users\Public\sym_target_diag_lite.log

Verwendung des Exploits

Führen Sie den Exploit nur auf Systemen aus, auf denen Sie berechtigt sind, geschützte Systemdateien zu ändern, und die Vorprüfung bestanden wurde.

Kopieren Sie den Stager in einen beschreibbaren Pfad und führen Sie ihn als Benutzer mit niedrigen Berechtigungen aus:

C:\Users\Public\sym_portable_reboot_stage32.exe

Überprüfen Sie die Staging-Protokolle:

type C:\Users\Public\sym_portable_launcher.log
type C:\Users\Public\sym_portable_stage.log

Wenn das Staging erfolgreich war, enthält das Worker-Protokoll:

STAGED_OK_REBOOT_TO_TRIGGER

Starten Sie den Rechner neu. Nach dem Neustart sollte der Spoolerdienst die Nutzlast als LocalSystem starten und eine Eingabeaufforderung mit dem Titel öffnen:

SYSTEM_CMD_FROM_PORTABLE_REBOOT_LPE

Wiederherstellung

Der Stager erstellt diese Sicherung, bevor er das Ziel überschreibt:

C:\Users\Public\spoolsv.exe.orig.portable

Ein öffentlicher Ein-Klick-Wiederherstellungsmodus ist nicht enthalten. In Tests wurde die Wiederherstellung durchgeführt, indem die Sicherung raw über dieselben zugeordneten Sektoren geschrieben und neu gestartet wurde. Vor der Veröffentlichung von Binärdateien sollte ein sicherer Wiederherstellungsablauf hinzugefügt und validiert werden.

Bekannte Einschränkungen

  • Der aktuelle Stager hat C:\Windows\System32\spoolsv.exe als Ziel.
  • Die Betriebssystemfestplatte muss über PGPwded.sys exponiert sein; eine alleinige Symantec-Installation ist nicht ausreichend.
  • Systeme, bei denen C: von BitLocker verwaltet wird und Symantec die Festplatte als nicht verwaltet meldet, sind auf diesem Weg voraussichtlich nicht ausnutzbar.
  • Die aktuelle Zieldatei muss Single-Extent sein; der Worker bricht bei Fragmentierung ab.
  • Der aktuelle PoC erfordert einen Neustart, um die Ausführung auszulösen.
  • Die aktuelle Nutzlast ist absichtlich offensichtlich: Sie öffnet eine sichtbare SYSTEM-Eingabeaufforderung.

Haftungsausschluss

Dies ist Forschungscode für autorisierte Tests und defensive Validierung. Führen Sie ihn nicht auf Systemen aus, die Ihnen nicht gehören oder für deren Bewertung Sie keine ausdrückliche Genehmigung haben.

Tool herunterladen