
Jasmin ransomware painel web path traversal PoC
#FinsEducacionais
https://github.com/codesiddhant/Jasmin-Ransomware
Descobri uma vulnerabilidade de path traversal sem autenticação no painel web do Jasmin Ransomware (CVE-2024-30851), permitindo que um invasor desanonimize operadores do painel e exfiltre chaves de descriptografia. O Jasmin ransomware foi observado em uma campanha recente de exploração do TeamCity (CVE-2024-27198, CVE-2024-27199) (https://twitter.com/brody_n77/status/1765145148227555826)
Screencast from 2024-04-04 18-51-07.webm
O endpoint afetado (Jasmin-Ransomware/Web Panel/download_file.php) não executa die() após enviar o cabeçalho Location. Isso permite que um invasor ignore os requisitos de autenticação. A chamada à função readfile não é sanitizada, permitindo que um invasor leia arquivos arbitrários.
<?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);
Há também uma série de SQLi, um deles é explorado para contornar o login e obter os nomes dos arquivos de chaves de descriptografia.