
Jasmin-Ransomware-Webpanel Path-Traversal-PoC
#EducationalPurposes
https://github.com/codesiddhant/Jasmin-Ransomware
Ich habe eine Pre-Auth-Pfad-Traversal-Schwachstelle im Jasmin-Ransomware-Webpanel (CVE-2024-30851) entdeckt, die es einem Angreifer ermöglicht, Panel-Betreiber zu deanonymisieren und Entschlüsselungsschlüssel auszulesen. Jasmin-Ransomware wurde im Rahmen einer kürzlichen TeamCity-Exploit-Kampagne (CVE-2024-27198, CVE-2024-27199) beobachtet (https://twitter.com/brody_n77/status/1765145148227555826)
Screencast from 2024-04-04 18-51-07.webm
Der betroffene Endpunkt (Jasmin-Ransomware/Web Panel/download_file.php) ruft nach dem Senden des Location-Headers kein die() auf. Dadurch kann ein Angreifer die Authentifizierungsanforderungen umgehen. Der Aufruf von readfile ist nicht bereinigt, sodass ein Angreifer beliebige Dateien lesen kann.
<?php
session_start();
if(!isset($_SESSION['username']) ){
header("Location: login.php");
}
$file=$_GET['file'];
if(!empty($file)){
// Define headers
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: text/encoded");
header("Content-Transfer-Encoding: binary");
// Read the file
readfile($file);
Es gibt auch eine Reihe von SQLi, eine davon wird ausgenutzt, um den Login zu umgehen und die Dateinamen der Entschlüsselungsschlüssel zu erhalten.