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
PrivescCheck — Script de enumeración de escalada de privilegios para Windows | Kitploit
Herramientas/GitHubGitHub/itm4n/privesccheck
Escalada de PrivilegiosAnálisis de VulnerabilidadesAuditoría de ConfiguraciónRecopilación de InformaciónPost-ExplotaciónPruebas de PenetraciónTop en Post-Explotación #16Top en Escalada de Privilegios #2
GitHub
3.9k50772hace 2h 37mRevisado 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
itm4n/privesccheck

PrivescCheck

Script de enumeración de escalada de privilegios para Windows

Ver Repositorio

PrivescCheck

Identifique rápidamente vulnerabilidades y problemas de configuración comunes de Windows que no están necesariamente cubiertos por los estándares de seguridad públicos, y recopile información útil para tareas de explotación y post-explotación.

[!IMPORTANT] Un aspecto importante a tener en cuenta al usar esta herramienta es que todas las comprobaciones de control de acceso se realizan en el contexto del usuario actual. Por lo tanto, si se ejecuta con privilegios de administrador, muchas comprobaciones de vulnerabilidades se omiten para evitar generar hallazgos incorrectos.

🚀 Inicio Rápido

Descargue el script aquí: PrivescCheck.ps1

[!TIP] El enlace anterior también se puede usar directamente en un terminal de PowerShell con (New-Object Net.WebClient).DownloadString(...).

Caso de Uso 1 (Pentest): Ejecutar Solo Comprobaciones Básicas

¿Existe una forma obvia de escalar privilegios localmente?

root@kitploit:~
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck"

Caso de Uso 2 (Investigación): Ejecutar Comprobaciones Extendidas + Escribir Informes Legibles

¿Existe información adicional que se pueda aprovechar para post-explotación o para encontrar vulnerabilidades en software de terceros?

root@kitploit:~
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Extended -Report PrivescCheck_$($env:COMPUTERNAME) -Format TXT,HTML"

Caso de Uso 3 (Auditoría): Ejecutar Todas las Comprobaciones + Escribir Todos los Informes

¿Existen problemas de configuración que no estén cubiertos por los estándares de seguridad comunes?

root@kitploit:~
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Extended -Audit -Report PrivescCheck_$($env:COMPUTERNAME) -Format TXT,HTML,CSV,XML"

📖 Uso Detallado

root@kitploit:~
Invoke-PrivescCheck [-Extended] [-Audit] [-Experimental] [-Report <PREFIX>]
    [-Format <FORMAT>[,...]] [-Risky] [-Silent] [-Force]

    -Extended
        Incluir todas las comprobaciones "extendidas" en el escaneo (ver README).

    -Audit
        Incluir todas las comprobaciones de "auditoría" en el escaneo.

    -Experimental
        Incluir todas las comprobaciones "experimentales" en el escaneo. Úselo
        solo si sabe lo que está haciendo.

    -Report <PREFIX>
        Generar al menos un archivo de informe. El nombre del archivo de salida
        será "PREFIX.txt" por defecto. La extensión se agrega automáticamente
        según el formato del informe (ver "-Format <FORMAT>[,...]").

    -Format <FORMAT>[,...]
        Especificar el formato de los archivos de informe de salida. Si no se
        establece, el valor predeterminado es "TXT". Los formatos admitidos son:
        "TXT", "HTML", "CSV" y "XML".

    -Risky
        Incluir comprobaciones marcadas como "riesgosas", es decir,
        comprobaciones que probablemente activen una acción de bloqueo por parte
        de una solución de protección de endpoints. Úselo con precaución.

    -Silent
        Suprimir la salida del terminal. Esto puede ser útil si desea ejecutar
        el script como parte de un archivo por lotes, en una tarea programada,
        por ejemplo.

    -Force
        Forzar la ejecución e ignorar advertencias. Normalmente, el script se
        detiene si se ejecuta con privilegios de administrador. Use esta opción
        para ejecutarlo de todos modos.

Formato de Informe > TXT (-Format TXT)

Use la opción -Report <PREFIX> (con -Format TXT) para especificar que desea generar un informe de texto sin formato. La salida es similar a lo que vería en el terminal, excepto que contiene solo caracteres ASCII para una mejor compatibilidad (retro-)con todos los editores de texto.

Captura de pantalla de un informe de texto sin formato generado por PrivescCheck

Formato de Informe > HTML (-Format HTML)

Use la opción -Report <PREFIX> con -Format HTML para especificar que desea generar un informe HTML. El archivo de salida se puede abrir en un navegador web. Es más conveniente para visualizar los datos que el informe de texto sin formato. Además, ¡ofrece capacidades de ordenación y filtrado!

Captura de pantalla de un informe HTML generado por PrivescCheck

Formato de Informe > CSV (-Format CSV) y XML (-Format XML)

Use la opción -Report <PREFIX> con -Format CSV o -Format XML para especificar que desea generar un informe CSV o XML. El archivo de salida está destinado a facilitar el análisis de los resultados por herramientas de informes automatizadas.

[!NOTE] Aunque el formato de salida no está documentado (aún), puede descubrirlo fácilmente analizando la estructura de un archivo ya generado. Puede usar el valor Id de cada comprobación para identificarlas de forma única.

