Track Windows  /  Teoría
03 Vector · Privilegios de token

Abuso de privilegios de token

Varios privilegios, aunque estés como usuario raso, valen por sí solos un SYSTEM. SeImpersonate tiene su propio módulo (los Potato); aquí van los otros grandes: SeBackup/SeRestore, SeTakeOwnership, SeDebug y SeLoadDriver. Si whoami /priv los muestra, ya tienes la partida ganada.

💾SeBackup / SeRestore -> leer y escribir lo que sea

SeBackup te deja LEER cualquier fichero saltando las ACL (pensado para backups). SeRestore, ESCRIBIR cualquier fichero o clave de registro. Son típicos del grupo Backup Operators.

1
Con SeBackup: roba la SAM
copias SAM + SYSTEM (reg save hklm\sam / reg save hklm\system, o por el API de backup).
2
Extrae hashes
en tu Kali: impacket-secretsdump -sam sam -system system LOCAL -> hashes NT.
3
Pass-the-Hash
usas el hash del Administrador local para entrar como admin -> SYSTEM.

SeRestore abre otras vías: sobrescribir un binario de servicio que corre como SYSTEM, o modificar el registro de un servicio.

⚓SeTakeOwnership -> apropiarte de un objeto

Te permite hacerte dueño de cualquier objeto (fichero, clave, servicio). Y el dueño puede cambiarse los permisos. El combo: tomar propiedad de un binario que ejecuta SYSTEM -> darte escritura -> reemplazarlo por tu payload.

1
Toma propiedad
takeown /f C:\ruta\al\binario.exe (o del objeto objetivo).
2
Date permisos
icacls C:\ruta\al\binario.exe /grant TUUSUARIO:F.
3
Reemplaza y dispara
sustituye el binario por el tuyo y espera a que SYSTEM lo ejecute.

🐛SeDebug -> tocar procesos de otros (incl. LSASS)

Permite abrir procesos que no son tuyos. Con él puedes volcar LSASS (credenciales en memoria) o robar el token de un proceso que corre como SYSTEM e inyectarte.

Dump de LSASSprocdump/comsvcs.dll -> mimikatz/pypykatz -> hashes y tickets en memoria.
Robo de tokenduplicar el token de un proceso SYSTEM y lanzar un cmd con él (mimikatz token::elevate, incognito).
Inyecciónmeter shellcode en un proceso privilegiado.

🔧SeLoadDriver -> cargar un driver (BYOVD)

Dejar cargar un driver en el kernel es poderosísimo: cargas un driver vulnerable firmado (Bring Your Own Vulnerable Driver) y a través de su fallo ejecutas código como kernel/SYSTEM. Es más avanzado (contexto OSCP) y hay que hacerlo con cuidado.

Típico del grupo Print Operators. En lab lo tratamos controlado; en real, es ruidoso y arriesgado.

📌Los 'menores' (menciónalos, por si caen)

SeManageVolumeacceso de bajo nivel al volumen -> escribir en zonas protegidas -> a SYSTEM por vía indirecta.
SeTcb'actuar como parte del sistema operativo' -> prácticamente SYSTEM directo.
SeCreateTokencrear tokens arbitrarios -> fabricar un token de SYSTEM.
SeImpersonate / SeAssignPrimaryTokenla familia POTATO -> su módulo dedicado.
"Tengo SeBackup pero reg save me da Access Denied"
El privilegio puede estar presente pero NO habilitado en tu token actual. Actívalo (p.ej. con un runas, una shell nueva, o herramientas que lo habiliten) o usa el API de backup directamente.
"SeDebug y no puedo abrir LSASS"
Protecciones como PPL (Protected Process Light) o Credential Guard bloquean el dump directo. Hay técnicas, pero en OSCP suele bastar con que el lab no las tenga; si las tiene, cambia de vector.
🔎 No memorices comandos. Ten el Arsenal abierto en otra pestaña y busca ahí el comando exacto cuando lo necesites. Entiende el POR QUÉ aquí; el COMANDO lo copias del Arsenal.
Abrir Arsenal