
Microsoft Teams उपयोगकर्ताओं को फ़िशिंग संदेश और अटैचमेंट भेजें
...
:-++++++=-.
.=+++++++++++-
.++++++++++++++= :------: :-:--.
:+++++++++++++++. .---------- #= .-+.
:+++++++++++++++. -----------: :#= :#.
:--------------------------=++++++++- .------------ .=+ ++
----------------------------+++++*+-. :+=-----===: -+-.+:
:---------------------------++++=-. .=+++++=-. .=+:.
:------=%%%%%%%%%%%%--------:... .:::.. -*=-:
:------=****#@@#****--------=++++++++++++++-----------. -#++-
:----------:+@@+:-----------+++++++++++++++=----------- -#++-
:-----------+@@*------------+++++++++++++++=-----------. -*+*-
:-----------+@@*------------+++++++++++++++=-----------. . -*++-
:-----------+@@*------------+++++++++++++++=-----------. -- -*++-
:-----------+@@*------------+++++++++++++++=-----------. . == -*++- .=
:-----------+@@+------------+++++++++++++++=-----------. .+ -= :+==- .*
:---------------------------+++++++++++++++=-----------. =* -= -+=+= .::
----------------------------+++++++++++++++=----------- ** -+ -+=++. .*=
.:-------------------------=+++++++++++++++=---------=: #+ := ++-:*= ==
-++++++++++++++++++++++++++=-------=+=: :#= .:. *=: -*- ==
.=+++++++++++++++++++++++++*+++++++=-. -#- ::++= :+=. .==
:++++++++++++++++++++++++=:.:::::. -*: .=+-. .=+-. -+:
.=+*+++++++++++++++++++- -+- .:-=. .-====----:-==:
.-+**+++++++++++**+-. .++: .-=-: .:-====-:.
:-=++******+=-: .=+===--.
..:::.. ...
_____ ______ _ _ _
|_ _| | ___ \| | (_) | |
| | ___ __ _ _ __ ___ ___ | |_/ /| |__ _ ___ | |__ ___ _ __
| | / _ \ / _` || '_ ` _ \ / __|| __/ | '_ \ | |/ __|| '_ \ / _ \| '__|
| || __/| (_| || | | | | |\__ \| | | | | || |\__ \| | | || __/| |
\_ \___| \__,_||_| |_| |_||___/\_| |_| |_||_||___/|_| |_| \___||_|
v1.2 developed by @Octoberfest73 (https://github.com/Octoberfest7)
TeamsPhisher एक Python3 प्रोग्राम है जो Microsoft Teams उपयोगकर्ताओं को फ़िशिंग संदेश और अटैचमेंट भेजने की सुविधा प्रदान करता है, जिनके संगठन बाहरी संचार की अनुमति देते हैं।
आमतौर पर किसी संगठन के बाहर Teams उपयोगकर्ताओं को फ़ाइलें भेजना संभव नहीं है। Max Corbridge (@CorbridgeMax) और Tom Ellson (@tde_sec) ने JUMPSEC से हाल ही में इस प्रतिबंध को दरकिनार करने का एक तरीका खोजा जिसमें Teams वेब अनुरोधों में हेरफेर करके संलग्न फ़ाइल वाले संदेश के प्राप्तकर्ता को बदल दिया जाता था।
TeamsPhisher इस तकनीक के साथ-साथ Andrea Santese (@Medu554) द्वारा खोजी गई कुछ पिछली तकनीकों को भी शामिल करता है।
यह SSE के Bastian Kanbach (@bka) द्वारा बनाए गए TeamsEnum नामक शानदार कार्य पर भी भारी रूप से निर्भर करता है, हमले के प्रवाह के प्रमाणीकरण भाग के लिए और कुछ सामान्य सहायक फ़ंक्शनों के लिए।
TeamsPhisher इन सभी परियोजनाओं से सर्वश्रेष्ठ लेने का प्रयास करता है और एक मज़बूत, अनुकूलन योग्य, और कुशल साधन प्रदान करता है जिससे अधिकृत Red Team संचालन Microsoft Teams का उपयोग एक्सेस फ़िशिंग परिदृश्यों के लिए कर सके।
इस README के अंत में शमन अनुशंसाएँ देखें।
TeamsPhisher को एक अटैचमेंट, एक संदेश और लक्षित Teams उपयोगकर्ताओं की एक सूची दें। यह अटैचमेंट को प्रेषक के Sharepoint पर अपलोड करेगा, और फिर लक्ष्यों की सूची में पुनरावृत्ति करेगा।
TeamsPhisher पहले लक्ष्य उपयोगकर्ता को एन्यूमरेट करेगा और सुनिश्चित करेगा कि उपयोगकर्ता मौजूद है और बाहरी संदेश प्राप्त कर सकता है। फिर यह लक्ष्य उपयोगकर्ता के साथ एक नया थ्रेड बनाएगा। ध्यान दें कि यह तकनीकी रूप से एक "समूह" चैट है क्योंकि TeamsPhisher लक्ष्य के ईमेल को दो बार शामिल करता है; यह @Medu554 की एक चालाकी है जो "आपके संगठन के बाहर किसी व्यक्ति ने आपको संदेश भेजा है, क्या आप इसे देखना चाहते हैं?" स्प्लैश स्क्रीन को बायपास करेगी जो हमारे लक्ष्यों को रुकने का कारण बन सकती है। (v1.2)नोट: यह स्प्लैश स्क्रीन बायपास पैच कर दिया गया था, लेकिन लक्ष्य उपयोगकर्ता को समूह चैट में जोड़ना वर्तमान स्प्लैश स्क्रीन बायपास के लिए अभी भी प्रासंगिक है।
हमारे प्रेषक और लक्ष्य के बीच नया थ्रेड बनने के बाद, निर्दिष्ट संदेश उपयोगकर्ता को Sharepoint में अटैचमेंट के लिंक के साथ भेजा जाएगा।
एक बार प्रारंभिक संदेश भेजे जाने के बाद, लक्ष्य उपयोगकर्ता को बनाई गई समूह चैट से हटा दिया जाएगा। इससे प्रेषक की लक्ष्य को और संदेश भेजने की क्षमता समाप्त हो जाती है, लेकिन यह "यह व्यक्ति आपके संगठन के बाहर से है" स्प्लैश स्क्रीन को भी हटा देता है और सफलता की संभावना बढ़ा देता है। यह वर्तमान बायपास @pfiatde द्वारा Teams और अनपेक्षित व्यवहार से संबंधित उनके कई ब्लॉगों में से एक में प्रकाशित किया गया था और DenSecure के Steve Nelson (@stevesec128) और Alex Martirosyan (@almartiros) द्वारा TeamsPhisher में एकीकृत किया गया था।
TeamsPhisher को वास्तविक रूप से चलाएं। लक्ष्यों को फ़िशिंग संदेश भेजें।
Command:

Targets.txt:

Message.txt:

TeamsPhisher output:

Sender's view:

Targets view:

Attached file:

अपने लक्ष्यों की सूची सत्यापित करने, उनके "फ्रेंडली नेम्स" का पूर्वावलोकन करने (यदि TeamsPhisher उन्हें --personalize स्विच के साथ हल कर सकता है), और यह सुनिश्चित करने के लिए कि सब कुछ आपकी इच्छानुसार दिखता है, अपने स्वयं के प्रेषक खाते को एक परीक्षण संदेश भेजने के लिए TeamsPhisher को पूर्वावलोकन मोड में चलाएं।
TeamsPhisher output:

Sender's view:

TeamsPhisher के लिए आवश्यक है कि उपयोगकर्ताओं के पास Microsoft Business खाता हो (व्यक्तिगत खाते जैसे @hotmail, @outlook आदि के विपरीत) जिसके साथ एक मान्य Teams और Sharepoint लाइसेंस हो।
इसका मतलब है कि आपको एक AAD टेनेंट और कम से कम एक उपयोगकर्ता संबंधित लाइसेंस के साथ चाहिए होगा। प्रकाशन के समय, AAD लाइसेंस केंद्र में कुछ निःशुल्क परीक्षण लाइसेंस उपलब्ध हैं जो इस उपकरण के लिए आवश्यकताओं को पूरा करते हैं।
आपको TeamsPhisher के साथ खाते का उपयोग करने से पहले कम से कम एक बार उस उपयोगकर्ता के व्यक्तिगत Sharepoint में लॉग इन करना होगा जिसके माध्यम से आप संदेश भेजने जा रहे हैं। यह कुछ इस प्रकार होना चाहिए: tenantname-my.sharepoint.com/personal/myusername_mytenantname_onmicrosoft_com या tenantname-my.sharepoint.com/personal/myusername_mytenantname_mycustomdomain_tld।
स्थानीय आवश्यकताओं के संदर्भ में, मैं Python3 के नवीनतम संस्करण में अपडेट करने की अनुशंसा करता हूं। आपको Microsoft's authentication library की भी आवश्यकता होगी:``` pip3 install msal
# उपयोग```
usage: teamsphisher.py [-h] -u USERNAME -p PASSWORD -a ATTACHMENT -m MESSAGE (-e EMAIL | -l LIST) [--greeting GREETING] [--securelink] [--personalize]
[--preview] [--delay DELAY] [--nogreeting] [--log] [--sharepoint SHAREPOINT]
options:
-h, --help show this help message and exit
-u USERNAME, --username USERNAME
Username for authentication
-p PASSWORD, --password PASSWORD
Password for authentication
-a ATTACHMENT, --attachment ATTACHMENT
Full path to the attachment to send to targets.
-m MESSAGE, --message MESSAGE
A file containing a message to send with attached file.
-e EMAIL, --targetemail EMAIL
Single target email address
-s SHAREPOINT, --sharepoint SHAREPOINT
Manually specify sharepoint name (e.g. mytenant.sharepoint.com would be --sharepoint mytenant)
-l LIST, --list LIST Full path to a file containing target emails. One per line.
--greeting GREETING Override default greeting with a custom one. Use double quotes if including spaces!
--securelink Send link to file only viewable by the individual target recipient.
--personalize Try and use targets names in greeting when sending messages.
--preview Run in preview mode. See personalized names for targets and send test message to sender's Teams.
--delay DELAY Delay in [s] between each attempt. Default: 0
--nogreeting Do not use built in greeting or personalized names, only send message specified with --message
--log Write TeamsPhisher output to logfile
Microsoft खाते का उपयोगकर्ता नाम जिससे आप संदेश भेजेंगे (जैसे [email protected])
उपर्युक्त खाते का पासवर्ड। यदि इसमें विशेष वर्ण हैं, तो पूरी चीज़ को एकल उद्धरणों में लपेटना उपयोगी हो सकता है।
वह फ़ाइल जिसे आप लक्ष्य उपयोगकर्ताओं को भेजना चाहते हैं। इसे भेजने वाले खाते के SharePoint पर अपलोड किया जाएगा और Teams के माध्यम से एक लिंक साझा किया जाएगा।
एक फ़ाइल जिसमें टेक्स्ट संदेश हो जो अटैचमेंट के साथ जाना चाहिए और लक्ष्यों को भेजा जाना चाहिए
या तो एकल लक्ष्य ईमेल (जैसे [email protected]) या एक फ़ाइल जिसमें प्रति पंक्ति एक लक्ष्य ईमेल की सूची हो।
अटैचमेंट अपलोड करने के लिए SharePoint साइट का नाम मैन्युअल रूप से निर्दिष्ट करें। यह संभवतः आवश्यक होगा यदि आपके प्रेषक का टेनेंट कस्टम डोमेन नाम का उपयोग करता है (जैसे xxx.onmicrosoft.com कन्वेंशन का पालन नहीं करता है)। केवल अद्वितीय नाम निर्दिष्ट करें, उदाहरण के लिए यदि आपकी SharePoint साइट mytest.sharepoint.com है तो आप --sharepoint mytest का उपयोग करेंगे
TeamPhisher के डिफ़ॉल्ट ग्रीटिंग ("Hi, ") को कस्टम ग्रीटिंग से बदलें जो --message द्वारा निर्दिष्ट संदेश से पहले जोड़ा जाएगा। उदाहरण के लिए, "Good afternoon, " या "Sales team, "
डिफ़ॉल्ट रूप से लक्ष्यों को भेजा गया SharePoint लिंक किसी भी व्यक्ति द्वारा लिंक के साथ देखा जा सकता है; --securelink का उपयोग करें ताकि SharePoint फ़ाइल केवल उस लक्ष्य द्वारा देखी जा सके जिसे यह प्राप्त हुआ। आपके मैलवेयर को ब्लू टीम से बचाने में मदद कर सकता है।
TeamsPhisher प्रत्येक लक्ष्य उपयोगकर्ता का पहला नाम पहचानने का प्रयास करेगा और इसे ग्रीटिंग के साथ उपयोग करेगा। उदाहरण के लिए, [email protected] को एक संदेश प्राप्त होगा जो "Hi Tom, " से शुरू होगा। यह सही नहीं है और लक्ष्य ईमेल के प्रारूप पर निर्भर करता है; यह देखने के लिए --preview का उपयोग करें कि क्या यह आपकी लक्ष्य सूची के लिए उपयुक्त है या नहीं।
TeamsPhisher पूर्वावलोकन मोड में चलेगा। यह लक्ष्य उपयोगकर्ताओं को कोई संदेश नहीं भेजेगा, बल्कि इसके बजाय वह "मैत्रीपूर्ण" नाम प्रदर्शित करेगा जो --personalize स्विच द्वारा उपयोग किया जाएगा। इसके अलावा, वर्तमान सेटिंग्स के साथ लक्ष्यों को मिलने वाले संदेश का एक प्रतिनिधि परीक्षण संदेश प्रेषक के Teams पर भेजा जाएगा; लॉग इन करें और देखें कि आपका संदेश कैसा दिखता है और आवश्यकतानुसार संशोधित करें।
लक्ष्यों के बीच संदेशों के बीच x सेकंड का विलंब निर्दिष्ट करें। संभावित दर सीमा समस्याओं में मदद कर सकता है।
TeamsPhisher द्वारा उपयोग किए जाने वाले अंतर्निहित ग्रीटिंग को अक्षम करें। साथ ही --personalize सुविधा को भी अक्षम करता है। इस विकल्प का उपयोग करें यदि आप अपना ग्रीटिंग --message द्वारा निर्दिष्ट संदेश के भीतर शामिल कर रहे हैं।
TeamsPhisher आउटपुट को एक लॉग फ़ाइल में लिखें (उपयोगकर्ता की होम निर्देशिका में लिखेगा)।
python3 teamsphisher.py -u [email protected] -p 'xxxxxxxxxxxx' -l /root/targets.txt -a /root/attachment.zip -m /root/message.txt --log
यह कमांड testuser खाते के लिए एक्सेस टोकन प्राप्त करेगा और '/root/attachment.zip' अटैचमेंट को testuser के Sharepoint पर अपलोड करेगा।
इसके बाद यह '/root/targets.txt' में सूचीबद्ध प्रत्येक लक्ष्य के साथ एक अलग Teams थ्रेड बनाएगा और उन्हें '/root/message.txt' में निर्दिष्ट संदेश के साथ-साथ Sharepoint पर अटैचमेंट का लिंक भेजेगा।
TeamsPhisher से सभी टर्मिनल आउटपुट एक फ़ाइल में लॉग किया जाएगा जो उपयोगकर्ता की होम डायरेक्टरी में आउटपुट होगी।```
python3 teamsphisher.py -u [email protected] -p 'xxxxxxxxxxxx' -l /root/targets.txt -a /root/attachment.zip -m /root/message.txt --greeting "Good afternoon" --personalize --securelink
यह कमांड testuser खाते के लिए एक्सेस टोकन प्राप्त करेगा और '/root/attachment.zip' अटैचमेंट को testuser के Sharepoint पर अपलोड करेगा।
इसके बाद यह '/root/targets.txt' में सूचीबद्ध प्रत्येक लक्ष्य के साथ एक अद्वितीय Teams थ्रेड बनाएगा और उन्हें '/root/message.txt' में निर्दिष्ट संदेश के साथ-साथ Sharepoint पर अटैचमेंट का एक लिंक भेजेगा।
संदेश को अभिवादन "Good afternoon , " के साथ उपसर्गित किया जाएगा।
TeamsPhisher अभिवादन में "friendly" नामों का उपयोग करने का प्रयास करेगा। अब अभिवादन "Good afternoon ," होगा।
भेजा गया प्रत्येक SharePoint लिंक अद्वितीय है और केवल उस विशिष्ट लक्ष्य के लिए मान्य है।
TeamsPhisher उन खातों की पहचान करेगा जिन्हें बाहरी संगठनों से संदेश नहीं भेजे जा सकते, जो खाते मौजूद नहीं हैं, और जिन खातों की सदस्यता योजना इस हमले वेक्टर के साथ संगत नहीं है:

TeamsEnum प्रोजेक्ट के कोड के लिए धन्यवाद, TeamsPhisher MFA का उपयोग करके प्रेषक खातों से लॉगिन का समर्थन करता है:

--securelink स्विच का उपयोग करने से लक्ष्यों को Sharepoint में अटैचमेंट देखने के लिए प्रमाणित करने का संकेत दिया जाएगा। आप तय कर सकते हैं कि यह बहुत अधिक अतिरिक्त कदम जोड़ता है, या वास्तविक Microsoft लॉगिन कार्यक्षमता के माध्यम से भेजकर 'legitimacy' जोड़ता है।


TeamsPhisher.py को संपादित करके आप बाद के रनों में उपयोग के लिए कुछ वैश्विक चर बदल सकते हैं:```
Greeting = "Hi"
useragent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)"
## वैयक्तिकरण और "मैत्रीपूर्ण" नाम
--personalize फ़्लैग प्रत्येक लक्ष्य के लिए एक "मैत्रीपूर्ण" नाम हल करने का प्रयास करेंगे; वे enumUser फ़ंक्शन द्वारा लौटाए गए डेटा को देखकर और पहले "displayName" फ़ील्ड की जाँच करके ऐसा करते हैं।
यदि displayName फ़ील्ड में एक स्पेस है (उदा. "Tom Jones"), TeamsPhisher स्पेस पर विभाजित होगा और "मैत्रीपूर्ण" नाम के रूप में पहले भाग को लेगा।
यदि displayName फ़ील्ड में स्पेस नहीं है (उदा. कुछ संगठन UPN को displayName फ़ील्ड में रख सकते हैं जैसे [email protected]), TeamsPhisher स्वयं UPN को पार्स करने का प्रयास करेगा।
एक उदाहरण UPN जैसे [email protected] के साथ, TeamsPhisher '@' वर्ण पर विभाजित होगा, और फिर पहले भाग में '.' वर्ण पर विभाजित होकर पहला भाग लेगा। इससे इस मामले में "Tom" का "मैत्रीपूर्ण" नाम प्राप्त होगा।
यह वह सीमा है जिस तक TeamsPhisher "मैत्रीपूर्ण" नामों की पहचान करने का प्रयास करेगा। "[email protected]" और "[email protected]" जैसे लक्ष्यों के लिए "मैत्रीपूर्ण" नामों की पहचान नहीं की जाएगी यदि उनके displayName फ़ील्ड ऊपर बताए गए पार्सिंग सम्मेलन से मेल नहीं खाते हैं।
# शमन
संगठन Microsoft Teams प्रशासन केंद्र में Users -> External access के अंतर्गत बाहरी पहुँच से संबंधित विकल्पों का प्रबंधन करके इस भेद्यता से उत्पन्न जोखिम को कम कर सकते हैं।

Microsoft संगठनों को उनकी आवश्यकताओं के अनुरूप सर्वोत्तम अनुमतियाँ चुनने के लिए लचीलापन प्रदान करता है, जिसमें एक सार्वभौमिक ब्लॉक के साथ-साथ संचार के लिए केवल विशिष्ट बाहरी किरायेदारों को श्वेतसूचीबद्ध करना शामिल है।

# परिवर्तन लॉग
## v1.2
DenSecure की टीम से एक पुल अनुरोध को मर्ज करता है जिसमें एक कार्यशील (2/7/24 तक) बाहरी उपयोगकर्ता स्प्लैश स्क्रीन बाईपास शामिल है।
TeamsPhisher वर्कफ़्लो में परिवर्तन सौभाग्य से बहुत मामूली और एकीकृत करने में आसान है। किसी लक्ष्य उपयोगकर्ता के साथ समूह चैट बनाए जाने और संदेश भेजे जाने के बाद, लक्ष्य उपयोगकर्ता को समूह चैट से हटाने के लिए एक अतिरिक्त अनुरोध किया जाता है। इसके परिणामस्वरूप उपयोगकर्ता को बाहरी उपयोगकर्ता स्प्लैश स्क्रीन के बिना संदेश प्राप्त होता है।
TeamsPhisher द्वारा वर्तमान में उपयोग की जाने वाली तकनीक के बारे में अधिक वर्तमान जानकारी के साथ README को अपडेट करें।
## v1.1.2
उपयोगकर्ताओं द्वारा SharePoint पर अटैचमेंट अपलोड करने के संबंध में रिपोर्ट की गई एक त्रुटि को ठीक किया गया; यह नामकरण/पुनर्नामकरण परंपराओं से उत्पन्न हुआ था जो तब होता है जब उपयोगकर्ता अपने किरायेदारों के साथ कस्टम डोमेन का उपयोग करते हैं।
एक सत्यापन जाँच जोड़ी गई ताकि यह सुनिश्चित किया जा सके कि यदि उपयोगकर्ता @domain.onmicrosoft.com के अलावा कोई डोमेन उपयोग कर रहे हैं, तो वे समस्याओं से बचने के लिए अपने SharePoint साइट को मैन्युअल रूप से निर्दिष्ट करने के लिए -s स्विच का उपयोग करें।
सेटअप अनुभाग को अपडेट किया गया ताकि TeamsPhisher का उपयोग करने से पहले कम से कम एक बार SharePoint में लॉग इन करना शामिल हो, क्योंकि एक उपयोगकर्ता ने पहचाना कि खाते के साथ पहले लॉग इन नहीं किए जाने पर TeamsPhisher विफल हो जाएगा।
getSenderInfo वेब अनुरोध में प्रति पृष्ठ पुनर्प्राप्त उपयोगकर्ताओं की संख्या बढ़ाने/अपने उपयोगकर्ता को खोजने के लिए आवश्यक अनुरोधों की संख्या कम करने के लिए &top=999 पैरामीटर जोड़ा गया।
### SharePoint URI को असेंबल करते समय उपयोगकर्ता नामों में '.' पार्सिंग के संबंध में उलटा परिवर्तन
v.1.1 ने SharePoint URI बनाने के उद्देश्यों के लिए उपयोगकर्ता नामों में '.' वर्ण वाले नामों को पार्स करने के तरीके को बदल दिया था। कई अलग-अलग मुद्दे चल रहे थे और मैंने गलती से इसे उनमें से एक का कारण मान लिया था। यह परिवर्तन वापस ले लिया गया है। इसका परिणाम यह है कि [email protected] जैसे उपयोगकर्ता नाम के लिए अब SharePoint URI "tom.jones_mytest_onmicrosoft_com" के बजाय "tom_jones_mytest_onmicrosoft_com" के रूप में असेंबल होगा।
## v1.1.1
मामूली सुधार
## v1.1
संस्करण संख्या बढ़ाए बिना विभिन्न छोटे मुद्दों को संबोधित करने के लिए कुछ कमिट किए गए थे; ढिलाई के लिए खेद है।
v1.1 कुछ बदलाव लाता है जो उपयोगकर्ताओं द्वारा सामना की जाने वाली सामान्य समस्याओं को संबोधित करने के उद्देश्य से हैं।
### -s, --sharepoint तर्क
यह वैकल्पिक तर्क जोड़ा गया ताकि उपयोगकर्ता अपने SharePoint रूट नाम को मैन्युअल रूप से निर्दिष्ट कर सकें। एक सामान्य समस्या तब उत्पन्न हुई जब उपयोगकर्ताओं ने अपने किरायेदार के डोमेन नाम को कस्टम में बदल दिया था; उदाहरण के लिए, उनका उपयोगकर्ता नाम [email protected] होने के बजाय [email protected] हो सकता है। TeamsPhisher के मूल रिलीज़ ने प्रेषक के उपयोगकर्ता जानकारी से उपयोगकर्ता प्रिंसिपल नाम को पार्स करके SharePoint पता और आवश्यक URI पथों को असेंबल किया। जब किसी किरायेदार का डोमेन कस्टम में बदल दिया जाता है, तो उपयोगकर्ताओं के UPN इस प्रतिबिंबित करने के लिए बदल जाते हैं। हालाँकि, किरायेदार का SharePoint पता हमेशा वही रहेगा/जब किरायेदार मूल रूप से बनाया गया था तब वही रहेगा।
मैं किसी किरायेदार के वर्तमान SharePoint पते को हल करने का कोई अच्छा तरीका नहीं ढूंढ सका; यह Graph API के साथ आसानी से किया जा सकता है, लेकिन इस टूल में Graph को लागू करने के लिए TeamsPhisher का उपयोग करने के लिए उपयोगकर्ताओं की ओर से बहुत अधिक सेटअप की आवश्यकता होगी। मैंने सबसे आसान समाधान के रूप में SharePoint नाम को मैन्युअल रूप से निर्दिष्ट करने का विकल्प प्रदान करना चुना।
### मैन्युअल विकल्प का उपयोग न करने पर SharePoint पते और आवश्यक URI का बेहतर पार्सिंग
एक उपयोगकर्ता से रिपोर्ट आई थी जो अपने किरायेदार के साथ कस्टम डोमेन का उपयोग नहीं कर रहा था, फिर भी उसे SharePoint के संबंध में 404 नॉट फाउंड त्रुटि प्राप्त हो रही थी। मेरा मानना है कि इसका संबंध उनके उपयोगकर्ता नाम में '.' होने से था, जैसे [email protected]। TeamsPhisher के पिछले संस्करण में आवश्यक SharePoint URI को असेंबल करने के लिए उपयोगकर्ता के UPN के लिए सरल खोज + प्रतिस्थापन कार्यक्षमता थी, v1.1 अब विशेष रूप से उन '.' वर्णों को लक्षित करता है जिन्हें प्रतिस्थापित करने की आवश्यकता है और उपयोगकर्ता नाम फ़ील्ड में अन्य '.' को बरकरार रखेगा।
### संदेश निकाय में विशेष वर्ण (जैसे 'ö') अब सर्वर त्रुटि का कारण नहीं बनते
यह एक बहुत ही सरल सुधार था जिसे ट्रैक करने में बहुत अधिक समय लगा। sendFile POST अनुरोध में utf-8 एन्कोडिंग जोड़ी गई। अब संदेशों में विशेष वर्णों का उपयोग किया जा सकता है।
### मामूली कोड सफाई
कुछ टिप्पणियाँ ठीक की गईं और प्रमाणीकरण का प्रयास करने से पहले आवश्यक फ़ाइलों की जाँच करने के लिए मुख्य में कुछ चरणों को पुनः क्रमबद्ध किया गया।
## v1.0 - प्रारंभिक रिलीज़
# क्रेडिट और आभार
1. जम्पसेक के मैक्स कॉर्ब्रिज (@CorbridgeMax) और टॉम एल्सन (@tde_sec) को [इस लेख](https://labs.jumpsec.com/advisory-idor-in-microsoft-teams-allows-for-external-tenants-to-introduce-malware/) के लिए। अपने शोध के बारे में निजी तौर पर बात करने के लिए बहुत उत्तरदायी और इच्छुक होने के लिए मैक्स को विशेष धन्यवाद।
2. एंड्रिया सैंटेसे (@Medu554) को [इस शोध](https://posts.inthecyber.com/leveraging-microsoft-teams-for-initial-access-42beb07f12c4) के लिए। फिर से उनकी प्रतिक्रिया और अपने काम पर निजी तौर पर चर्चा करने की इच्छा के लिए विशेष धन्यवाद।
3. SSE के बास्टियन कानबाच (@_bka_) को [TeamsEnum](https://github.com/sse-secure-systems/TeamsEnum) के लिए। इस परियोजना ने बियरर टोकन प्राप्त करने और विभिन्न तरीकों से प्रमाणीकरण करने के लिए एक प्रारंभिक बिंदु के रूप में कार्य किया। मैंने इन उद्देश्यों के लिए Graph API का उपयोग किया था, लेकिन उनकी परियोजना (और यह एक) सामान्य एंडपॉइंट का उपयोग करती है, इसलिए यह बहुत अच्छा था कि कोई ऐसा व्यक्ति था जिसने पहले ही इससे लड़ाई लड़ी थी और इसे पूरा करने के लिए विश्वसनीय कार्य थे।
4. @pfiatde को जिनके पास [Teams फिशिंग पर कई-भागों वाली श्रृंखला](https://badoption.eu/blog/2024/01/12/teams5.html) है। उनके ब्लॉग का TeamsPhisher के मूल विकास के दौरान संदर्भ लिया गया था, और टूल का वर्तमान संस्करण बाद के शोध से एक नए स्प्लैश स्क्रीन बाईपास का उपयोग करता है जिसे उन्होंने जारी किया था।
5. DenSecure के स्टीव नेल्सन (@stevesec128) और एलेक्स मार्टिरोस्यान (@almartiros) को Teamsphisher में उनके अपडेट (2/7/24) के लिए जिसने @pfiatde से अभी भी काम करने वाले स्प्लैश स्क्रीन बाईपास को एकीकृत किया।
6. [ASCII टेक्स्ट उत्पन्न करने के लिए यह साइट](https://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20)
7. [छवियों को ASCII कला में बदलने के लिए यह पागल परियोजना](https://github.com/TheZoraiz/ascii-image-converter)