Access Tokens
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Access Tokens
Cada usuario conectado al sistema tiene un token de acceso con informaci贸n de seguridad para esa sesi贸n de inicio. El sistema crea un token de acceso cuando el usuario inicia sesi贸n. 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 de inicio de sesi贸n (Identificador de Seguridad) que identifica la sesi贸n de inicio actual.
Puedes ver esta informaci贸n ejecutando whoami /all
whoami /all
USER INFORMATION
----------------
User Name SID
===================== ============================================
desktop-rgfrdxl\cpolo S-1-5-21-3359511372-53430657-2078432294-1001
GROUP INFORMATION
-----------------
Group Name Type SID Attributes
============================================================= ================ ============================================================================================================= ==================================================
Mandatory Label\Medium Mandatory Level Label S-1-16-8192
Everyone Well-known group S-1-1-0 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Local account and member of Administrators group Well-known group S-1-5-114 Group used for deny only
BUILTIN\Administrators Alias S-1-5-32-544 Group used for deny only
BUILTIN\Users Alias S-1-5-32-545 Mandatory group, Enabled by default, Enabled group
BUILTIN\Performance Log Users Alias S-1-5-32-559 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\INTERACTIVE Well-known group S-1-5-4 Mandatory group, Enabled by default, Enabled group
CONSOLE LOGON Well-known group S-1-2-1 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Authenticated Users Well-known group S-1-5-11 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\This Organization Well-known group S-1-5-15 Mandatory group, Enabled by default, Enabled group
MicrosoftAccount\cpolop@outlook.com User S-1-11-96-3623454863-58364-18864-2661722203-1597581903-3158937479-2778085403-3651782251-2842230462-2314292098 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Local account Well-known group S-1-5-113 Mandatory group, Enabled by default, Enabled group
LOCAL Well-known group S-1-2-0 Mandatory group, Enabled by default, Enabled group
NT AUTHORITY\Cloud Account Authentication Well-known group S-1-5-64-36 Mandatory group, Enabled by default, Enabled group
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
============================= ==================================== ========
SeShutdownPrivilege Shut down the system Disabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeUndockPrivilege Remove computer from docking station Disabled
SeIncreaseWorkingSetPrivilege Increase a process working set Disabled
SeTimeZonePrivilege Change the time zone Disabled
o usando Process Explorer de Sysinternals (seleccionar proceso y acceder a la pesta帽a "Seguridad"):
Administrador local
Cuando un administrador local inicia sesi贸n, se crean dos tokens de acceso: uno con derechos de administrador y otro con derechos normales. Por defecto, cuando este usuario ejecuta un proceso, se utiliza el que tiene derechos regulares (no de administrador). Cuando este usuario intenta ejecutar algo como administrador ("Ejecutar como administrador", por ejemplo), se utilizar谩 el UAC para pedir permiso.
Si quieres aprender m谩s sobre el UAC, lee esta p谩gina.
Suplantaci贸n de credenciales de usuario
Si tienes credenciales v谩lidas de cualquier otro usuario, puedes crear una nueva sesi贸n de inicio de sesi贸n con esas credenciales:
runas /user:domain\username cmd.exe
El access token tambi茅n tiene una referencia de las sesiones de inicio de sesi贸n dentro del LSASS, esto es 煤til si el proceso necesita acceder a algunos objetos de la red.
Puedes lanzar un proceso que utiliza diferentes credenciales para acceder a servicios de red usando:
runas /user:domain\username /netonly cmd.exe
Esto es 煤til si tienes credenciales 煤tiles para acceder a objetos en la red, pero esas credenciales no son v谩lidas dentro del host actual, ya que solo se utilizar谩n en la red (en el host actual se utilizar谩n los privilegios de usuario actuales).
Tipos de tokens
Hay dos tipos de tokens disponibles:
- Token Primario: Sirve como representaci贸n de las credenciales de seguridad de un proceso. La creaci贸n y asociaci贸n de tokens primarios con procesos son acciones que requieren privilegios elevados, enfatizando el principio de separaci贸n de privilegios. T铆picamente, un servicio de autenticaci贸n es responsable de la creaci贸n del token, mientras que un servicio de inicio de sesi贸n maneja su asociaci贸n con el shell del sistema operativo del usuario. Vale la pena se帽alar que los procesos heredan el token primario de su proceso padre al ser creados.
- Token de Suplantaci贸n: Permite a una aplicaci贸n de servidor adoptar temporalmente la identidad del cliente para acceder a objetos seguros. Este mecanismo se estratifica en cuatro niveles de operaci贸n:
- An贸nimo: Otorga acceso al servidor similar al de un usuario no identificado.
- Identificaci贸n: Permite al servidor verificar la identidad del cliente sin utilizarla para el acceso a objetos.
- Suplantaci贸n: Permite al servidor operar bajo la identidad del cliente.
- Delegaci贸n: Similar a la Suplantaci贸n, pero incluye la capacidad de extender esta asunci贸n de identidad a sistemas remotos con los que el servidor interact煤a, asegurando la preservaci贸n de credenciales.
Tokens de Suplantaci贸n
Usando el m贸dulo incognito de metasploit, si tienes suficientes privilegios, puedes f谩cilmente listar y suplantar otros tokens. Esto podr铆a ser 煤til para realizar acciones como si fueras el otro usuario. Tambi茅n podr铆as escalar privilegios con esta t茅cnica.
Privilegios de Token
Aprende qu茅 privilegios de token pueden ser abusados para escalar privilegios:
Echa un vistazo a todos los posibles privilegios de token y algunas definiciones en esta p谩gina externa.
Referencias
Aprende m谩s sobre tokens en estos tutoriales: https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa y https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962
tip
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 馃挰 Discord group or the telegram group or follow us on Twitter 馃惁 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.