Tipo de Comprobación > Base

Las comprobaciones de tipo Base siempre se ejecutarán, a menos que el script se ejecute como administrador. Están destinadas principalmente a identificar vulnerabilidades de escalada de privilegios u otros problemas importantes.

Tipo de Comprobación > Extendida (-Extended)

Las comprobaciones de tipo Extended solo se pueden ejecutar si la opción -Extended se especifica en la línea de comandos. Están destinadas principalmente a proporcionar información adicional que podría ser útil para el desarrollo de exploits o la post-explotación.

Tipo de Comprobación > Auditoría (-Audit)

Las comprobaciones de tipo Audit solo se pueden ejecutar si la opción -Audit se especifica en la línea de comandos. Están destinadas principalmente a proporcionar información relevante en el contexto de una auditoría de configuración.

💡 Consejos y Trucos

Política de Ejecución de PowerShell

Por defecto, la política de ejecución de PowerShell está establecida en Restricted en los clientes y RemoteSigned en los servidores, cuando se inicia un nuevo proceso de powershell.exe. Estas políticas bloquean la ejecución de scripts (sin firmar), pero se pueden anular dentro del ámbito actual de la siguiente manera.

root@kitploit:~
Set-ExecutionPolicy Bypass -Scope Process -Force
. .\PrivescCheck.ps1

Sin embargo, este truco no funciona cuando la política de ejecución se aplica a través de una GPO. En este caso, después de iniciar una nueva sesión de PowerShell, puede cargar el script de la siguiente manera.

root@kitploit:~
Get-Content .\PrivescCheck.ps1 | Out-String | Invoke-Expression

PowerShell Versión 2

Una forma común de eludir el Modo de Lenguaje Restringido consiste en usar PSv2, ya que no implementa esta protección. Por lo tanto, una parte significativa del esfuerzo de desarrollo se dedica a mantener esta retro-compatibilidad.

[!NOTE] Aunque PowerShell versión 2 todavía está habilitado por defecto en las versiones recientes de Windows (Eliminación de PowerShell 2.0 de Windows), no puede ejecutarse sin el framework .Net versión 2.0, que requiere una instalación manual.

Tiempo de espera de Metasploit

Si ejecuta este script dentro de una sesión de Meterpreter, es probable que obtenga un error de "timeout". Esto se debe a que Metasploit usa un valor de tiempo de espera predeterminado de 15 segundos, que no es suficiente para que una ejecución típica del script se complete.

root@kitploit:~
meterpreter > load powershell
Loading extension powershell...Success.
meterpreter > powershell_import /local/path/to/PrivescCheck.ps1
[+] File successfully imported. No result was returned.
meterpreter > powershell_execute "Invoke-PrivescCheck"
[-] Error running command powershell_execute: Rex::TimeoutError Operation timed out.

Es posible establecer un tiempo de espera diferente gracias a la opción -t del comando sessions (documentación). En el siguiente ejemplo, se establece un tiempo de espera de 2 minutos para la sesión con ID 1, pero es posible que desee establecer un valor aún mayor.

root@kitploit:~
msf6 exploit(multi/handler) > sessions -t 120 -i 1
[*] Starting interaction with 1...
meterpreter > powershell_execute "Invoke-PrivescCheck"

🏗️ Compilación

Actualizar los Datos

Algunas de las comprobaciones dependen de datos en línea (p. ej., base de datos de drivers LOL), pero el script está diseñado para funcionar sin conexión. Para resolver este problema, los datos están integrados en el script y, por lo tanto, deben actualizarse regularmente. Este proceso está totalmente automatizado en la versión oficial, pero si desea compilar el script localmente, puede hacerlo manualmente de forma opcional.

root@kitploit:~
powershell -ep bypass ". .\build\Build.ps1; Update-LolDriverFile"

Compilar el Script

Compilar el script es tan simple como ejecutar el comando a continuación. El archivo de salida se guardará en la carpeta .\dist\.

root@kitploit:~
powershell -ep bypass ". .\build\Build.ps1; Invoke-Build -Name PrivescCheck"

El script de compilación usa un generador de números pseudoaleatorios con una semilla generada aleatoriamente para elegir un nombre de variable para cada módulo. Si desea generar resultados reproducibles entre compilaciones, puede optar por reutilizar la semilla generada previamente usando la opción -NoNewSeed.

root@kitploit:~
powershell -ep bypass ". .\build\Build.ps1; Invoke-Build -Name PrivescCheck -NoNewSeed"

El script de compilación usa cifrado AES con una clave generada aleatoriamente para ofuscar el contenido de cada módulo. Si desea generar resultados reproducibles entre compilaciones, puede optar por reutilizar la clave generada previamente usando la opción -NoNewKey.

root@kitploit:~
powershell -ep bypass ". .\build\Build.ps1; Invoke-Build -Name PrivescCheck -NoNewKey"

📑 Créditos

  • Lista de palabras - CBHue/PyFuscation
  • Lista de drivers vulnerables conocidos - https://www.loldrivers.io/
Descargar herramienta