
Erweitertes Phishing-Tool, das den OAuth-Gerätecode-Authentifizierungsablauf mit QR-Codes kombiniert, um Microsoft-Authentifizierungstoken über MFA-Update-Vorwände zu stehlen.
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.
_____ _____ _ _ _
/ ____| | __ \| | (_) | |
| (___ __ _ _ _ __ _ _ __ ___| |__) | |__ _ ___| |__
\___ \ / _` | | | |/ _` | '__/ _ \ ___/| '_ \| / __| '_ \
____) | (_| | |_| | (_| | | | __/ | | | | | \__ \ | | |
|_____/ \__, |\__,_|\__,_|_| \___|_| |_| |_|_|___/_| |_|
| |
|_|
_________
| | /(
| 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
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.
[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.
[2022-04-08 14:32:28,796] [info] [[email protected]] Token info saved to [email protected]
Die aktuelle Bereichsdefinition:
"scope": ".default offline_access profile openid"
!WICHTIG: Bevor Sie eines der Module verwenden, aktualisieren Sie die erforderlichen Informationen in der Datei settings.config, die mit
Requiredgekennzeichnet sind.
Senden Sie dem Zielopfer einen generierten QR-Code, der den OAuth-Gerätecode-Fluss auslöst.
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
Hosten Sie einen Server, auf den ein generierter QR-Code verweist und der bei einer Anfrage den OAuth-Gerätecode-Fluss auslöst.
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
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.
[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