
PoC de path traversal en panel web de ransomware Jasmin
#EducationalPurposes
https://github.com/codesiddhant/Jasmin-Ransomware
Descubrí una vulnerabilidad de path traversal previo a la autenticación en el panel web del ransomware Jasmin (CVE-2024-30851), que permite a un atacante desanonimizar a los operadores del panel y volcar las claves de descifrado. El ransomware Jasmin fue observado en una campaña reciente de explotación de TeamCity (CVE-2024-27198, CVE-2024-27199) (https://twitter.com/brody_n77/status/1765145148227555826)
Screencast from 2024-04-04 18-51-07.webm
El endpoint afectado (Jasmin-Ransomware/Web Panel/download_file.php) no ejecuta die() después de enviar el encabezado Location. Esto permite a un atacante eludir los requisitos de autenticación. La llamada a readfile no está saneada, lo que permite a un atacante leer archivos arbitrarios.
<?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);
También hay un montón de SQLi, uno de ellos se explota para eludir el inicio de sesión y obtener los nombres de los archivos de las claves de descifrado