Elevation-BOF
Elevation-BOF proporciona múltiples técnicas para escalar privilegios en sistemas Windows. Desde la obtención de tokens SYSTEM hasta la evasión de UAC y ataques de tipo Potato para cuentas de servicio.
Agentes compatibles: Beacon, Gopher, Kharon | Plataforma: Windows
getsystem
Escala privilegios a SYSTEM mediante suplantación de token.
getsystem token
Crea un token SYSTEM y lo suplanta en el contexto del agente. Todos los comandos posteriores se ejecutarán como NT AUTHORITY\SYSTEM.
getsystem tokenNo requiere argumentos adicionales. Requiere que el agente esté ejecutándose con privilegios de administrador local.
Ejemplos:
# Escalar a SYSTEM
getsystem token
# Verificar el nuevo contexto
whoamiRequisitos:
- El agente debe ejecutarse como administrador local.
- No requiere SeImpersonatePrivilege explícito (lo obtiene del contexto de admin).
Situaciones de uso:
- Después de obtener acceso como administrador local, escalar a SYSTEM para operaciones que requieren el máximo nivel de privilegio.
- Antes de volcar credenciales con
hashdump,lsadump_samodcsync. - Para acceder a recursos protegidos del sistema (SAM, SECURITY, archivos bloqueados).
Nota: Al ejecutarse exitosamente, el agente activa automáticamente la suplantación de token. Esto significa que todos los comandos siguientes se ejecutarán como SYSTEM sin necesidad de acciones adicionales.
uacbypass
Técnicas para evadir el Control de Cuentas de Usuario (UAC) de Windows sin requerir privilegios de administrador.
uacbypass sspi
Evade UAC explotando la autenticación SSPI (Security Support Provider Interface) para obtener una sesión elevada.
uacbypass sspiNo requiere argumentos. Funciona con usuarios que pertenecen al grupo Administradores pero están limitados por UAC.
Ejemplos:
# Evadir UAC con SSPI
uacbypass sspiuacbypass regshellcmd
Evade UAC secuestrando comandos de shell en el registro HKCU para lograr ejecución elevada.
uacbypass regshellcmdModifica claves en HKEY_CURRENT_USER para redirigir la ejecución de programas auto-elevados hacia el payload del operador.
Ejemplos:
# Evadir UAC con secuestro de registro
uacbypass regshellcmdSituaciones de uso para ambas técnicas:
- El agente se ejecuta como un usuario que pertenece al grupo Administradores, pero UAC bloquea las operaciones que requieren elevación.
- No se tiene acceso a credenciales de admin para usar
runascon elevación. - Se necesita ejecutar operaciones privilegiadas sin mostrar el prompt de UAC al usuario.
Selección de técnica:
| Técnica | Ventajas | Desventajas |
|---|---|---|
sspi | No modifica el registro, más limpia | Puede no funcionar en todas las versiones de Windows |
regshellcmd | Funciona en más versiones | Modifica el registro HKCU (deja rastros) |
Recomendación: Intenta primero
sspipor ser menos intrusiva. Si falla, usaregshellcmd.
potato-dcom
Ataque de tipo Potato que abusa de la activación DCOM para escalar privilegios a SYSTEM. Funciona con cuentas que tienen el privilegio SeImpersonatePrivilege.
potato-dcom --token
potato-dcom --run <comando>| Argumento | Requerido | Descripción |
|---|---|---|
--token | Si* | Obtener un token SYSTEM (activa suplantación automáticamente) |
--run | Si* | Ejecutar un comando como SYSTEM |
*Se debe usar --token O --run, no ambos.
Ejemplos:
# Obtener token SYSTEM via DCOM potato
potato-dcom --token
# Ejecutar un comando como SYSTEM
potato-dcom --run "net user backdoor P@ssw0rd123 /add"
# Ejecutar un comando para agregar usuario a administradores
potato-dcom --run "net localgroup Administrators backdoor /add"Requisitos:
- SeImpersonatePrivilege (común en: IIS AppPool, SQL Server, servicios de Windows, Network Service).
- Verificar con:
privcheck tokenpriv(SAL-BOF).
Situaciones de uso:
- El agente se ejecuta como una cuenta de servicio (IIS, SQL Server, MSSQL) que tiene SeImpersonatePrivilege pero no es administrador.
- Acceso inicial a través de una vulnerabilidad web en IIS que otorga ejecución como
IIS APPPOOL\DefaultAppPool. - Servicio comprometido que ejecuta como
NT AUTHORITY\NETWORK SERVICE.
Nota: Al usar
--token, el agente activa automáticamente la suplantación. Los comandos siguientes se ejecutarán como SYSTEM.
potato-print
Ataque de tipo Potato que abusa del servicio Print Spooler para escalar privilegios a SYSTEM. Similar a potato-dcom pero utiliza un vector diferente.
potato-print --token
potato-print --run <comando>| Argumento | Requerido | Descripción |
|---|---|---|
--token | Si* | Obtener un token SYSTEM (activa suplantación automáticamente) |
--run | Si* | Ejecutar un comando como SYSTEM |
*Se debe usar --token O --run, no ambos.
Ejemplos:
# Obtener token SYSTEM via Print Spooler potato
potato-print --token
# Ejecutar un comando como SYSTEM
potato-print --run "whoami"Requisitos:
- SeImpersonatePrivilege.
- El servicio Print Spooler debe estar en ejecución (habilitado por defecto en la mayoría de sistemas Windows).
Situaciones de uso:
- Alternativa a
potato-dcomcuando DCOM está bloqueado o no funciona. - Entornos donde el servicio Print Spooler está disponible (que es la mayoría).
- Mismo escenario de cuentas de servicio que
potato-dcom.
Guía de selección de técnica
| Contexto del agente | Técnica recomendada |
|---|---|
| Admin local, no SYSTEM | getsystem token |
| Usuario en grupo Admins, con UAC | uacbypass sspi → uacbypass regshellcmd |
| Cuenta de servicio con SeImpersonate | potato-dcom --token → potato-print --token |
| Necesitas ejecutar un solo comando como SYSTEM | potato-dcom --run o potato-print --run |
Flujo de trabajo recomendado
- Verifica tus privilegios actuales:
whoami(built-in) yprivcheck tokenpriv(SAL-BOF). - Si eres admin local →
getsystem token. - Si eres usuario normal en grupo Admins →
uacbypass sspiouacbypass regshellcmd. - Si tienes SeImpersonatePrivilege →
potato-dcom --tokenopotato-print --token. - Verifica la escalación con
whoami. - Procede con operaciones privilegiadas (volcado de credenciales, acceso a SAM, etc.).