PE-TOK
TokenTacticsV2
Kit de herramientas en PowerShell para manipular y refrescar tokens de acceso/refresco de Entra ID entre distintos scopes de recursos de Microsoft, con soporte para CAE y el endpoint v2.
Sitio oficialVolver al catálogo
RESUMEN
TokenTacticsV2 (f-bader/TokenTacticsV2) es un módulo de PowerShell mantenido por Fabian Bader como un fork activamente actualizado del TokenTactics original de Stephan Borosh (@rvrsh3ll) y Bobby Cooke (@0xBoku), que agrega soporte para tokens de Continuous Access Evaluation (CAE) y el endpoint de tokens v2 que el proyecto original no cubría. Permite obtener un refresh token de Entra ID — típicamente vía el flujo de phishing por device code — y luego refrescarlo hacia recursos compatibles con FOCI como Microsoft Graph, Outlook/Substrate, SharePoint o Teams.
Dado que un refresh token FOCI emitido a un cliente de primera parte de Microsoft puede canjearse por tokens de acceso hacia muchas otras apps de primera parte, TokenTacticsV2 se usa para demostrar hasta dónde puede llegar un atacante tras un único phishing por device code o robo de token exitoso — leer correo con `Invoke-RefreshToSubstrateToken`, extraer datos del tenant con un token de Graph, o alcanzar Teams y SharePoint, todo sin tocar nunca la contraseña del usuario.
CASOS DE USO
Casos de uso en un engagement
- 01
Convertir un refresh token de device code phisheado u obtenido en tokens de acceso para Outlook, SharePoint, Teams y Microsoft Graph.
- 02
Demostrar el alcance real de un único refresh token FOCI obtenido sobre los recursos de Microsoft 365 de un tenant.
- 03
Probar si Continuous Access Evaluation y el acceso condicional realmente limitan la vigencia y el alcance de un token movido a otro recurso.
- 04
Construir una simulación de phishing por device code para mostrarle a un cliente cómo un prompt de inicio de sesión falso lleva a acceso persistente al correo o los archivos.
PRIMEROS PASOS
Una vez autorizadas las pruebas post-explotación con un token de Entra ID obtenido o el flujo device code, para refrescar y mover ese token entre distintos scopes de recursos de Microsoft (Graph, Outlook, SharePoint, Teams).
- Importa el módulo una vez que un engagement de simulación de phishing o pruebas de tokens esté acotado y autorizado: `Import-Module .\TokenTactics.psd1`.
- Obtén un refresh token inicial, normalmente vía el flujo de device code incorporado: `Get-EntraIDTokenFromDeviceCode -Client MSGraph`.
- Envía el código/URL resultante solo a los usuarios de prueba específicos acordados con el cliente, nunca a miembros arbitrarios del tenant.
- Usa el refresh token guardado en `$response` con funciones como `Invoke-RefreshToSubstrateToken` o `Invoke-RefreshToMSGraphToken` para moverte a otros recursos, y registra cada movimiento para el informe.
Import-Module .\TokenTactics.psd1; Get-EntraIDTokenFromDeviceCode -Client MSGraphANTES DE USARLA
Qué revisar antes de lanzarla
El flujo de device code en el que se basa esta herramienta es en sí mismo una técnica de phishing contra usuarios reales — debe autorizarse explícitamente por escrito y acotarse a usuarios de prueba nombrados antes de enviar cualquier código/URL, no basta con aprobarlo solo a nivel de infraestructura.
Cada refresco de token y movimiento a otro recurso es un evento real de inicio de sesión/token en Entra ID visible en los logs de sign-in y, si está habilitada, en la telemetría de Continuous Access Evaluation — documenta la actividad esperada para el debrief con el equipo blue team.
Los refresh tokens obtenidos así siguen siendo válidos hasta que se revocan o expiran; acuerda con el cliente un punto de corte firme y revoca los tokens de prueba (por ejemplo desde el portal de Entra o con AADInternals) al terminar el engagement.