Saltar al contenido
OPS // KITitspentest.sh

X-365

365-Stealer

Automatiza de punta a punta el ataque de illicit consent grant en Entra ID — registro de app maliciosa, página de phishing y exfiltración de datos tras el consentimiento.

Sitio oficialVolver al catálogo

RESUMEN

365-Stealer (AlteredSecurity/365-Stealer) es una herramienta en Python3, con un portal de gestión opcional basado en PHP, que automatiza toda la cadena del ataque de illicit consent grant contra Entra ID: `--app-registration` scriptea el registro de la app maliciosa en Azure y permite al operador elegir autenticación por client secret o device code y conjuntos de permisos default/LowImpact/personalizados, `--run-app` aloja la página de phishing de consentimiento, y en cuanto la víctima hace clic en Aceptar, la herramienta captura su refresh token y lo guarda para reutilizarlo.

Más allá del robo inicial de consentimiento, automatiza lo que un red team haría manualmente para mostrar impacto: solicitar nuevos tokens de acceso para usuarios comprometidos a demanda, extraer correo, archivos de OneDrive y contenido de OneNote a su base de datos de gestión, enviar correo o crear reglas de reenvío maliciosas en Outlook en nombre de la víctima, e incluso poner un backdoor en un `.docx` almacenado en el OneDrive de la víctima. Un flag `--custom-steal` y un retraso configurable permiten al operador acotar exactamente qué se exfiltra y con qué agresividad, algo relevante para mantenerse dentro de un documento de reglas de engagement firmado.

CASOS DE USO

Casos de uso en un engagement

  • 01

    Ejecutar una simulación de phishing de illicit consent grant de punta a punta, desde el registro de la app maliciosa hasta el acceso a datos tras el consentimiento, para mostrarle a un cliente un impacto de negocio concreto.

  • 02

    Demostrar que un refresh token capturado le da a un atacante acceso a correo, OneDrive y OneNote durante un período prolongado sin necesitar nunca la contraseña de la víctima.

  • 03

    Mostrar cómo un consentimiento comprometido puede escalarse a mayor compromiso, por ejemplo reglas de reenvío maliciosas en Outlook o un documento de OneDrive con backdoor.

  • 04

    Probar si el flujo de consentimiento de administrador y la revisión de permisos de apps de un tenant realmente detectan una solicitud de scopes de Graph de alto impacto.

PRIMEROS PASOS

Una vez autorizada y acotada explícitamente una simulación de phishing de illicit consent grant contra el tenant Entra ID de un cliente, para automatizar el registro de la app, el phishing de consentimiento y el acceso a datos posterior.

  1. Consigue que la simulación — usuarios objetivo, scopes de permisos, acciones de exfiltración y ventana temporal — esté explícitamente autorizada y acotada por escrito antes de registrar ninguna app.
  2. Clona el repositorio e instala las dependencias: `git clone https://github.com/AlteredSecurity/365-Stealer.git && cd 365-Stealer && pip install -r requirements.txt`.
  3. Registra la aplicación de phishing, ya sea de forma automatizada o manual en el portal de Azure: `python 365-Stealer.py --app-registration`.
  4. Aloja la página de consentimiento con `--run-app` y envía el enlace de consentimiento resultante solo a los destinatarios de prueba preaprobados.
  5. Usa `--custom-steal` y la opción de retraso para limitar exactamente qué se extrae de las cuentas que consienten, en línea con lo autorizado por el cliente.
python — bash
python 365-Stealer.py --app-registration

ANTES DE USARLA

Qué revisar antes de lanzarla

Esta herramienta apunta directamente al criterio de usuarios finales reales y a los datos de su correo/archivos — requiere autorización explícita por escrito que nombre a los usuarios objetivo, los permisos exactos solicitados y los datos que la simulación puede tocar, por separado de cualquier alcance de pentest limitado a infraestructura.

Acciones como enviar correo en nombre de la víctima, crear reglas de reenvío en Outlook o poner un backdoor en archivos de OneDrive son destructivas/persistentes — consigue el visto bueno específico del cliente antes de habilitar cualquiera de ellas, y elimínalas antes de cerrar el engagement.

Una ejecución exitosa deja un evento de consentimiento de app OAuth y actividad posterior de esa app en la Graph API en los logs de auditoría e inicio de sesión de Entra ID — documenta exactamente qué debería aparecer ahí para que el blue team pueda validar la detección durante el debrief.

SIGUE EXPLORANDO

Ver toda la fase →