
Microsoft Self-Service Password Reset (SSPR) पोर्टल के माध्यम से उपयोगकर्ता खातों और पंजीकृत प्रमाणीकरण विधियों की गणना करें
पंजीकृत सत्यापन विधियों की गणना करने और मजबूत दूसरे कारक की कमी वाली विधियों को चिह्नित करने के लिए Microsoft के Self-Service Password Reset (SSPR) एंडपॉइंट की जांच करें। Entra खातों में उपयोगकर्ता गणना और MFA स्थिति का अनुमान प्रदान करता है।
[!NOTE] अगस्त 2026 तक, Microsoft ने SSPR प्रवाह से लीगेसी CAPTCHA हटा दिया है और इसे बैकएंड थ्रॉटलिंग और व्यवहार-आधारित दुरुपयोग पहचान से बदल दिया है (देखें MC1400824)। Microsoft का रुख है कि बैकएंड नियंत्रण स्वचालित दुरुपयोग का पता लगाने और उसे रोकने के लिए पर्याप्त हैं।
# Install pipx if needed
apt install pipx && pipx ensurepath
# From a local clone
git clone https://github.com/mlcsec/ResetSpy.git
cd ResetSpy
pipx install .
python3 -m venv .venv
pip install -r requirements.txt
# Single acc
resetspy [email protected]
# Email file (one per line)
resetspy emails.txt
# Proxy
resetspy emails.txt --proxy http://127.0.0.1:8080
# Export to CSV with increased delay
resetspy emails.txt --csv results.csv --delay 4
# Full HTTP debug — request/response headers and bodies printed to stderr
resetspy [email protected] -v
प्रत्येक अनुरोध के बीच --delay के ऊपर एक यादृच्छिक जिटर जोड़ा जाता है।
429 प्रतिक्रियाओं और नेटवर्क त्रुटियों पर एक्सपोनेंशियल बैक-ऑफ (--retries प्रयासों तक) लागू किया जाता है। डिफ़ॉल्ट विलंब 2 सेकंड है; बड़े बैचों के लिए 4-6 सेकंड तक बढ़ाएँ। User-Agent प्रत्येक अनुरोध पर 16 सामान्य एजेंटों (Windows, macOS, iOS, Android) के पूल से बदला जाता है।
Microsoft का संयुक्त सुरक्षा सूचना पंजीकरण अनुभव, जो 2020 से डिफ़ॉल्ट रूप से सक्षम है, SSPR और MFA दोनों के लिए प्रमाणीकरण विधियों को एक ही प्रवाह में पंजीकृत करता है। व्यवहार में इसका मतलब है कि अधिकांश आधुनिक Entra ID टेनेंट पर, SSPR के माध्यम से दिखाई देने वाली विधियाँ वही विधियाँ हैं जो साइन-इन की सुरक्षा करती हैं। जिस खाते में कोई मजबूत SSPR विधि पंजीकृत नहीं है, वह संभवतः ऐसा खाता है जिसमें कोई मजबूत MFA विधि पंजीकृत नहीं है।
संदर्भ:
SSPR और MFA अलग-अलग रजिस्ट्रियाँ हैं। संयुक्त पंजीकरण उन्हें अधिकांश मामलों में ओवरलैप करता है लेकिन वे एक ही चीज़ नहीं हैं। कोई विधि MFA के लिए मौजूद हो सकती है लेकिन यहाँ दिखाई नहीं दे सकती यदि वह संयुक्त पंजीकरण सक्षम होने से पहले पंजीकृत थी, या यदि व्यवस्थापक ने इसे SSPR नीति से बाहर रखा था।
FIDO2 सुरक्षा कुंजियाँ और प्रमाणपत्र-आधारित प्रमाणीकरण SSPR द्वारा समर्थित नहीं हैं। Microsoft ने इन विधियों को कभी SSPR प्रवाह में नहीं जोड़ा है। जिस उपयोगकर्ता का एकमात्र पंजीकृत कारक FIDO2 कुंजी या स्मार्ट कार्ड है, वह यहाँ बिना किसी विधि के दिखाई देगा — एक गलत नकारात्मक। व्यवहार में यह मानक उपयोगकर्ताओं के लिए दुर्लभ है लेकिन उच्च-सुरक्षा या पासवर्डलेस वातावरण में अधिक सामान्य है।
संदर्भ:
प्रति-विधि नीति बेमेल। व्यवस्थापक MFA साइन-इन के लिए किसी विधि की अनुमति दे सकते हैं लेकिन इसे SSPR नीति से बाहर रख सकते हैं, या इसके विपरीत। उदाहरण के लिए कोई संगठन साइन-इन के लिए authenticator push की अनुमति दे सकता है लेकिन पासवर्ड रीसेट के लिए नहीं। टूल केवल वही देखता है जो SSPR प्रदान करने को तैयार है।
SSPR पूरी तरह से अक्षम (SSPR_0011)। यदि SSPR किसी उपयोगकर्ता के लिए लाइसेंस प्राप्त नहीं है या सक्षम नहीं है, तो एंडपॉइंट ViewSsprNotEnabledInUserPolicy लौटाता है और कोई विधि जानकारी उपलब्ध नहीं होती। खाता मौजूद है और संभवतः MFA कॉन्फ़िगर है, लेकिन यह टूल यह निर्धारित नहीं कर सकता कि क्या।
अतिथि और फ़ेडरेटेड खाते। बाहरी उपयोगकर्ता और B2B अतिथि अपने होम टेनेंट के माध्यम से प्रमाणित होते हैं। संसाधन टेनेंट के SSPR एंडपॉइंट को उनके होम टेनेंट के MFA पंजीकरण में कोई दृश्यता नहीं है और यह ViewFeatureNotAvailable लौटाता है। उनकी MFA स्थिति इस एंडपॉइंट से अदृश्य है।
टेनेंट-व्यापी विधि प्रतिबंध। यदि किसी व्यवस्थापक ने SSPR नीति में किसी विधि वर्ग को अक्षम कर दिया है, तो यह व्यक्तिगत पंजीकरण की परवाह किए बिना किसी भी उपयोगकर्ता को प्रदान नहीं की जाएगी, जिससे "विधि पंजीकृत नहीं" और "विधि अक्षम" के बीच अंतर करना असंभव हो जाता है।
व्यवस्थापक खाते हमेशा SSPR-सक्षम होते हैं। Microsoft की SSPR नीति सेटिंग्स केवल मानक अंतिम उपयोगकर्ताओं पर लागू होती हैं। व्यवस्थापक खाते टेनेंट SSPR नीति की परवाह किए बिना हमेशा स्व-सेवा पासवर्ड रीसेट के लिए सक्षम होते हैं, और Microsoft उनसे दो प्रमाणीकरण विधियाँ पंजीकृत करने की आवश्यकता करता है। यह प्लेटफ़ॉर्म स्तर पर लागू किया जाता है और टेनेंट व्यवस्थापकों द्वारा अक्षम नहीं किया जा सकता।
संदर्भ: SSPR policy documentation
[!IMPORTANT] इसका पुनरावलोकन के लिए एक उपयोगी निहितार्थ है। यदि किसी टेनेंट में मानक उपयोगकर्ताओं के लिए SSPR अक्षम है (
ViewSsprNotEnabledInUserPolicyलौटाते हुए), तो कोई भी खाता जो सफलतापूर्वक विधि चयन स्क्रीन तक पहुँचता है, वह संभवतः एक विशेषाधिकार प्राप्त भूमिका का सदस्य है। जब व्यापक टेनेंट नीति अक्षम हो तो SSPR के माध्यम से सफाई से गणना करने वाले खाते संभावित व्यवस्थापक खातों के रूप में अलग दिखते हैं, और उनकी पंजीकृत विधियाँ तब भी दिखाई देती हैं जब मानक उपयोगकर्ता विधियाँ नहीं दिखतीं। यह उच्च-मूल्य लक्ष्यों और विशेषाधिकार प्राप्त खातों की पहचान की अनुमति देता है जिन्हें आगे के लक्षित हमलों के लिए अलग किया जा सकता है।
CurrentViewName प्रतिक्रिया फ़ील्ड उपयोग किया जाता है — HTML बॉडी मिलान नहींMicrosoft का SSPR पोर्टल (passwordreset.microsoftonline.com) एक मान्य उपयोगकर्ता नाम स्वीकार करने के बाद एक संपर्क-विधि चयन स्क्रीन (MultigateAuthenticationControl) दिखाता है। लौटाया गया HTML प्रत्येक पंजीकृत सत्यापन विधि को MultigateAuthenticationControl_RadioTable में एक रेडियो बटन के रूप में सूचीबद्ध करता है। जिन विधियों की <tr> पंक्ति display:none है, वे उस उपयोगकर्ता के लिए पंजीकृत नहीं हैं और उन्हें छोड़ दिया जाता है।
प्रत्येक लक्ष्य के लिए, टूल दो अनुरोध करता है। पहला, लैंडिंग पेज पर एक GET जो सत्र स्थापित करता है और ASP.NET फ़ॉर्म टोकन (__VIEWSTATE, __EVENTVALIDATION, WorkflowConsistencyCheck) निकालता है जो सर्वर को POST स्वीकार करने के लिए आवश्यक हैं। ये टोकन क्रिप्टोग्राफ़िक रूप से सत्र कुकी से बंधे होते हैं और सत्रों में अनुमानित या पुनः उपयोग नहीं किए जा सकते। दूसरा, एक POST जो उन टोकनों के साथ ईमेल पता सबमिट करता है, जो ब्राउज़र द्वारा उपयोगकर्ता के Next पर क्लिक करने पर किए जाने वाले async UpdatePanel पोस्टबैक की नकल करता है।
ASP.NET वायर प्रतिक्रिया में CurrentViewName छिपे फ़ील्ड का उपयोग सर्वर ने क्या निर्णय लिया, इसके लिए आधिकारिक संकेत के रूप में किया जाता है, न कि HTML बॉडी पर सबस्ट्रिंग मिलान।
वैकल्पिक ईमेल और सुरक्षा प्रश्नों को कमज़ोर के रूप में चिह्नित किया गया है क्योंकि वे फ़िशिंग योग्य हैं और दूसरे कारक के उद्देश्य को पूरा नहीं करते। केवल कमज़ोर विधियों वाले, या बिल्कुल भी विधियों वाले खातों को चिह्नित किया जाता है।
[!NOTE] Microsoft SSPR के लिए सॉफ़्टवेयर OATH टोकन और हार्डवेयर OATH टोकन (प्रीव्यू) दोनों का समर्थन करता है। authenticator ऐप के माध्यम से दर्ज किए गए सॉफ़्टवेयर OATH टोकन संभवतः TOTP के समान
AppCodeRadioबटन के माध्यम से प्रकट होते हैं — दोनों छह-अंकीय कोड प्रविष्टि के रूप में प्रस्तुत होते हैं — इसलिए वे संभवतः पहले से ही एक अलग रेडियो ID के बिना कवर हैं। हार्डवेयर OATH टोकन (एक भौतिक कीफ़ॉब) एक अलग डिवाइस वर्ग है लेकिन समय-आधारित कोड भी उत्पन्न करता है; वे उसी बटन के माध्यम से या एक अलग बटन के माध्यम से प्रस्तुत हो सकते हैं जो इस प्रक्रिया के परीक्षण के दौरान अभी तक नहीं देखा गया है।
| Flag | Default | Description |
|---|
--delay SECONDS | 2.0 | अनुरोधों के बीच आधार विलंब; जिटर स्वचालित रूप से जोड़ा जाता है |
--retries N | 1 | क्षणिक त्रुटियों पर प्रति खाता अधिकतम पुनः प्रयास |
--proxy URL | प्रॉक्सी; SSL सत्यापन स्वचालित रूप से अक्षम करता है | |
--csv FILE | सभी परिणाम CSV में निर्यात करें | |
-v / --verbose | पूर्ण अनुरोध/प्रतिक्रिया हेडर और बॉडी stderr पर प्रिंट करें |
| Capability | Supported |
|---|
| उपयोगकर्ता गणना (खाता मौजूद है या नहीं) | हाँ |
| SSPR विधि गणना | हाँ |
| MFA विधि अनुमान (संयुक्त पंजीकरण के माध्यम से) | अनुमानित — अधिकांश मानक टेनेंट के लिए विश्वसनीय |
| FIDO2 / प्रमाणपत्र-आधारित MFA पहचान | नहीं |
| अतिथि / फ़ेडरेटेड खाता MFA | नहीं |
| SSPR अक्षम वाले खाते | नहीं (खाते का अस्तित्व पुष्ट, विधियाँ अज्ञात) |
| व्यवस्थापक खाता पहचान | आंशिक — व्यवस्थापक हमेशा SSPR-सक्षम होते हैं, इसलिए वे तब अलग दिख सकते हैं जब टेनेंट SSPR अन्यथा अक्षम हो |
| Radio ID | Method | Strength |
|---|
MultigateAuthenticationControl_AltEmailRadio | Alternate Email OTP | कमज़ोर |
MultigateAuthenticationControl_SecurityQuestionsRadio | Security Questions | कमज़ोर |
MultigateAuthenticationControl_AppCodeRadio | Authenticator App (TOTP) | पर्याप्त |
MultigateAuthenticationControl_MobileAppNotificationRadio | Authenticator Push Notification | पर्याप्त |
MultigateAuthenticationControl_PhoneRadio | Phone Call / SMS | पर्याप्त |
MultigateAuthenticationControl_OfficePhoneRadio | Office Phone | पर्याप्त |
| Status | Meaning |
|---|
MFA OK | खाता मिला; SSPR में कम से कम एक मजबूत दूसरा कारक पंजीकृत |
NO MFA | खाता मिला; कोई मजबूत कारक नहीं (केवल कमज़ोर या कोई विधि पंजीकृत नहीं) |
NOT FOUND | उपयोगकर्ता नाम निर्देशिका में मौजूद नहीं है |
SSPR DISABLED | खाता मौजूद है लेकिन व्यवस्थापक नीति SSPR को अवरुद्ध करती है (जैसे SSPR_0011) — विधियाँ अज्ञात |
SSPR N/A | खाता प्रकार SSPR द्वारा समर्थित नहीं — अतिथि, बाहरी, या फ़ेडरेटेड उपयोगकर्ता |
CAPTCHA | सर्वर ने CAPTCHA प्रस्तुत किया; मैन्युअल हस्तक्षेप आवश्यक |
ERROR | अप्रत्याशित प्रतिक्रिया या नेटवर्क विफलता |