Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2019-9702_Symantec_Encryption_Desktop_LPE_PoC — PoC de escalada local de privilegios para obtener una shell SYSTEM para CVE-2019-9702 en Symantec Encryption Desktop. | Kitploit
Herramientas/GitHubGitHub/davidcarliez/cve-2019-9702_symantec_encryption_desktop_lpe_poc
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónPost-ExplotaciónPruebas de PenetraciónDesarrollo de PayloadsExplotación de Binarios
GitHubdavidcarliez/cve-2019-9702_symantec_encryption_desktop_lpe_poc

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2019-9702_Symantec_Encryption_Desktop_LPE_PoC

PoC de escalada local de privilegios para obtener una shell SYSTEM para CVE-2019-9702 en Symantec Encryption Desktop.

Ver Repositorio
1hace 1 mesAún no revisado

PoC de escalada de privilegios local en Symantec Encryption Desktop PGPwded.sys

Este repositorio contiene una prueba de concepto para una vía de escalada de privilegios local en el filtro de almacenamiento PGPwded.sys de Symantec Encryption Desktop, basada en una primitiva de lectura/escritura bruta del disco con bajos privilegios.

El PoC fue desarrollado y probado contra Symantec Encryption Desktop Pro 10.4.2 MP3. Otras versiones no han sido probadas con esta implementación.

El trabajo se inspiró y se basa en la investigación pública original de Kyriakos Economou / Nettitude, ahora LRQA Nettitude:

  • CVE-2019-9702: Escalada de privilegios local en Symantec Encryption Desktop: explotación de una vulnerabilidad de lectura/escritura arbitraria del disco duro sobre NTFS

Su publicación describe la comprobación de acceso al dispositivo PGPwded.sys, la idea de inyección en procesos PGP de confianza, los IOCTL de lectura/escritura bruta y los enfoques de explotación basados en NTFS. Este PoC se centra en una variante de sobrescritura del binario de servicio activada tras un reinicio e incluye una utilidad de verificación previa de solo lectura.

Contenido del repositorio

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

Qué hace el exploit

El exploit de la fase de reinicio es un único ejecutable de Windows de 32 bits que se suelta en el sistema. A grandes rasgos:

  1. El usuario con bajos privilegios ejecuta el lanzador desde una ruta normal con permisos de escritura, por ejemplo C:\Users\Public.
  2. El lanzador localiza el directorio de instalación de Symantec PGP Desktop.
  3. El lanzador suelta una DLL de trabajo embebida de 32 bits en %TEMP%.
  4. El lanzador inicia o utiliza un ejecutable de confianza de PGP Desktop e inyecta el worker en ese proceso.
  5. El worker abre \\.\PGPwdef desde la ruta de la imagen del proceso PGP de confianza.
  6. El worker asigna C:\Windows\System32\spoolsv.exe a su extensión NTFS y calcula el sector de disco subyacente.
  7. El worker determina qué objeto de disco PGP \Device\000000xx se corresponde con ese sector de C: mediante el IOCTL de lectura bruta.
  8. El worker hace una copia de seguridad del binario actual de Spooler en C:\Users\Public\spoolsv.exe.orig.portable.
  9. El worker sobrescribe en bruto los sectores que respaldan a spoolsv.exe con una carga útil de servicio LocalSystem embebida.
  10. Tras el reinicio, el servicio Spooler de Windows se inicia como LocalSystem y ejecuta la carga útil.
  11. La carga útil abre un símbolo del sistema SYSTEM visible en la sesión de consola activa.

La verificación previa de solo lectura sigue el mismo camino de proceso de confianza, pero solo utiliza el IOCTL de lectura bruta. No sobrescribe archivos ni prepara el exploit.

Compilación

Compile desde un host Linux con MinGW-w64 instalado:

root@kitploit:~
make

Salidas esperadas:

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

Uso de la verificación previa

Ejecute primero la verificación previa. Su objetivo es determinar si se dan las condiciones actuales del exploit sin modificar archivos protegidos.

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

Un objetivo viable debería terminar con:

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

Si el registro no muestra PDO PGP legibles, o no hay coincidencia de sector en C:, no ejecute el exploit. Eso normalmente significa que el disco del sistema operativo no está gestionado/instrumentado por Symantec WDE.

Para obtener un informe de objetivo más completo, copie los dos archivos siguientes en el mismo directorio y ejecute el script CMD:

root@kitploit:~
sym_target_diag_lite.cmd
sym_portable_precheck32.exe

A continuación, ejecute:

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

Uso del exploit

Ejecute el exploit únicamente en sistemas donde esté autorizado para modificar archivos protegidos del sistema y donde la verificación previa haya sido superada.

Copie el stager a una ruta con permisos de escritura y ejecútelo como el usuario con bajos privilegios:

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

Compruebe los registros de la fase de preparación:

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

Si la fase de preparación se completó correctamente, el registro del worker contendrá:

root@kitploit:~
STAGED_OK_REBOOT_TO_TRIGGER

Reinicie la máquina. Tras el reinicio, el servicio Spooler debería iniciar la carga útil como LocalSystem y abrir un símbolo del sistema titulado:

root@kitploit:~
SYSTEM_CMD_FROM_PORTABLE_REBOOT_LPE

Restauración

El stager crea esta copia de seguridad antes de sobrescribir el objetivo:

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

No se incluye un modo de restauración público de un clic. En las pruebas, la restauración se realizó escribiendo en bruto la copia de seguridad sobre los mismos sectores asignados y reiniciando. Debería añadirse y validarse un flujo de restauración seguro antes de publicar binarios.

Limitaciones conocidas

  • El stager actual tiene como objetivo C:\Windows\System32\spoolsv.exe.
  • El disco del sistema operativo debe estar expuesto a través de PGPwded.sys; una instalación de Symantec por sí sola no es suficiente.
  • No se espera que los sistemas donde C: está gestionado por BitLocker y Symantec informa del disco como no gestionado sean explotables por esta vía.
  • El archivo objetivo actual debe ser de una sola extensión; el worker se aborta ante la fragmentación.
  • El PoC actual requiere un reinicio para activar la ejecución.
  • La carga útil actual es intencionadamente evidente: abre un símbolo del sistema SYSTEM visible.

Aviso legal

Este es código de investigación para pruebas autorizadas y validación defensiva. No lo ejecute en sistemas que no sean de su propiedad o para los que no tenga permiso explícito de evaluación.

Descargar herramienta