
Strumento di phishing avanzato che combina il flusso di autenticazione OAuth Device Code con codici QR per raccogliere token di autenticazione Microsoft tramite pretesti di aggiornamento MFA.
SquarePhish è uno strumento di phishing avanzato che utilizza una tecnica che combina il flusso di autenticazione tramite codice dispositivo OAuth e i codici QR.
Vedi PhishInSuits per maggiori dettagli sull'utilizzo del flusso di codice dispositivo OAuth per attacchi di phishing.
_____ _____ _ _ _
/ ____| | __ \| | (_) | |
| (___ __ _ _ _ __ _ _ __ ___| |__) | |__ _ ___| |__
\___ \ / _` | | | |/ _` | '__/ _ \ ___/| '_ \| / __| '_ \
____) | (_| | |_| | (_| | | | __/ | | | | | \__ \ | | |
|_____/ \__, |\__,_|\__,_|_| \___|_| |_| |_|_|___/_| |_|
| |
|_|
_________
| | /(
| O |/ (
|> |\ ( v0.1.0
|_________| \(
usage: squish.py [-h] {email,server} ...
SquarePhish -- v0.1.0
optional arguments:
-h, --help show this help message and exit
modules:
{email,server}
email send a malicious QR Code email to a provided victim
server host a malicious server QR Codes generated via the 'email' module will
point to that will activate the malicious OAuth Device Code flow
Un attaccante può utilizzare il modulo email di SquarePhish per inviare un'email contenente un codice QR malevolo a una vittima. Il pretesto predefinito è che la vittima deve aggiornare la propria autenticazione MFA Microsoft per continuare a utilizzare la posta elettronica mobile. L'ID client attualmente in uso è l'app Microsoft Authenticator.
Inviando prima un codice QR, l'attaccante può evitare di avviare prematuramente il flusso di codice dispositivo OAuth, che dura solo 15 minuti.
La vittima scannerizzerà quindi il codice QR presente nel corpo dell'email con il proprio dispositivo mobile. Il codice QR indirizzerà la vittima al server controllato dall'attaccante (che esegue il modulo server di SquarePhish), con un parametro URL impostato sul suo indirizzo email.
Quando la vittima visita il server SquarePhish malevolo, viene avviato un processo in background che inizierà il flusso di autenticazione tramite codice dispositivo OAuth e invierà alla vittima un codice dispositivo generato, che dovrà inserire nel sito legittimo di Microsoft per i codici dispositivo (questo avvierà il timer di 15 minuti del flusso OAuth).
Il server SquarePhish continuerà quindi a interrogare l'autenticazione in background.
[2022-04-08 14:31:51,962] [info] [[email protected]] Polling for user authentication...
[2022-04-08 14:31:57,185] [info] [[email protected]] Polling for user authentication...
[2022-04-08 14:32:02,372] [info] [[email protected]] Polling for user authentication...
[2022-04-08 14:32:07,516] [info] [[email protected]] Polling for user authentication...
[2022-04-08 14:32:12,847] [info] [[email protected]] Polling for user authentication...
[2022-04-08 14:32:17,993] [info] [[email protected]] Polling for user authentication...
[2022-04-08 14:32:23,169] [info] [[email protected]] Polling for user authentication...
[2022-04-08 14:32:28,492] [info] [[email protected]] Polling for user authentication...
La vittima visiterà quindi il sito di autenticazione tramite codice dispositivo di Microsoft dal link fornito nell'email o tramite un reindirizzamento visitando l'URL di SquarePhish sul proprio dispositivo mobile.
La vittima inserirà il codice dispositivo fornito e riceverà una richiesta di consenso.
Dopo che la vittima si autentica e dà il consenso, un token di autenticazione viene salvato localmente e fornirà all'attaccante l'accesso tramite l'ambito definito dell'applicazione richiedente.
[2022-04-08 14:32:28,796] [info] [[email protected]] Token info saved to [email protected]
L'ambito attuale:
"scope": ".default offline_access profile openid"
!IMPORTANTE: Prima di utilizzare uno dei moduli, aggiorna le informazioni richieste nel file settings.config indicate con
Required.
Invia alla vittima target un codice QR generato che attiverà il flusso di codice dispositivo OAuth.
usage: squish.py email [-h] [-c CONFIG] [--debug] [-e EMAIL]
optional arguments:
-h, --help show this help message and exit
-c CONFIG, --config CONFIG
squarephish config file [Default: settings.config]
--debug enable server debugging
-e EMAIL, --email EMAIL
victim email address to send initial QR code email to
-u URL, --url URL force a url to use, this will override the default
and will not work with default device flow or
pretext but can be useful if using squarephish to
send lures directing targets to other servers
Ospita un server a cui punterà un codice QR generato e, quando richiesto, attiverà il flusso di codice dispositivo OAuth.
usage: squish.py server [-h] [-c CONFIG] [--debug]
optional arguments:
-h, --help show this help message and exit
-c CONFIG, --config CONFIG
squarephish config file [Default: settings.config]
--debug enable server debugging
Tutte le impostazioni applicabili per l'esecuzione sono disponibili e possono essere modificate tramite il file settings.config. Ci sono diverse informazioni obbligatorie che non hanno un valore predefinito e che devono essere compilate dall'utente: SMTP_EMAIL, SMTP_PASSWORD e SQUAREPHISH_SERVER (solo quando si esegue il modulo email). Tutte le opzioni di configurazione sono state documentate all'interno del file delle impostazioni tramite commenti inline.
Nota: I valori SQUAREPHISH_ presenti nella sezione 'EMAIL' della configurazione devono corrispondere ai valori impostati quando si esegue il server SquarePhish.
[DEFAULT]
SMTP_PORT = 465 # SMTP port, defaulted to 465
SMTP_SERVER = "smtp.gmail.com" # SMTP server, defaulted to GMail
SMTP_PROTO = "ssl" # SMTP protocol: {ssl, tls, None (leave empty)}
SMTP_EMAIL = "" # Provide authenticating email address here
SMTP_PASSWORD = "" # Provide authenticating password here