
أداة تصيد متقدمة تجمع بين تدفق مصادقة OAuth Device Code ورموز QR لاستخراج رموز مصادقة Microsoft عبر ذرائع تحديث MFA.
SquarePhish هي أداة تصيد متقدمة تستخدم تقنية تجمع بين تدفق المصادقة برمز جهاز OAuth ورموز QR.
راجع PhishInSuits لمزيد من التفاصيل حول استخدام تدفق رمز جهاز OAuth لهجمات التصيد.
_____ _____ _ _ _
/ ____| | __ \| | (_) | |
| (___ __ _ _ _ __ _ _ __ ___| |__) | |__ _ ___| |__
\___ \ / _` | | | |/ _` | '__/ _ \ ___/| '_ \| / __| '_ \
____) | (_| | |_| | (_| | | | __/ | | | | | \__ \ | | |
|_____/ \__, |\__,_|\__,_|_| \___|_| |_| |_|_|___/_| |_|
| |
|_|
_________
| | /(
| 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
يمكن للمهاجم استخدام وحدة email من SquarePhish لإرسال بريد إلكتروني ضار برمز QR إلى الضحية. الذريعة الافتراضية هي أن الضحية مطالب بتحديث مصادقة Microsoft MFA الخاصة به لمواصلة استخدام البريد الإلكتروني على الجهاز المحمول. معرّف العميل الحالي المستخدم هو تطبيق Microsoft Authenticator.
من خلال إرسال رمز QR أولاً، يمكن للمهاجم تجنب بدء تدفق رمز جهاز OAuth مبكرًا والذي يستمر لمدة 15 دقيقة فقط.
بعد ذلك، سيقوم الضحية بمسح رمز QR الموجود في نص البريد الإلكتروني باستخدام جهازه المحمول. سيقوم رمز QR بتوجيه الضحية إلى الخادم الذي يتحكم فيه المهاجم (الذي يقوم بتشغيل وحدة server من SquarePhish)، مع معلمة عنوان URL مضبوطة على عنوان بريده الإلكتروني.
عندما يزور الضحية خادم SquarePhish الضار، يتم تشغيل عملية خلفية تبدأ تدفق مصادقة رمز جهاز OAuth وترسل للضحية رمز جهاز تم إنشاؤه عبر البريد الإلكتروني، والذي يُطلب منه إدخاله في موقع ويب Microsoft الرسمي لرمز الجهاز (سيؤدي هذا إلى بدء عداد الوقت لتدفق رمز جهاز OAuth لمدة 15 دقيقة).
بعد ذلك، سيواصل خادم SquarePhish الاستقصاء عن المصادقة في الخلفية.
[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...
بعد ذلك، سيزور الضحية موقع Microsoft لمصادقة رمز الجهاز إما من الرابط المقدم في البريد الإلكتروني أو من خلال إعادة توجيه من زيارة رابط SquarePhish على جهازه المحمول.
ثم سيدخل الضحية رمز الجهاز المقدم وسيُطلب منه الموافقة.
بعد أن يقوم الضحية بالمصادقة والموافقة، يتم حفظ رمز مصادقة محليًا وسيوفر للمهاجم الوصول عبر النطاق المحدد للتطبيق الطالب.
[2022-04-08 14:32:28,796] [info] [[email protected]] Token info saved to [email protected]
تعريف النطاق الحالي:
"scope": ".default offline_access profile openid"
!هام: قبل استخدام أي من الوحدتين، قم بتحديث المعلومات المطلوبة في ملف settings.config المشار إليها بـ
Required.
أرسل رمز QR تم إنشاؤه إلى الضحية المستهدفة والذي سيؤدي إلى تشغيل تدفق رمز جهاز 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
استضافة خادم سيتم توجيه رمز QR تم إنشاؤه إليه، وعند الطلب، سيؤدي إلى تشغيل تدفق رمز جهاز 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
يمكن العثور على جميع الإعدادات القابلة للتطبيق للتنفيذ وتعديلها عبر ملف settings.config. هناك عدة أجزاء من المعلومات المطلوبة التي ليس لها قيمة افتراضية ويجب على المستخدم ملؤها: SMTP_EMAIL و SMTP_PASSWORD و SQUAREPHISH_SERVER (فقط عند تنفيذ وحدة البريد الإلكتروني). تم توثيق جميع خيارات التهيئة داخل ملف الإعدادات عبر تعليقات داخل السطر.
ملاحظة: يجب أن تتطابق قيم SQUAREPHISH_ الموجودة في قسم 'EMAIL' من التهيئة مع القيم المحددة عند تشغيل خادم 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