Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
squarephish — 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. | Kitploit
Strumenti/GitHubGitHub/secureworks/squarephish
Strumenti di PhishingStrumenti di ImpersonificazionePhishingIngegneria SocialeAutenticazioneRed Teaming
GitHubsecureworks/squarephish

squarephish

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.

Vedi Repository
346533 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

SquarePhish

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.

root@kitploit:~

   _____                            _____  _     _     _     
  / ____|                          |  __ \| |   (_)   | |    
 | (___   __ _ _   _  __ _ _ __ ___| |__) | |__  _ ___| |__  
  \___ \ / _` | | | |/ _` | '__/ _ \  ___/| '_ \| / __| '_ \ 
  ____) | (_| | |_| | (_| | | |  __/ |    | | | | \__ \ | | |
 |_____/ \__, |\__,_|\__,_|_|  \___|_|    |_| |_|_|___/_| |_|
            | |                                              
            |_|                                            
                     _________
                    |         | /(
                    | 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

Passaggi dell'attacco

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.

root@kitploit:~
[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.

root@kitploit:~
[2022-04-08 14:32:28,796] [info] [[email protected]] Token info saved to [email protected]

L'ambito attuale:

root@kitploit:~
"scope": ".default offline_access profile openid"

Utilizzo

!IMPORTANTE: Prima di utilizzare uno dei moduli, aggiorna le informazioni richieste nel file settings.config indicate con Required.

Modulo Email

Invia alla vittima target un codice QR generato che attiverà il flusso di codice dispositivo OAuth.

root@kitploit:~
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

Modulo Server

Ospita un server a cui punterà un codice QR generato e, quando richiesto, attiverà il flusso di codice dispositivo OAuth.

root@kitploit:~
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

Configurazione

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.

root@kitploit:~
[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

[EMAIL]
SQUAREPHISH_SERVER   = ""                                                                       # Required: Provide IP address/domain name of hosted SquarePhish server
SQUAREPHISH_PORT     = 8443                                                                     # Hosted SquarePhish server port, defaulted to 8443 (this should match the below server value)
SQUAREPHISH_ENDPOINT = "/mfa"                                                                   # Hosted SquarePhish endpoint to trigger OAuth Device Code flow, defaulted to an MFA pretext (this should match the below server value)
FROM_EMAIL           = "[email protected]"                                                     # Default FROM address when sending an email
SUBJECT              = "ACTION REQUIRED: Multi-Factor Authentication (MFA) Update"              # Default SUBJECT when sending an email, defauled to an MFA pretext
EMAIL_TEMPLATE       = "pretexts/mfa/qrcode_email.html"                                         # Email body template for QR code email to victim

[SERVER]
PORT                 = 8443
FROM_EMAIL           = "[email protected]"                                                     # Default FROM address when sending an email
SUBJECT              = "ACTION REQUIRED: Multi-Factor Authentication (MFA) Update"              # Default SUBJECT when sending an email, defauled to an MFA pretext
CLIENT_ID            = "4813382a-8fa7-425e-ab75-3b753aab3abb"                                   # Authenticating client ID, defaulted to Microsoft Authenticator App
ENDPOINT             = "/mfa"                                                                   # Hosted endpoint to trigger OAuth Device Code flow, defaulted to an MFA pretext
CERT_CRT             = ""                                                                       # Server SSL certificate .crt file
CERT_KEY             = ""                                                                       # Server SSL certificate .key file
EMAIL_TEMPLATE       = "pretexts/mfa/devicecode_email.html"                                     # Email body template for device code email to victim
PERMISSION_SCOPE     = ".default offline_access profile openid"                                 # OAuth permission scope - https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent

Pretesti personalizzati

Attualmente, i pretesti predefiniti si trovano nella cartella pretexts.

Per scrivere pretesti personalizzati, utilizza il modello esistente tramite la cartella pretexts/iphone/. È necessario un modello email sia per l'email iniziale con codice QR che per l'email successiva con codice dispositivo.

Importante: Quando scrivi un pretesto personalizzato, nota la presenza di %s in entrambi i modelli di pretesto. Questo serve per consentire a SquarePhish di popolare i dati corretti durante la generazione delle email (dati del codice QR e/o valore del codice dispositivo).

OPSEC

Ci sono diverse intestazioni di risposta HTTP definite nel file utils.py. Queste intestazioni sono definite per sovrascrivere eventuali valori di intestazione di risposta Flask esistenti e per fornire una risposta più 'legittima' dal server. Questi valori di intestazione possono essere modificati, rimossi e/o è possibile includere intestazioni aggiuntive per una migliore OPSEC.

root@kitploit:~
{
    "vary": "Accept-Encoding",
    "server": "Microsoft-IIS/10.0",
    "tls_version": "tls1.3",
    "content-type": "text/html; charset=utf-8",
    "x-appversion": "1.0.8125.42964",
    "x-frame-options": "SAMEORIGIN",
    "x-ua-compatible": "IE=Edge;chrome=1",
    "x-xss-protection": "1; mode=block",
    "x-content-type-options": "nosniff",
    "strict-transport-security": "max-age=31536000",
}
Scarica lo strumento