> For the complete documentation index, see [llms.txt](https://books.spartan-cybersec.com/cpad/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/cpad/post-explotacion-en-windows/fundamentos-de-escalacion-de-privilegios-en-windows/tokens-de-acceso-en-windows.md).

# Tokens de acceso en Windows

Los tokens de acceso en Windows son estructuras de datos que contienen la seguridad y la información de usuario de un proceso o hilo. Son fundamentales para el modelo de seguridad de Windows, ya que determinan los derechos y privilegios que tiene un proceso o hilo específico en el sistema.

A continuación, te proporciono detalles sobre los tokens de acceso en Windows:

1. <mark style="color:red;">**Tipos de Tokens**</mark><mark style="color:red;">:</mark> Hay dos tipos principales de tokens en Windows:
   * <mark style="color:red;">**Token de usuario**</mark><mark style="color:red;">:</mark> Representa a un usuario que se ha autenticado con éxito. Está asociado con todos los procesos iniciados por ese usuario.
   * <mark style="color:red;">**Token primario**</mark><mark style="color:red;">:</mark> Es el token asociado con un proceso cuando se inicia.
   * <mark style="color:red;">**Token de impersonación**</mark><mark style="color:red;">:</mark> Permite a un hilo actuar con diferentes niveles de privilegio de su proceso contenedor. Es útil, por ejemplo, cuando un servicio necesita realizar tareas con privilegios diferentes.
2. **I**<mark style="color:red;">**nformación en Tokens**</mark><mark style="color:red;">:</mark> Un token de acceso contiene información como:
   * **Identificador de usuario (User SID)**: Identifica al usuario asociado con el token.
   * <mark style="color:red;">**Grupos SID**</mark><mark style="color:red;">:</mark> Identifica a los grupos de los que el usuario es miembro.
   * <mark style="color:red;">**Privilegios**</mark><mark style="color:red;">:</mark> Define acciones específicas que el usuario puede realizar, como apagar el sistema o cambiar la hora del sistema.
   * <mark style="color:red;">**Tipo de token**</mark><mark style="color:red;">:</mark> Indica si el token es primario o de impersonación.
   * <mark style="color:red;">**Nivel de impersonación**</mark><mark style="color:red;">:</mark> Si es un token de impersonation, este campo especifica el nivel (Anónimo, Identificación, Impersonación, Delegación).
   * <mark style="color:red;">**Discretionary Access Control List (DACL)**</mark><mark style="color:red;">:</mark> Especifica qué objetos puede acceder el portador del token y con qué permisos.
3. <mark style="color:red;">**Impersonation**</mark><mark style="color:red;">:</mark> Esta es una característica clave en Windows que permite a un hilo tomar el token de otro usuario y "impersonarlo", es decir, actuar con los privilegios de ese usuario. Es útil en situaciones como servidores que necesitan acceder a recursos en nombre de un cliente.
4. <mark style="color:red;">**Token Stealing**</mark><mark style="color:red;">:</mark> En el contexto de la seguridad, los tokens de acceso pueden ser objeto de abuso por parte de atacantes. Si un atacante logra comprometer un proceso o hilo con privilegios elevados, puede "robar" el token asociado y usarlo para impersonar a ese usuario o proceso de alto privilegio, facilitando la escalación de privilegios o el movimiento lateral.
5. <mark style="color:red;">**Creación de Tokens**</mark><mark style="color:red;">:</mark> Los tokens de acceso se crean durante el proceso de autenticación. Cuando un usuario inicia sesión en una máquina Windows, el sistema genera un token de acceso que representa al usuario y a todos sus grupos y privilegios asociados.
6. <mark style="color:red;">**Modificación de Tokens**</mark><mark style="color:red;">:</mark> A través de APIs específicas, es posible modificar tokens, aunque generalmente esto requiere privilegios elevados. Esta capacidad puede ser abusada por malware o atacantes para alterar los derechos y permisos de un token.

Los tokens de acceso son una parte esencial de la infraestructura de seguridad de Windows. Ofrecen una gran flexibilidad en términos de gestión de identidad y acceso, pero también presentan vectoras potenciales para el abuso si no se administran y protegen adecuadamente. Es crucial para los administradores y profesionales de seguridad comprender cómo funcionan los tokens y cómo pueden ser protegidos contra abusos.

## <mark style="color:red;">Caso de estudio</mark>

Nosotros podemos validar si un proceso de CMD es privilegiado con herramientas como ProccessHacker o el explorador de procesos de Sysinternals.

<figure><img src="/files/9QSBR6uAd5L1qGVNRpVo" alt=""><figcaption></figcaption></figure>

En la evidencia previa, podemos apreciar que este proceso de CMD tiene la característica de Elevated en positivo.

Ahora vamos a validar esta misma información para un proceso de CMD no privilegiado.

<figure><img src="/files/27pSUlPZMc5Xzuy1v2Dk" alt=""><figcaption></figcaption></figure>

Recordemos que cada usuario que se conecta al sistema tiene un token de acceso con información de seguridad para esa sesión de inicio de sesión. El sistema crea un token de acceso cuando el usuario se conecta. Cada proceso ejecutado en nombre del usuario tiene una copia del token de acceso. El token identifica al usuario, los grupos del usuario y los privilegios del usuario. Un token también contiene un SID (identificador de seguridad) de inicio de sesión que identifica la sesión de inicio de sesión actual.

#### <mark style="color:red;">**Enlace de referencia:**</mark>

<https://book.hacktricks.xyz/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://books.spartan-cybersec.com/cpad/post-explotacion-en-windows/fundamentos-de-escalacion-de-privilegios-en-windows/tokens-de-acceso-en-windows.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
