Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/davidcarliez/cve-2019-9702_symantec_encryption_desktop_lpe_poc
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitPost-ExploitPenetration TestingSviluppo PayloadBinary Exploitation
GitHubdavidcarliez/cve-2019-9702_symantec_encryption_desktop_lpe_poc

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2019-9702_Symantec_Encryption_Desktop_LPE_PoC

PoC di escalation locale dei privilegi per ottenere una shell SYSTEM per CVE-2019-9702 in Symantec Encryption Desktop.

Vedi Repository
11 mese faNon ancora revisionato

Symantec Encryption Desktop PGPwded.sys escalatione di privilegi locale — PoC

Questo repository contiene una proof-of-concept per un percorso di escalatione di privilegi locale nel filtro di storage PGPwded.sys di Symantec Encryption Desktop, basata su una primitiva di lettura/scrittura raw del disco con privilegi bassi.

La PoC è stata sviluppata e testata contro Symantec Encryption Desktop Pro 10.4.2 MP3. Altre versioni non sono state testate con questa implementazione.

Il lavoro è stato ispirato e si basa sulla ricerca pubblica originale di Kyriakos Economou / Nettitude, ora LRQA Nettitude:

  • CVE-2019-9702: Symantec Encryption Desktop Local Privilege Escalation - Exploiting an Arbitrary Hard Disk Read/Write Vulnerability Over NTFS

Il loro articolo descrive il controllo di accesso al device PGPwded.sys, l'idea di iniezione in un processo PGP considerato attendibile, gli IOCTL di lettura/scrittura raw e gli approcci di sfruttamento basati su NTFS. Questa PoC si concentra su una variante con sovrascrittura del binario di un servizio attivata al riavvio e include un'utility di precheck in sola lettura.

Contenuto del repository

root@kitploit:~
src/
  sym_portable_launcher.c      # launcher a eseguibile singolo; incorpora e rilascia il worker di staging
  portable_stage_worker.c      # worker iniettato; mappa C:, apre PGPwded, prepara il payload
  spooler_payload.c            # payload del servizio eseguito da Spooler come LocalSystem dopo il riavvio
  sym_portable_precheck.c      # launcher di precheck a eseguibile singolo in sola lettura
  precheck_worker.c            # worker diagnostico iniettato in sola lettura
  *_bytes.h                    # array di byte incorporati generati per payload/worker

tools/
  sym_target_diag_lite.cmd     # script wrapper per raccogliere diagnostica sul target

Cosa fa l'exploit

L'exploit della fase di riavvio è un singolo eseguibile Windows a 32 bit rilasciato sul sistema. A grandi linee:

  1. L'utente con privilegi bassi esegue il launcher da un normale percorso scrivibile, ad esempio C:\Users\Public.
  2. Il launcher individua la directory di installazione di Symantec PGP Desktop.
  3. Il launcher rilascia una DLL worker a 32 bit incorporata in %TEMP%.
  4. Il launcher avvia o usa un eseguibile PGP Desktop considerato attendibile e inietta il worker in quel processo.
  5. Il worker apre \\.\PGPwdef dall'interno del percorso dell'immagine del processo PGP considerato attendibile.
  6. Il worker mappa C:\Windows\System32\spoolsv.exe nella sua estensione NTFS e calcola il settore disco sottostante.
  7. Il worker individua quale oggetto disco PGP \Device\000000xx corrisponde a quel settore di C: usando l'IOCTL di lettura raw.
  8. Il worker crea un backup del binario corrente di Spooler in C:\Users\Public\spoolsv.exe.orig.portable.
  9. Il worker sovrascrive in modalità raw i settori che contengono spoolsv.exe con un payload di servizio LocalSystem incorporato.
  10. Dopo il riavvio, il servizio Windows Spooler parte come LocalSystem ed esegue il payload.
  11. Il payload apre un prompt dei comandi SYSTEM visibile nella sessione console attiva.

Il precheck in sola lettura segue lo stesso percorso del processo considerato attendibile, ma usa solo l'IOCTL di lettura raw. Non sovrascrive file e non prepara l'exploit.

Build

Compilazione da un host Linux con MinGW-w64 installato:

root@kitploit:~
make

Output attesi:

root@kitploit:~
bin/sym_portable_reboot_stage32.exe  # exploit/stager
bin/sym_portable_precheck32.exe      # precheck in sola lettura

Utilizzo del precheck

Eseguire prima il precheck. Serve a determinare se le condizioni attuali per l'exploit sono presenti senza modificare file protetti.

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

Un target valido dovrebbe terminare con:

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

Se il log non mostra PDO PGP leggibili, o nessuna corrispondenza di settore per C:, non eseguire l'exploit. Di solito significa che il disco di sistema non è gestito/strumentato da Symantec WDE.

Per un rapporto diagnostico più completo sul target, copiare entrambi i file seguenti nella stessa directory ed eseguire il wrapper CMD:

root@kitploit:~
sym_target_diag_lite.cmd
sym_portable_precheck32.exe

Poi eseguire:

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

Utilizzo dell'exploit

Eseguire l'exploit solo su sistemi in cui si è autorizzati a modificare file di sistema protetti e dove il precheck è stato superato.

Copiare lo stager in un percorso scrivibile ed eseguirlo come utente con privilegi bassi:

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

Controllare i log di staging:

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

Se lo staging è riuscito, il log del worker contiene:

root@kitploit:~
STAGED_OK_REBOOT_TO_TRIGGER

Riavviare la macchina. Dopo il riavvio, il servizio Spooler dovrebbe avviare il payload come LocalSystem e aprire un prompt dei comandi con titolo:

root@kitploit:~
SYSTEM_CMD_FROM_PORTABLE_REBOOT_LPE

Ripristino

Lo stager crea questo backup prima di sovrascrivere il target:

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

Non è inclusa una modalità pubblica di ripristino con un clic. Durante i test, il ripristino è stato effettuato riscrivendo in modalità raw il backup sugli stessi settori mappati e riavviando. Un flusso di ripristino sicuro dovrebbe essere aggiunto e validato prima di pubblicare i binari.

Vincoli noti

  • Lo stager attuale ha come target C:\Windows\System32\spoolsv.exe.
  • Il disco di sistema deve essere esposto tramite PGPwded.sys; una sola installazione di Symantec non è sufficiente.
  • Sui sistemi dove C: è gestito da BitLocker e Symantec riporta il disco come non gestito, non è previsto che questo percorso sia sfruttabile.
  • Il file target attuale deve avere una singola estensione; il worker si interrompe in caso di frammentazione.
  • La PoC attuale richiede un riavvio per attivare l'esecuzione.
  • Il payload attuale è volutamente evidente: apre un prompt dei comandi SYSTEM visibile.

Disclaimer

Questo è codice di ricerca per test autorizzati e validazione difensiva. Non eseguirlo su sistemi che non possiedi o per i quali non hai il permesso esplicito di valutare.

Scarica lo strumento