
Automatizza attacchi di concessione illecita del consenso contro tenant Azure/O365 per rubare token di aggiornamento, esfiltrare email/dati OneDrive e creare regole Outlook dannose tramite un CLI e un portale di gestione web.
365-Stealer è uno strumento basato su Python3 progettato per automatizzare attacchi di concessione del consenso illecito. Quando un utente target concede inconsapevolmente il permesso a un'applicazione dell'attaccante, l'attaccante ottiene l'accesso al token di aggiornamento della vittima. Questo token di aggiornamento può quindi essere utilizzato per generare altri token, permettendo all'attaccante di accedere a dati sensibili come email, file su OneDrive e note, senza bisogno di ulteriori input dalla vittima. Sfruttare manualmente questa vulnerabilità può richiedere molto tempo, ma 365-Stealer semplifica e automatizza il processo.
Un attacco di concessione del consenso illecito si verifica quando un attaccante registra un'applicazione dannosa in Azure, richiedendo l'accesso a dati sensibili come contatti, email o documenti. L'attaccante inganna un utente inducendolo a dare il consenso all'app, di solito presentandola come legittima. Una volta che la vittima fa clic su "Accetta", fornisce inconsapevolmente l'accesso all'attaccante, permettendogli di agire per conto della vittima senza bisogno delle credenziali organizzative di quest'ultima.
Per spiegare più chiaramente, una volta che l'utente concede il permesso, Entra ID invia un token al server dell'attaccante. Questo token dà all'attaccante la capacità di leggere email, inviare email, accedere ai file su OneDrive e compiere altre attività dannose utilizzando le credenziali della vittima. A differenza degli attacchi di phishing che si basano sul furto di password, gli attacchi di concessione del consenso illecito bypassano completamente l'autenticazione abusando del sistema di autorizzazioni delle applicazioni cloud.
--run-app nel terminale o tramite il portale di Gestione di 365-Stealer.--no-stealing, lo strumento può rubare solo i token senza ulteriori azioni, consentendo agli attaccanti di sfruttarli successivamente.Per registrare automaticamente un'applicazione in Azure utilizzando lo script Python fornito, segui questi passaggi:
Assicurati di avere Python3 installato sulla tua macchina.
Clona il repository di 365-Stealer:
git clone https://github.com/AlteredSecurity/365-Stealer.git
cd 365-Stealer
Installa i moduli Python richiesti:
pip install -r requirements.txt
Esegui lo script automatico di registrazione dell'app Azure:
python 365-Stealer.py --app-registration
Se preferisci registrare manualmente un'applicazione Azure, segui questi passaggi:
https://portal.azure.com e accedi al tuo account.App registrations nel menu a sinistra.New registration per iniziare il processo di registrazione di una nuova applicazione.Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant).https://<DOMINIO/IP>:<PORTA>/login/authorized, dove il tuo dominio o IP corrisponde a dove ospiterai l'applicazione 365-Stealer.Register per creare l'applicazione.
Certificates & secrets sotto la tua applicazione registrata.New client secret, fornisci una descrizione per il segreto e poi fai clic su Add.
API permissions sotto la tua applicazione.Add a permission per iniziare a selezionare le autorizzazioni necessarie.Microsoft Graph.Delegated permissions per assegnare autorizzazioni che agiranno per conto dell'utente che ha effettuato l'accesso.
Clona il repository di 365-Stealer:
git clone https://github.com/AlteredSecurity/365-Stealer.git
Installa le applicazioni richieste:
Estrai e salva i file:
C:\xampp\htdocs\ per poter ospitare l'applicazione PHP ed eseguire Python.Installa le dipendenze Python: Esegui il comando seguente per installare le librerie Python necessarie.
cd C:\xampp\htdocs\365-Stealer
pip install -r requirements.txt
Segui le istruzioni di configurazione aggiuntive: Dopo aver installato le applicazioni e le dipendenze richieste, assicurati di seguire le istruzioni fornite nel file yoursVictims/Readme.md. Questo ti guiderà nella configurazione dei database e delle tabelle necessari per il corretto funzionamento di 365-Stealer.
Regola i percorsi degli script:
365-Stealer.py, il database e python3 nel file index.php situato in C:/xampp/htdocs/yourvictims/.
Gestione degli spazi nei percorsi dei file:
"C:/Program Files/Python/python.exe"
Whitelist predefinita:
Aggiunta di IP remoti:
Disabilitazione della whitelist IP:
$enableIpWhiteList = false; nel file di configurazione.
Restrizioni di accesso: Per motivi di sicurezza, limita sempre l'accesso al Portale di Gestione di 365-Stealer all'infrastruttura che controlli.
Evita l'esposizione pubblica: Non esporre mai il Portale di Gestione di 365-Stealer direttamente a Internet. Assicurati che sia accessibile solo attraverso reti private e sicure per evitare potenziali compromissioni.
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
Post del blog per la nuova versione di 365-Stealer, che è una riscrittura completa della versione precedente. Questo post esplora come funziona l'attacco di Concessione del Consenso Illecito (ICG) in Microsoft 365.
Il vecchio post del blog - Introduzione a 365-Stealer
Per favore, apri un issue se incontri un bug o hai una richiesta di funzionalità.
Se desideri contribuire a un progetto e migliorarlo, il tuo aiuto è benvenuto.
--refresh-token--client-id--client-secret--app-registration automatizza il processo di registrazione dell'app Azure, rendendo più semplice la configurazione dell'infrastruttura di attacco senza intervento manuale.--custom-steal, gli attaccanti possono rubare selettivamente dati da fonti specifiche come OneDrive, Outlook, ecc.