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.
reg save hklm\sam / reg save hklm\system, o por el API de backup).impacket-secretsdump -sam sam -system system LOCAL -> hashes NT.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.
takeown /f C:\ruta\al\binario.exe (o del objeto objetivo).icacls C:\ruta\al\binario.exe /grant TUUSUARIO:F.🐛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 LSASS | procdump/comsvcs.dll -> mimikatz/pypykatz -> hashes y tickets en memoria. |
| Robo de token | duplicar el token de un proceso SYSTEM y lanzar un cmd con él (mimikatz token::elevate, incognito). |
| Inyección | meter 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)
| SeManageVolume | acceso 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. |
| SeCreateToken | crear tokens arbitrarios -> fabricar un token de SYSTEM. |
| SeImpersonate / SeAssignPrimaryToken | la familia POTATO -> su módulo dedicado. |