
Automatise les attaques par octroi de consentement illicite contre les locataires Azure/O365 pour voler des jetons d'actualisation, exfiltrer les e-mails et les données OneDrive, et créer des règles Outlook malveillantes via une interface en ligne de commande et un portail de gestion web.
365-Stealer est un outil basé sur Python3 conçu pour automatiser les attaques par octroi de consentement illicite. Lorsqu’un utilisateur cible accorde par inadvertance une autorisation à une application malveillante, l’attaquant obtient un jeton d’actualisation de la victime. Ce jeton peut ensuite être utilisé pour générer d’autres jetons, permettant à l’attaquant d’accéder à des données sensibles telles que les e-mails, les fichiers OneDrive et les notes – sans avoir besoin d’une intervention supplémentaire de la victime. L’exploitation manuelle de cette vulnérabilité peut prendre du temps, mais 365-Stealer simplifie et automatise le processus.
Une attaque par octroi de consentement illicite se produit lorsqu’un attaquant enregistre une application malveillante dans Azure, demandant l’accès à des données sensibles telles que les contacts, les e-mails ou les documents. L’attaquant trompe un utilisateur pour qu’il consente à l’application, généralement en la présentant comme légitime. Une fois que la victime clique sur « Accepter », elle donne involontairement accès à l’attaquant, lui permettant d’agir au nom de la victime sans avoir besoin des informations d’identification de son organisation.
Pour être plus clair, une fois que l’utilisateur accorde l’autorisation, Entra ID envoie un jeton au serveur de l’attaquant. Ce jeton donne à l’attaquant la capacité de lire les e-mails, d’envoyer des e-mails, d’accéder aux fichiers OneDrive et d’effectuer d’autres actions malveillantes en utilisant les informations d’identification de la victime. Contrairement aux attaques de phishing qui reposent sur le vol de mots de passe, les attaques par octroi de consentement illicite contournent complètement l’authentification en abusant du système d’autorisations des applications cloud.
--run-app dans le terminal ou depuis le portail de gestion 365-Stealer.--no-stealing, l’outil vole uniquement les jetons sans effectuer d’actions supplémentaires, permettant à l’attaquant de les exploiter ultérieurement.Pour enregistrer automatiquement une application dans Azure à l’aide du script Python fourni, suivez ces étapes :
Assurez-vous que Python3 est installé sur votre machine.
Clonez le dépôt 365-Stealer :
git clone https://github.com/AlteredSecurity/365-Stealer.git
cd 365-Stealer
Installez les modules Python requis :
pip install -r requirements.txt
Exécutez le script d’enregistrement automatique de l’application Azure :
python 365-Stealer.py --app-registration
Si vous préférez enregistrer manuellement une application Azure, suivez ces étapes :
https://portal.azure.com et connectez-vous à votre compte.Inscriptions d’applications dans le menu de gauche.Nouvelle inscription pour commencer le processus d’enregistrement d’une nouvelle application.Comptes dans un répertoire organisationnel (n’importe quel locataire Microsoft Entra ID - Multilocataire).https://<DOMAINE/IP>:<PORT>/login/authorized, où votre domaine ou IP correspond à l’endroit où vous hébergerez l’application 365-Stealer.Inscrire pour créer l’application.
Certificats et secrets de votre application enregistrée.Nouveau secret client, fournissez une description pour le secret, puis cliquez sur Ajouter.
Autorisations API sous votre application.Ajouter une autorisation pour commencer à sélectionner les autorisations nécessaires.Microsoft Graph.Autorisations déléguées pour attribuer des autorisations qui agissent au nom de l’utilisateur connecté.
Clonez le dépôt 365-Stealer :
git clone https://github.com/AlteredSecurity/365-Stealer.git
Installez les applications requises :
Extrayez et enregistrez les fichiers :
C:\xampp\htdocs\ afin d’héberger l’application PHP et d’exécuter Python.Installez les dépendances Python : Exécutez la commande suivante pour installer les bibliothèques Python nécessaires.
cd C:\xampp\htdocs\365-Stealer
pip install -r requirements.txt
Suivez les instructions supplémentaires : Après avoir installé les applications et dépendances requises, assurez-vous de suivre les instructions fournies dans le fichier yoursVictims/Readme.md. Celui-ci vous guidera dans la création des bases de données et tables nécessaires au bon fonctionnement de 365-Stealer.
Ajustez les chemins des scripts :
365-Stealer.py, de la base de données et de python3 dans le fichier index.php situé dans C:/xampp/htdocs/yourvictims/.
Gestion des espaces dans les chemins de fichiers :
"C:/Program Files/Python/python.exe"
Liste blanche par défaut :
Ajout d’adresses IP distantes :
Désactivation de la liste blanche IP :
$enableIpWhiteList = false; dans le fichier de configuration.
Restrictions d’accès : Pour des raisons de sécurité, réservez toujours l’accès au portail de gestion 365-Stealer à une infrastructure que vous contrôlez.
Évitez l’exposition publique : N’exposez jamais le portail de gestion 365-Stealer directement sur Internet. Assurez-vous qu’il n’est accessible que via des réseaux privés sécurisés pour éviter toute compromission.
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]
optional arguments:
-h, --help show this help message and exit
--app-registration Azure App Registration
--set-config Set 365-Stealer Configuration
--get-config Get 365-Stealer Configuration
--code CODE Provide Authorization Code
--token TOKEN Provide Access Token
--client-id CLIENT_ID
Provide Application Client ID
--client-secret CLIENT_SECRET
Provide Application Client Secret
--refresh-token REFRESH_TOKEN
Provide Refresh Token
--token-path TOKEN_PATH
Provide Access Token file path
--refresh-all Steal all user's data again.
--refresh-user REFRESH_USER
Steal particular user's data again.(Provide EmailID)
--redirect-url REDIRECT_URL
Redirect Url
--database-path DATABASE_PATH
Provide Database Path
--no-stealing Steal only Tokens
--upload UPLOAD Add files in victim's OneDrive(Provide File Path)
--create-rules CREATE_RULES
Provide json file containing outlook rules
--send-mail SEND_MAIL
Provide json file to send email
--delete-all-data Delete all data from the database!
--delete-user-data DELETE_USER_DATA
Delete specific user data from the database!
--run-app Host the Phising App
--no-ssl Use http(port 80)
--port PORT Provide custom port to Host the Phishing App
--disable-logs Disable all http access logs
--custom-steal {listusers,checklicence,outlook,onedrive,onenote} [{listusers,checklicence,outlook,onedrive,onenote} ...]
Steal specific data
--injection Enable Macro Injection
--delay DELAY Delay the request by specifying time in seconds while stealing
Article de blog pour la nouvelle version de 365-Stealer, une réécriture complète de l’ancienne version. Cet article explore le fonctionnement de l’attaque par octroi de consentement illicite (ICG) dans Microsoft 365.
L’ancien article de blog - Introduction à 365-Stealer
Merci de signaler tout bogue ou demande de fonctionnalité en ouvrant un ticket (issue).
Si vous souhaitez contribuer à ce projet et l’améliorer, votre aide est la bienvenue.
--refresh-token, --client-id et --client-secret, l’attaquant peut facilement obtenir de nouveaux jetons d’accès.--app-registration automatise le processus d’enregistrement d’une application Azure, facilitant la mise en place de l’infrastructure d’attaque sans intervention manuelle.--custom-steal, l’attaquant peut voler sélectivement des données provenant de sources spécifiques comme OneDrive, Outlook, etc.database.db, qui peut être partagé avec son équipe pour exploiter les jetons et données volés existants.