Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
squarephish — Erweitertes Phishing-Tool, das den OAuth-Gerätecode-Authentifizierungsablauf mit QR-Codes kombiniert, um Microsoft-Authentifizierungstoken über MFA-Update-Vorwände zu stehlen. | Kitploit
Tools/GitHubGitHub/secureworks/squarephish
Phishing-ToolsImpersonations-ToolsPhishingSocial EngineeringAuthentifizierungRed Teaming
GitHubsecureworks/squarephish

squarephish

Erweitertes Phishing-Tool, das den OAuth-Gerätecode-Authentifizierungsablauf mit QR-Codes kombiniert, um Microsoft-Authentifizierungstoken über MFA-Update-Vorwände zu stehlen.

Repository anzeigen
34653vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

SquarePhish

SquarePhish ist ein fortschrittliches Phishing-Tool, das eine Technik verwendet, die den OAuth-Gerätecode-Authentifizierungsfluss und QR-Codes kombiniert.

Siehe PhishInSuits für weitere Details zur Verwendung des OAuth-Gerätecode-Flows für Phishing-Angriffe.

root@kitploit:~

   _____                            _____  _     _     _     
  / ____|                          |  __ \| |   (_)   | |    
 | (___   __ _ _   _  __ _ _ __ ___| |__) | |__  _ ___| |__  
  \___ \ / _` | | | |/ _` | '__/ _ \  ___/| '_ \| / __| '_ \ 
  ____) | (_| | |_| | (_| | | |  __/ |    | | | | \__ \ | | |
 |_____/ \__, |\__,_|\__,_|_|  \___|_|    |_| |_|_|___/_| |_|
            | |                                              
            |_|                                            
                     _________
                    |         | /(
                    | O       |/ (
                    |>        |\ (  v0.1.0
                    |_________| \(

usage: squish.py [-h] {email,server} ...

SquarePhish -- v0.1.0

optional arguments:
  -h, --help      Zeigt diese Hilfemeldung an und beendet

modules:
  {email,server}
    email         Senden einer bösartigen QR-Code-E-Mail an ein angegebenes Opfer
    server        Hosten eines bösartigen Servers, auf den die vom 'email'-Modul generierten QR-Codes verweisen, um den bösartigen OAuth-Gerätecode-Fluss zu aktivieren

Angriffsschritte

Ein Angreifer kann das email-Modul von SquarePhish verwenden, um eine bösartige QR-Code-E-Mail an ein Opfer zu senden. Der Standardvorwand ist, dass das Opfer seine Microsoft MFA-Authentifizierung aktualisieren muss, um mobile E-Mails weiterhin nutzen zu können. Die derzeit verwendete Client-ID ist die der Microsoft Authenticator App.

Durch das vorherige Senden eines QR-Codes kann der Angreifer vermeiden, den nur 15 Minuten gültigen OAuth-Gerätecode-Fluss vorzeitig zu starten.

Das Opfer scannt dann den in der E-Mail gefundenen QR-Code mit seinem Mobilgerät. Der QR-Code leitet das Opfer zum vom Angreifer kontrollierten Server (der das server-Modul von SquarePhish ausführt) weiter, wobei ein URL-Parameter auf die E-Mail-Adresse des Opfers gesetzt ist.

Wenn das Opfer den bösartigen SquarePhish-Server besucht, wird ein Hintergrundprozess ausgelöst, der den OAuth-Gerätecode-Authentifizierungsfluss startet und dem Opfer einen generierten Gerätecode per E-Mail sendet, den es dann auf der legitimen Microsoft-Gerätecode-Website eingeben muss (dies startet den 15-Minuten-Timer des OAuth-Gerätecode-Flusses).

Der SquarePhish-Server wird dann im Hintergrund weiterhin auf Authentifizierung abfragen.

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...

Das Opfer besucht dann die Microsoft-Gerätecode-Authentifizierungsseite entweder über den in der E-Mail bereitgestellten Link oder über eine Weiterleitung nach dem Besuch der SquarePhish-URL auf seinem Mobilgerät.

Das Opfer gibt dann den bereitgestellten Gerätecode ein und wird um Zustimmung gebeten.

Nachdem das Opfer authentifiziert und zugestimmt hat, wird ein Authentifizierungstoken lokal gespeichert und bietet dem Angreifer Zugriff über den definierten Bereich der anfordernden Anwendung.

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

Die aktuelle Bereichsdefinition:

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

Verwendung

!WICHTIG: Bevor Sie eines der Module verwenden, aktualisieren Sie die erforderlichen Informationen in der Datei settings.config, die mit Required gekennzeichnet sind.

E-Mail-Modul

Senden Sie dem Zielopfer einen generierten QR-Code, der den OAuth-Gerätecode-Fluss auslöst.

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

Server-Modul

Hosten Sie einen Server, auf den ein generierter QR-Code verweist und der bei einer Anfrage den OAuth-Gerätecode-Fluss auslöst.

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

Konfiguration

Alle anwendbaren Einstellungen für die Ausführung können in der Datei settings.config gefunden und geändert werden. Es gibt mehrere erforderliche Informationen, die keinen Standardwert haben und vom Benutzer ausgefüllt werden müssen: SMTP_EMAIL, SMTP_PASSWORD und SQUAREPHISH_SERVER (nur bei Ausführung des E-Mail-Moduls). Alle Konfigurationsoptionen wurden in der Einstellungsdatei durch Inline-Kommentare dokumentiert.

Hinweis: Die im 'EMAIL'-Abschnitt der Konfiguration vorhandenen SQUAREPHISH_-Werte sollten mit den beim Ausführen des SquarePhish-Servers festgelegten Werten übereinstimmen.

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

Benutzerdefinierte Vorwände

Derzeit befinden sich die vordefinierten Vorwände im Ordner pretexts.

Um benutzerdefinierte Vorwände zu schreiben, verwenden Sie die vorhandene Vorlage im Ordner pretexts/iphone/. Eine E-Mail-Vorlage ist sowohl für die anfängliche QR-Code-E-Mail als auch für die nachfolgende Gerätecode-E-Mail erforderlich.

Wichtig: Beachten Sie beim Schreiben eines benutzerdefinierten Vorwands das Vorhandensein von %s in beiden Vorwandvorlagen. Dies dient dazu, SquarePhish zu ermöglichen, beim Generieren von E-Mails die korrekten Daten (QR-Code-Daten und/oder Gerätecode-Wert) einzufügen.

OPSEC

Im File utils.py sind mehrere HTTP-Antwortheader definiert. Diese Header dienen dazu, alle vorhandenen Flask-Antwortheaderwerte zu überschreiben und eine 'legitimere' Antwort vom Server zu liefern. Diese Headerwerte können geändert, entfernt und/oder zusätzliche Header für eine bessere OPSEC hinzugefügt werden.

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",
}
Tool herunterladen