> For the complete documentation index, see [llms.txt](https://books.spartan-cybersec.com/cppj/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://books.spartan-cybersec.com/cppj/privilege-escalation-for-juniors/privesc-for-windows.md).

# PrivEsc For Windows

La escalación de privilegios es una técnica esencial en el ámbito de la ciberseguridad, particularmente en el contexto de pruebas de penetración y actividades de red teaming. En Windows, esta técnica permite a los atacantes o pentesters obtener mayores niveles de acceso, lo que les proporciona el control total sobre el sistema. Este texto explora la necesidad de escalar privilegios en Windows, la importancia del usuario `NT AUTHORITY\SYSTEM`, los diferentes tipos de privilegios en Windows, y las técnicas más comunes utilizadas para escalar privilegios.

## <mark style="color:green;">**Necesidad de Escalar Privilegios en Windows**</mark>

Escalar privilegios en Windows es fundamental porque la mayoría de los ataques exitosos dependen de obtener acceso a niveles superiores de control. Esto se debe a varias razones:

1. <mark style="color:green;">**Acceso Completo al Sistema**</mark><mark style="color:green;">:</mark> Con privilegios elevados, un atacante puede instalar y ejecutar cualquier software, modificar o eliminar archivos, y alterar configuraciones del sistema sin restricciones.
2. <mark style="color:green;">**Persistencia**</mark><mark style="color:green;">:</mark> Los atacantes pueden establecer mecanismos para mantener acceso persistente al sistema, incluso después de reinicios o intentos de limpieza.
3. <mark style="color:green;">**Movimiento Lateral**</mark><mark style="color:green;">:</mark> Los privilegios elevados permiten a los atacantes moverse lateralmente dentro de una red para comprometer otros sistemas.

## <mark style="color:green;">**NT AUTHORITY\SYSTEM**</mark>

El usuario `NT AUTHORITY\SYSTEM` es la cuenta más privilegiada en un sistema Windows. Equivale al usuario root en sistemas Unix/Linux y tiene control total sobre el sistema operativo.

* <mark style="color:green;">**Privilegios**</mark><mark style="color:green;">:</mark> Puede acceder y modificar cualquier recurso del sistema, incluyendo archivos, procesos, y servicios.
* <mark style="color:green;">**Importancia**</mark><mark style="color:green;">:</mark> Obtener acceso como `SYSTEM` permite a un atacante tener control absoluto y hacer cambios que otros usuarios, incluso administradores, no pueden realizar.

## <mark style="color:green;">**Privilegios en Windows: Archivos y Usuarios**</mark>

### <mark style="color:green;">**Privilegios de Archivos**</mark>

En Windows, los privilegios de archivos se gestionan mediante permisos de sistema de archivos NTFS. Estos permisos determinan quién puede leer, escribir, ejecutar o modificar archivos y carpetas.

* <mark style="color:green;">**Tipos de Permisos**</mark><mark style="color:green;">:</mark> Full Control, Modify, Read & Execute, List Folder Contents, Read, Write.
* <mark style="color:green;">**Listas de Control de Acceso (ACL)**</mark><mark style="color:green;">:</mark> Utilizadas para definir los permisos asignados a cada usuario o grupo sobre un archivo o carpeta.

### <mark style="color:green;">**Privilegios de Usuarios**</mark>

Los privilegios de usuarios en Windows se asignan mediante roles y grupos de seguridad.

* <mark style="color:green;">**Usuarios Estándar**</mark><mark style="color:green;">:</mark> Tienen permisos limitados y no pueden realizar cambios que afecten a otros usuarios o al sistema operativo.
* <mark style="color:green;">**Administradores**</mark><mark style="color:green;">:</mark> Tienen permisos elevados, incluyendo la instalación de software, configuración del sistema y acceso a la mayoría de los archivos.
* <mark style="color:green;">**SYSTEM**</mark><mark style="color:green;">:</mark> Como se mencionó, tiene el control total del sistema.

## <mark style="color:green;">**Diferencias entre Escalación Local de Usuario y Escalación en Active Directory**</mark>

### <mark style="color:green;">**Escalación Local de Usuario**</mark>

* <mark style="color:green;">**Definición**</mark><mark style="color:green;">:</mark> Obtención de privilegios elevados en un único sistema.
* <mark style="color:green;">**Objetivo**</mark><mark style="color:green;">:</mark> Convertirse en administrador o `SYSTEM` en ese sistema específico.
* <mark style="color:green;">**Técnicas Comunes**</mark><mark style="color:green;">:</mark> Explotación de vulnerabilidades locales, abuso de configuraciones de UAC, inyección de DLL, etc.

### <mark style="color:green;">**Escalación en Active Directory**</mark>

* <mark style="color:green;">**Definición**</mark><mark style="color:green;">:</mark> Obtención de privilegios elevados en un entorno de red basado en Active Directory (AD).
* <mark style="color:green;">**Objetivo**</mark><mark style="color:green;">:</mark> Convertirse en un administrador de dominio, lo que otorga control sobre todos los sistemas y usuarios dentro del dominio.
* <mark style="color:green;">**Técnicas Comunes**</mark><mark style="color:green;">:</mark> Abuso de credenciales de dominio, explotación de vulnerabilidades en servidores de AD, ataques Pass-the-Hash y Golden Ticket.

## <mark style="color:green;">**Tokens de Altos Privilegios**</mark>

En Windows, los tokens son objetos de seguridad que contienen información sobre los permisos y privilegios de un usuario.

* <mark style="color:green;">**Tokens de Acceso**</mark><mark style="color:green;">:</mark> Son utilizados para determinar los permisos que tiene un proceso en particular.
* <mark style="color:green;">**Impersonation Tokens**</mark><mark style="color:green;">:</mark> Permiten que un proceso ejecute acciones en nombre de otro usuario, a menudo usado para tareas administrativas.
* <mark style="color:green;">**Técnicas de Abuso de Tokens**</mark><mark style="color:green;">:</mark> Los atacantes pueden robar o manipular tokens de usuarios privilegiados para escalar sus propios privilegios.

## <mark style="color:green;">**Técnicas Comunes de Escalación de Privilegios en Windows**</mark>

1. **Abuso de Servicios de Windows**
   * <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Modificar servicios configurados incorrectamente para ejecutar código malicioso con privilegios elevados.
   * <mark style="color:green;">**Herramientas**</mark><mark style="color:green;">:</mark> `sc`, `net start`, y PowerSploit.
2. **Inyección de DLL**
   * <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Cargar una DLL maliciosa en un proceso privilegiado.
   * <mark style="color:green;">**Técnicas**</mark><mark style="color:green;">:</mark> Modificación de entradas de registro o abuso de procesos confiables.
3. **Exploits Conocidos**
   * <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Utilizar vulnerabilidades específicas de Windows para obtener privilegios elevados.
   * <mark style="color:green;">**Ejemplos**</mark><mark style="color:green;">:</mark> MS16-032, MS17-010 (EternalBlue).
4. **Manipulación de Archivos y Directorios**
   * <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Explotar permisos incorrectos en archivos y directorios para ejecutar código con privilegios elevados.
   * <mark style="color:green;">**Herramientas**</mark><mark style="color:green;">:</mark> ICACLS, PowerUp.
5. **Token Impersonation**
   * <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Robar o manipular tokens de usuarios con altos privilegios para ejecutar comandos en su nombre.
   * <mark style="color:green;">**Herramientas**</mark><mark style="color:green;">:</mark> Mimikatz.
6. **UAC Bypass**
   * <mark style="color:green;">**Descripción**</mark><mark style="color:green;">:</mark> Bypassear el User Account Control (UAC) para ejecutar procesos con privilegios elevados sin que se soliciten credenciales.
   * <mark style="color:green;">**Técnicas**</mark><mark style="color:green;">:</mark> Utilización de aplicaciones de confianza o configuraciones incorrectas de UAC.
