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
PPLdump — Volcar la memoria de un PPL con un exploit de espacio de usuario | Kitploit
Herramientas/GitHubGitHub/itm4n/ppldump
Escalada de PrivilegiosForensia de MemoriaExplotaciónRed TeamingDesarrollo de PayloadsExplotación de BinariosArchived
GitHubitm4n/ppldump

PPLdump

Volcar la memoria de un PPL con un exploit de espacio de usuario

Ver Repositorio
893142hace 4 añosRevisado por Kitploit

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

PPLdump

⚠️ 2022-07-24 - A partir de Windows 10 21H2 10.0.19044.1826 (actualización de julio de 2022), el exploit implementado en PPLdump ya no funciona. Un parche en NTDLL ahora evita que los PPL carguen Known DLLs. Más información aquí.

Esta herramienta implementa un exploit en espacio de usuario que fue discutido inicialmente por James Forshaw (alias @tiraniddo) - en esta publicación de blog - para volcar la memoria de cualquier PPL como administrador.

Escribí dos publicaciones de blog sobre esta herramienta. La primera parte trata sobre los conceptos de Procesos Protegidos, mientras que la segunda discute la técnica de evasión en sí.

  • Parte #1 del blog: ¿Realmente sabes sobre la protección LSA (RunAsPPL)?
  • Parte #2 del blog: Evasión de la protección LSA en espacio de usuario

Uso

Simplemente ejecute el ejecutable sin ningún argumento y obtendrá una ayuda/uso detallado.

root@kitploit:~
c:\Temp>PPLdump64.exe
 _____ _____ __      _
|  _  |  _  |  |   _| |_ _ _____ ___
|   __|   __|  |__| . | | |     | . |  version 0.4
|__|  |__|  |_____|___|___|_|_|_|  _|  by @itm4n
                                |_|

Description:
  Dump the memory of a Protected Process Light (PPL) with a *userland* exploit

Usage:
  PPLdump.exe [-v] [-d] [-f] <PROC_NAME|PROC_ID> <DUMP_FILE>

Arguments:
  PROC_NAME  The name of a Process to dump
  PROC_ID    The ID of a Process to dump
  DUMP_FILE  The path of the output dump file

Options:
  -v         (Verbose) Enable verbose mode
  -d         (Debug) Enable debug mode (implies verbose)
  -f         (Force) Bypass DefineDosDevice error check

Examples:
  PPLdump.exe lsass.exe lsass.dmp
  PPLdump.exe -v 720 out.dmp

Preguntas frecuentes

¿Funciona en todas las versiones de Windows?

En primer lugar, los PPL se introdujeron con Windows 8.1, por lo que las versiones anteriores de Windows obviamente no son compatibles. Este proyecto apunta principalmente a Windows 10 (y sus ediciones de servidor), pero también lo probé en versiones anteriores. Encontrará una tabla resumen de las pruebas que realicé en la sección homónima.

¿En qué se diferencia de otras herramientas?

Otras herramientas de evasión de PPL normalmente ejecutan código arbitrario en el Kernel a través de un controlador firmado digitalmente. Esta es diferente, ya que solo implica trucos en espacio de usuario y es (casi) sin archivos.

¿"Userland", dices?!

Esta herramienta aprovecha un truco muy inteligente que fue discutido inicialmente por James Forshaw en 2018 (ver Créditos). Implica el uso de la función API DefineDosDevice para engañar al sistema y crear una entrada arbitraria de Known DLL. Dado que los PPL no verifican la firma digital de las Known DLL, esto se puede usar posteriormente para realizar un ataque de secuestro de DLL y ejecutar código arbitrario dentro de un PPL.

¿Es realmente 'sin archivos'?

Aunque esta herramienta realiza un ataque de secuestro de DLL como segunda etapa, no crea un nuevo archivo DLL en el disco. En su lugar, utiliza una transacción NTFS para reemplazar virtualmente el contenido de uno existente, una técnica inspirada directamente en el trabajo de @_ForrestOrr (ver Créditos).

¿Esta herramienta puede causar una denegación de servicio (DoS)?

La respuesta corta es 'no'. En primer lugar, no implica acceso directo al Kernel, por lo que no hay riesgo de causar una pantalla azul (BSOD) desde este punto de vista. En el peor de los casos, la herramienta podría fallar al eliminar la entrada de Known DLL creada, pero esto no causará una denegación de servicio. Simplemente permanecerá allí hasta el próximo reinicio de la máquina. Como la entrada creada sería solo un enlace simbólico que apunta a una sección inexistente, el sistema eventualmente volverá a la ubicación predeterminada (es decir, la carpeta System32), por lo que no afectará a otros programas que se ejecuten en la máquina.

Pruebas

⚠️ El exploit falla en máquinas con Windows 8.1 / Server 2012 R2 completamente actualizadas. Aún tengo que averiguar qué parche causó el error.

root@kitploit:~
[-] DefineDosDevice failed with error code 6 - The handle is invalid.

⚠️ En Windows 8.1 / Server 2012 R2, es posible que también tenga que compilar el binario estáticamente (consulte las 'Instrucciones de compilación' a continuación).

Instrucciones de compilación

Esta solución de Visual Studio consta de dos proyectos (el ejecutable y una DLL de carga) que deben compilarse en un orden específico. Todo está preconfigurado, por lo que solo debe seguir estas sencillas instrucciones. La DLL de carga compilada se incrusta automáticamente en el ejecutable final.

  1. Abra la solución con Visual Studio 2019.
  2. Seleccione Release / x64 o Release / x86 dependiendo de la arquitectura de la máquina objetivo.
  3. Compilar > Compilar solución.

En Windows 8.1 / Server 2012 R2, es posible que deba compilar el binario estáticamente.

  1. Haga clic derecho en el proyecto PPLdump.
  2. Vaya a Configuration Properties > C/C++ > Code Generation.
  3. Seleccione Multi-threaded (/MT) como la opción de Runtime Library.
  4. Compile la solución.

Créditos

  • @tiraniddo - Trucos de Explotación de Windows: Explotando la Creación Arbitraria de Directorios de Objetos para la Elevación Local de Privilegios
    https://googleprojectzero.blogspot.com/2018/08/windows-exploitation-tricks-exploiting.html
  • @_ForrestOrr - Enmascarando Artefactos de Memoria Maliciosos – Parte I: Phantom DLL Hollowing
    https://www.forrest-orr.net/post/malicious-memory-artifacts-part-i-dll-hollowing
Descargar herramienta
Versión de WindowsCompilaciónEdiciónArquitecturaAdminSYSTEM
Windows 10 20H219042Prox64✔️✔️
Windows 10 20H219042Prox86✔️✔️
Windows 10 190918363Prox64✔️✔️
Windows 10 150710240Educationalx64✔️✔️
Windows 10 150710240Homex64✔️✔️
Windows 10 150710240Prox64✔️✔️
Windows Server 201917763Standardx64✔️✔️
Windows Server 201917763Essentialsx64✔️✔️
Windows 8.19600Prox64⚠️⚠️
Windows Server 2012 R29600Standardx64⚠️⚠️