From c14a3e655e0106d78fed8756c7b7e9ed1ccbbfcf Mon Sep 17 00:00:00 2001 From: Raphael Mudge Date: Sun, 20 May 2012 22:54:25 -0400 Subject: [PATCH] Armitage 05.21.12 This release improves collaboration performance and fixes a few Windows specific issues. --- data/armitage/armitage.jar | Bin 2887178 -> 2888823 bytes data/armitage/whatsnew.txt | 18 +++ external/source/armitage/resources/about.html | 2 +- .../source/armitage/resources/armitage.prop | 24 +-- .../source/armitage/resources/eventlog.style | 6 +- .../armitage/resources/msfconsole.style | 2 +- external/source/armitage/scripts/jobs.sl | 13 +- external/source/armitage/scripts/loot.sl | 11 +- .../source/armitage/scripts/meterpreter.sl | 138 +++++++++--------- external/source/armitage/scripts/passhash.sl | 4 +- external/source/armitage/scripts/server.sl | 16 +- external/source/armitage/scripts/util.sl | 13 +- .../armitage/src/armitage/ConsoleClient.java | 9 +- .../armitage/src/armitage/ConsoleQueue.java | 91 +++++++++++- .../source/armitage/src/console/Colors.java | 75 +++++++--- .../source/armitage/src/console/Console.java | 4 +- .../armitage/src/console/SearchPanel.java | 2 +- external/source/armitage/whatsnew.txt | 18 +++ 18 files changed, 297 insertions(+), 149 deletions(-) diff --git a/data/armitage/armitage.jar b/data/armitage/armitage.jar index b314c4462f882650eb563e9269a82a4c9f5e7449..9387fff8331b86d44ba6ed19e5147396dbd4f90e 100755 GIT binary patch delta 74671 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

x1Xu}$+E-VNfna4lf-Vz%T3u%(WSV{I` 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%0Dy1()C8Xy zE&aK)l^r{fpbde6cN;-aSbN-v;fbz=Ae3K<;t&XvYSH;^yk$Leg`;5JqY))(2Q+9X zNJQ*Ubjg1x=%--V!m6pc_Up#{h*^S-#$aeSBQI($|vo182a!fyun0 zq{ir?74x97b1CYZmI-s=(gvb?qFxBnN8~!2Fg>N+IWNG*8b{S2h)JWZXD-9 zjNI0Qy!eRrO?g7XpUW}@5&yA;gJo-5iX3LBt;qha5{KAE@rWD-+OBAHDV9o~K~4(f zjD*YV3hfvB8P`ggS&m32Cu%0?n6VeC8U+Y@BP;Q^Mj)zvSn;1PpkeKsl#ltdzL%Dua+_%jFiSxID$A~83s?jt5GXJf`Mr<7`PAek4sFux)d=})R zhp;Qg?`TH2N*>ndD2bsQ;0N2=?%V(;A9oIhp%7}z(BNj<$xrhxtMy3+18S+%6A+shX* zpXqhXH_}P%VBf7S>W^pcWEDHn0Mk{rG`$h@P?XLOHJcP#V(fbu;(i`8kWErUB@&bt>^R0@|tv!ZcJc_@IkbYCW%eRPv0$kK2PGW{Fg;Q?BOJ3;i4m?b!-x;pw zqH$e~%!}&PpW2($zdeY5t&Nk~u=hjH4?O9hU9wp3C{ot9Y_sx*bSyj)SPJo5Db7l8JMx*=)ONRT}!Cc zfw!Qp#a3)nr_6?t!j;6%w+)kIjIli>i%EpgGs@Af97S;0?lMo1J1F{wA zz&Y9^L2OWpsVK>IvCpBt!aZPeZ&Du4irI(n!XmONTtPJncF9;vs5EW;a=R-u74|WV zf}{cXE?lm-nW5X)pBaQ3(i|`y-WJXXv40`LRcintxP8o)tc0!04%qCaG6#W_+1Buy z1d$yXK4TuSeEG7-j#XvD)M;N~0@Sq5r?F%k;~8=HtU#xPhDslPH)ZmnGl_6jVX^C7 z0kud1WFJTxTWPKxK?be_1um9`lCs-T*!X-8uH!t|J%2mTB5bB7dga0tfi+I242 z@?ACY4HX``$b=;l?VT~i5VFotP89lr6Iq?f`dogR6Y1XK#U144wVTZ2qk zVcRN!)$SFAnz>*&>bH&pZX1?iFGCQXOb0YJt9v24S#wBzPY-VFE1vU6oy>(4PsTM< z5}F^9VAu~ZQq2wgw%+;*dm)I5UTn*{1H=6J-EN52?lEFZ=uYnMrq4@A@V#uy!)Dq1roqHSj?hK{!pmwDwYM^H7qe|5!-tcm)QA~iG z;%e9ivL>!doG=pg6O)1zJSNigD7_!oc)x8Ts6$|WvhTQ-?rBJdb z&9N+n6>68-J7WUEwgIbB^40r2y`w|a5IN9vHLqW|#=mn*fkBD3Xc?3<4E~XF0aatz zG5el*Yo&b0KE(3F4r}Kl7dk6|5{^a9Lrl_%lr6zD4^ufVs`il0cFvY#8!QMo zzRifA#)#_4f||=58#x$Fx?6);kdnJKNn4P75S8|xZNiYttOQVYbT(%QZiEsk1KN>N zRy>|lz33@fE>)NYDBh-L^Ee+*^OOS=v1sMv|8RBFIZnvSm{?Y+|@1IPolVkMXHH2t~~KqhRd0C zPwdQ9`Z_F^Za;7j3DPD>xK>#2dMzJR=TATT_slKNGTK69bc2sy8}j~v>NB}&G>D;z68z2};ekFLYrB2+S-cfzX2* zox27-E$D^?KSF=zO^8y9jBGJL`Vdg&zKVX=J{7-(SdjvHP{3wfDR1q9pjF4?KgEZ! z^eFQt=&6I1mb%}w{$NTgj<;ADe!NBx%v{1bC@wNNbFih=9|_I>ozugVA%AX)t*^RjSMT0O z`&4&-->ESU)C4WzSCN*m6&&K;w`K`6@^k8+M(T(i27<)eq{QW=)`-eNwkXdHYxdiM z6ZI)U;@#p;s!AhPuBU?0GOi83QVyHb2cR6C|F{_<$%gbHchzQPUU(UBBUwqjWCgB@{Iulh3Y}Z8jzAj_aHMu;+%;!O>ykB8G@?5w zo@0=}F46i)307|R>gohG;1h@$jGO9OAsFHa_Nm_kZO;|C2tjnJJH?PtkZ=gEZy|VX zkd&LrZf-M74kRD`WQu-G;}?7c@kWmOaFS{l zlI;dW{_Q4vtv*AC3n539K==E{q3)6pf6iTs*9WOv=q+(NoUG=}_x0v)8Paua-3jn+ zCFGQ|Pvl~AXY|iJKDoZF-#9yvdSg{8_;jsPA=(BzZ3vFGm;;DqHS@>d+3q^b(rydB z_3S8bP7rwc9fD2igv4ahU}&KOKKHNHAubF8FE+I^k8VDdwN00GGL;bm4@D zQ<~G*cU~x{47neruCF6^4iHs?FL^T7d!gVLaj-BPclaw$>rWBhsL`y`3HiHOTw_78 zV_i+uw5l%FpsjN9Fp^YyQe7a4LN<3Lk)d<|fGB~A^7@LaLfrAOOY1XqPZ6mL#YrpR zW+od6KZ1sI^O9|=wCN{<*_EcVAAW3=js9I4iFokQ4`p%wH%a^0N2nS;mIo+{Fr>@0 zU09Ly26nlL8yF3@E(k6?CL0SYref8^;GXd#!DQ`z{cZjg1N{K=3;fm6K<8MvjZb2| zBr2swrvXTv@J)(Jm@Kg6I9P5Ew?Pr0<-SRSL8flGO5$c6!%s#8qn82EeHub{jU;-N zYXX$9d<}eIkG;Be_e!n$QSHKSLX%zlsK4YI5=+ZBqLuebvzn%Ow$WF^%~-C_k)We6B4bF>mXDRi33r zpiK*hI4Iju^E0iOhd469`@V)ym9=g{z`$$iCHwRju158OzG2!Bx^LVZz8=Nu$^i$6 zHcHF-qmFeSzw~wDr?Wy?S3C8EwL;t@zSWSqqw0`e(vmY*S=A$AYWEnDbj|1{QuHdl~9V(FX>+AHIH)DX_*s1itN#J{EX>}+`= z*tn;Om-TW`4Z(fLdKRMuW`c$UhPPh$%Q_H3VZ#5zVZe#teVWNiVL*}z$QYgl{m0wH z&}c?3>wl20bzo5m z&+Do0Oh*toh(3@tO3;~t-EwN|+Vo@%Y4Eb)+RfR}vZADZDnpfL#x1pE7anJT9cte7 z%UyVhZ;0XIDc4y${2J9B(B!*9;aaXb<4EJOsIQq=;S?Of+JXyoiIbsTW^N#~j&0;1I zNdZlS74qc}$+S>X`H54#c9{5P!HcoUwlXPTM-M!WKdeonF$U1| zwWe-%j}<>KM~=52l2DK8{j?_%*BTb?&)~q9%`12+ZZlCinBJV*^#FfDXm>hA3iQD1 z$+*rBib8e6Z}A&^z@KfgcAtxc{JMU5(z%`X*_O-&tG<~vXA$zam~RG^*_3Sf%MRJ= zH!TFs5K1-bRR&o;tn)=TwuOeu-E({QLN;vJAThOsf~2@^AkKmb?^;cdcz;zVQMXa9{@>PkE zbAd2;Ip;3b0!}0R-XIBhATX-G;uyBTisC#*kdxi$l-z4+*&0fr7oQcPEAW5|*@JH9 z^!SMv-Fq9o!&TX*&a`oiWiEJ#;w>)7D}FDl1LwlTzg+O!&VqlD!soxsKHZL-%B~ip zO!=E0EA;?t{@pq9+qB=|pTe~RZQ4Iq7t4y=U@2C{ z%BADwZ`o-99`m+>5hlulVKu2b@CMhpG{gkxZ~xz(tjK0^2{_~g9tc~G};KW&5+h_fE`#~XK(v8be3#v;Paz^=Mc|M$fJ#`ummU$`#ml# zEbISd;kOx$DXB7k-~f^@c}~hp8;3b}=z))X!TuHJHE;ATD8Tdgko@Ugf9I2XL3|9@ zg^h|>*rcfPSRU#E(U3(Yn`Lb^DngLv2Ii^Q4#K=LGB*qB$a;uvi?$ zD=ARXoQl_2dAa@k?TstpHNZ*rpY0% zKrrXW$f8!0Sr^so5G*E zI#Z^k!j2%{9s!g@?DiHCjhBK{ian_cyJcW|B*R`-I)_w0O8+M7b?T{>XkvtbPtlzt z8K*>c#BE$SByQV*dn_Ebo%I*C5MqF@qVKAOVDn2Wec2G$DQMWptSQ##qvA3=~LJJsfA8fF-P_aM7kr$cTYc`Ys^t ze!qq0md(1*`0))0sbwlPZ!g*Wk&=7qwaJec8>#|725kd78DRt5(rHTD6|J4=e1^${ z2#drgI0GIfX3OxbjjPa2V~8 zKTMOfW3f;I!Ea*ddqZ;kQt4$RVnkrrsR7GGN!jZ8OyL)IMJiJ`;oYBmJQ-~67_ddN z-kPfmjKlNxAb-M03Puv;;N2`f(z;h|@49JV?o05Rt;`}XJE;?im(r&~T2r*tF_kUi zr_XZ*4PbvrDX5fPsY37Z43TCC;sr|~EAxkuiI^&Ts-p($eZVP!jXCOGBb@@pJ-4iv z7(Xgkt?rjv3c3rh-6GJWZ+Zt1Q~Y%C6JxftHh> zh8Q3|u$-B3o|QGU#;aqB4+FaLvomPjE$ws8iafDL3;(C=)9epaPyg`uE}s_^eqWqCxY3HW|TVe@%{>r9q3oS!_L`cU;ZF_|abY(-Q6|k`h1J za6~|1tWU=DOh_^DlfbD*&Y*)(--NZT<@`4>*^DF~e1-!cE>laM+!$ z;FN1t5G1Z1gv@y>>-UXz!B^IpZR^%;b;~(lr?;pXzC9NHY~hCzAiXxJZ`*pI?2}2W ztWB&6CO3_K5xw}G`3FTw7UaN+groZoXxXS1Uaxb)ymQ8WTk57%Hy2CKWSjFvWgm&wOCH}l&bDK? z3wH^_WpzWF5g2c7pXtkcl?%GcbQ*&!HV~Nx;cwn4@P>~NQf*9RW=VLw0h4SYR{%#I zLI0!w+K|mKJZA*4+$Rsew3fer_c>bse5 zrBwg2e%I2ps^`LlWA}>9-JS*931f@QNmB6kCe|~W0N7^NYO9NDd^4#TSFDO(*ul9w z(J*JpszGsq4^%GSW6*#jkRKZg z{=N2skHG6|7H%O_$4;!lSEwmZINMLEwqBGkb?ufqeR}8Q)$T!(>+aV@ys*!yykOs- zmX6S@JM^H*XptyXHw-gx=^!~hlf%_kYHkzJx1}VEExsHu1%u2OGY9LP2(+=Wcbg13 zwIc1{*5EGpq8M0CIz*1c3VO!Ho@yQ|goK!0*Z?0-NR>*%1s~i_e9bPA@UmPlpQB*)HDG!O$fs@>?ZYmlQ4{$dqrUowG?eQQ3dv`IHoJtnDy+r3Eqr zZ!VD?=!GSSt7|-x#gU8&=$+m`uz;%}G(=SQHvx=tj=J6f{neB@=-yd%o{EJ*4W71Y?Nfa~xz1UStsKvf5@JqBN8= zh`sYq73a1P-^xHmkE+zR43xG|`h?JftTU}*a@M$+3MA^HY(IvJ+!v&W1Asw6OsQFQ z8#j#8=2Rs|4j|;|*#&D~$uP`7>fI(xd`!6FmvA{2piil_AI$ zJ+K%eI=VYit(nj>aE4$->O+_VN>8WOcQ)i`%YA;chWP(04Czgh-~Zb@tF}O{^>0IM z^FDd-U!sF%ffI7(e;aR|@5v<~{;uPZ!oD9dLInXyNEv%3X94b}6(32=PC6NN5vB*y zE~57!$70-{e!P3TfX1SeuS{xlUA6y`lIa~Xs9TOP^;@tpRXryP+jB@xKh_BEl4y`S zh~i+Q2)FGI8?8V7krXGPOwTv^TP1ndtg9iyJg2w}^9c`@E&@ilFf^Q0(vXk`x#W9) zkw^mpY6TC9xed^WGt7W`{2TLqy(1l~I4=3Fg(x*lfRiuI576txPf6J4eZQwlofXYz>}(H1Jj-BA&Cg;G&^NnUCAJc{v> z#qCapZg;RjNouEb{VFT!*)y#qW>9+)3OJrJubdK37Y`t~&eN4>asEEBAdxpR8uB!0 zWW5yK&r~%NQBwFc%2Wzsb#92Y66uH3(W#%v54b+cKnPnsVEHHUz3$3H6V|9={%-6(-8-hoau6UgB~$BgrlpxS=0&d=Y7`!NmR*WjZ!D=HoWj*JR7tB{$%f84LR%-_dkM zpSs$v?~Rk5wnnVbxM8?Gm@crV&9z{~s?d2F4ICx(lCgW5YVcPw^Eu|{yvuYe3D|&^ zY@aHyJ@67_+K6~_Fn4q%BD*@XgUZuNK6ipiIqFOj^`DtLStT9I8EI0qyq?vl zz7 zU2%jb0sL8X(DCadJ@MO4L@ReN9Kz3UOL!is6@sLV)C&%l{I8jfI+RU**+1}yN3pHq zTwq}f6UZ;-nWiottfH4C-yQB5a58G)aVXOY4G}l=?=Nuf8DlAPX|iCp;Bx@}!|vNa zP$Eopx>~M@%1VVxZalc0z1jIj=lu%Tj5W|%}PNUDV4A%u5IF_W5( zvZZ4~uny)%Hg?V0COfrf)HsAsN3_Ttwc$)aCUla4?; zue++v?pwIo-uD#@b+|Zqu6hMbAdUc7v>)OSl(HH@Pt49vp7pe^*us7k=$tF+8P|LB zU0nmE4l2&B?$19h9Ij+4LsxT8>D$`(BVisiX;BGm!IoH9;?KmsINxxIVVOa8BdF86 zxeJ4vr1mfs5$h{ec7pZvV@y2Tua8bhgWqVui0VyP+dIidH!Xu85OF8dfb*?j-zt%$ znu6)S{qm>hcIkOn5;G3dcIKZt(25Q_gjD|$(Y7LP>U5lJQw<@`&s6c1?wQ*%U#5Oy zfZN9YlhUj^qpA?J2LEQYlCYL0SjI@nHf|6UeKsO?tm#;?&kvf z6Z}y3e2A2XUpD(*gu`w1tJqE0O(}fI;D}MXFpUBc9bBEv3_seDG4Nmx(9G?;g%%18 z7uWS1FGLcWc=SoEg9-E0@4)E~>>hEqm+I#f8WI38>%CezIp*ariQMZxggojQRp}lX z_&(5X%DEYu)5ywENhVQ&QdE_PG5E8jb3s~(OKcCf)sP(CyP&wZo|V;fK_Nrf{EJAU z20~JF)8dNEr4NfuI`CvKs>`2L#&Mo>iO^C#!YA`xbvEnh!~2=J_z;s;T4962?(B#t z{;6R91-qlQx>Q-Wl#%_W;zZ7G%06%GAZz7%=nlalGN_@0HTxM&y&7WCM17ueLK% zt>P=wsCbTet-v{ipIdS%hh9mq3wTfOZ#5u6QH6w?MWO->n#jW_Zj}&kbWJIs1&%qb zvkyZd2;+XsTMpGbs{rou0|jT!Bv<{RqDsX{RrbE(p&m0D8C!W3|9(Zwoh{sA^~|vN zhvY!f>m-!bvER(9$!#CDLhoHzSr4QY4AC(VoV!at0zm9ur<=3su@I{^qabF|86Q zjRpADmbJ)HJ*&l|4?53SQf%xwXk+!&wsKoA!2u}Rnm;|6&PHt~>|9~&cFlI_s-ZQL z&8y9=_to{0vL@!6&xea)PTdm1qU&6rjTV0vkH^**SKjI)VvU%7o%Hh+l!b<+<->zZ z(33T*ab6AUjWo2XEwuowBSIC&jt3KK0BiZXB0eb7?Rw`E(U|8INk*G3QALeQPxxN` zA5x$OTisXz;$g)vufXw+}(TukRwC0NH^)WgCf z{ae3}1x?2W#+&NFJr@jI^|oeOyzhmI6Ip=HG<_Oy8CQC%?e5^NN!(#A8q7xEY8Xp! zdFFOVx<2(a;megFmXib2BNfvsvUe&N2a`*b|&zIx8r*k^*n)Tk* zmA0jLOOyGXw^+`dG!}I&o{TqvgWkp5@;krnVNyw~QwW>2ThN`CQ7YheoMw}0mZ^ba zFfXF$Tc6J=CCjeyI(?uafndCfO;6u65R7#iGJe~Vx8ue_ zXjdQf2V1`Tjlr9coR1ka{xJS!H0sfB?COM2$}7r33+xHBQ5%MY@KuSGQR%AbROK3^ zv|xDIQ{r%6sVXUJyRIlu#1B`A#_)jrZH5vyn6FZ!x*0cy1PF1jy#wgPp{FjRq%tr< ziMKpQ_dnId)c{N~P6QabhkGGtiOD>I2iT((ZFzT`Vw2+o8a8n9UpIMJy>v>MZ-m3+ zLyX!-JFzSL$92~^(1X6 z=oVkMMiCn;<84;dutg%i08BoZ3M-Hf+G(AuMZq&zeVDI-SuGvy12a66nok zyIbD1d3J^*>cvGb?cLegA+g=*s^vkS zYWvRR^$L4IJ^9k#y3JC=90*fq8I&%$UrAO*y|vbp6Uy9?jhlIG(47bDh3@O>d_CBs zq*u)({ZR|)R%66UlEhdL)qJ8%j-g$|LeR=dd11F>_FXwG9YEH>x31@nQiYA*LPy1R zG+oA#kIFFCKnI4m+}K>@@wW4RQnHt`rRC${_(u4}v#;YtJBtPv_dq2xLPFE2ad&e= zekW7rxQ&~ZyU=B=@){qAAFhC7mhW8Qtk)Vf`mJ?z9nLw?KWa=}Nvg+($VSA>Eg=IpCNx{k=Yv-s;jj@c7SPqpj8Alik(DV z0Aol}^YUQaSWVx#_NPlYA*aaO=58nZ?79QKTr#@WG8Z0_%IEwF_)h@&6?OA|NqD$N zO_F=lF!Rqw%s=az9DcQ(95rl?I-=~4esRb`Yc0MUHA|9o9 zn*{H*^#)0@=wqgANgLE&R%J}){glkY z-9Cd6`^V>j7VdU6-CqkpGM%6f3_hc4Sso{4U!^Sf$`v3=b zO8Aq_1Ix<5y*M$FoO#Qo!4M^KF1;bwND*KQ*ChsS2RpKX{eH5jw&5 zXtvGAOXt#X6(bQ5F(U@_P~}B|U<4YovWTI$mDeD^sG<|6XqJg?6n_gPWwxh%A_yZK zA@8R>J&vav^%@`kV*ZXUsRg7XsN zw@H7+?lmZ)Odhrd%b>j!jhBBR{MK(+c1P>~wtb@Jcn8~jyGImvlQR29>-ej-t1m%m zi=^CgfE9aaFmL1|gGki^+d{#pSjwEh@2{p6KqOPJ*6nn8N{v#1bo0w{mDjeh>a)zH z6_f!S_JXuX+OvFpUIQqA!qFkYq^Xggb=w(2d(1lFs`qxDQ!3CJ7u7dz0$fA;`IkGq z3$;`J$Vk#eH-#jd2%UJ_@graK$7U!6YAw#|UdFr z-LRE8@NNd{cD)dXoXX`%WEA1MP?u!+6l}-)ONmLDO9ir{eM9;RpM+2v%J?tR<~gvU z%kLo!R9XG!mz-p)kt@+=DbX(+mK6orz?SVvn6p=0l*JsLShX)j%Ik#;%H`9&@lE?l z*M^4jxWcaStkXP4c+?txwr!<(KhRULa&V@RC*4Yu0JD}d4BBn49grK4twu>e>z*%f z4e+X@aTHV8%2@HP`>3`HQ3zcn6&;8Zdh>>04x6oKOGALpAgGDXwB zVih6*Ma)0;w_F;EV(`D>)6jJ`JysYXAay(`N(>bAK=rT=V@)na9aU0$bz&wm6h9Cw z5IXaQm&@0)OB_8A1)sv|%S1I&C|+LP_si^^hsCBBIT3rM^|Bn5k;2b8bk(_UibE@; z0RObj)y>s#%&~7Y^AK0FYL7WQ4PX609fC2R6SL3vYG8Uq23% zLSJXUyskX4^HR6=nQB(ORwYL}zB3|%wr+t<0SopOJ*pfr$l#2a)kEIaZ1LzH6WLk8 zZannvta5+>u|8c}bnLF1RiteN&7*HttCilWV8*R##;_7E36tT5 z(|hOpmQTJ(l17ghK7H5=Pv+kC9Z*6Bzsaa59F;GUaXPc6<}&7JC0Vxc3gNZK^E6MP zfUEg7_21G6J_Q=p3;TqN+B-d%6ub|#$yH%xdn6bBObVXNlvgnn?5jiHy~4LdF0-7| zjFCJVWEWMeXuV^EcW{R`>Xb85fhA$BSb!zhS_E34#K!NtsZ76}%ZP_wD_Ez`V>MEx znLFdt4rIF2ha1Y<_kGTG6f}|R<^K7@22@)FA$XRWJ;(x%R3z*TFGyk4_d6Ts*NA1ZEodY?$6$fpCNF6um5Up%Wev!^+l2vc_6|36&LWpEV$% zI65Ssp+VC$*&ZgBA5;@oBWc!hsZXV>LqtWbR~e(#riE8NUK5hO0jAOZ zx!5k5Jry;8016T(g<)rkLK$qsSKB;3eD>7Y{WYo;3z!UU;Z90uD7QXv?ww1{>5?(W zVy)!lON8g4hr<$5kF%WY-kptS;O6}hzJ>4K#G`GDcH#M;*a_cdy9Zvg-$Qf#L-;$O zf~ah3mg+{|eHmJfh?(D55c5-g3$^4|cCsO<>2KI&YFlKu?v`L@!b}Cdr;h`Wp<<4# zcik%>m`IQh&cPT*OB>9fjW{Ez{DpfuR{48OQZQR{N!&^~PWN{-?}A9eccdu&Gzolt zVG*COVnmo!1#wSz2f+VY({PD|5EJ!-cvCv}Nf^;E1x40B-|0 z7*v7mp@+i-#JJgy$iDBMqi;8Q`eZOZ!flt-x6phnbCPv*qTgA6w`!9(q(j12`7=Ub z?Av%uzS!4dhxmQ8)qBFSG8Vb^nVxo*R2#)MfS#eb^}j$Sqr2O#Qj`7wp)ZtAQ>Xr* z033$*ay>_rMqt8oytSVV16S-GdBmOCW!t@x;w zs}Px{-4S^`0|LKOq8n%p#g0j;5nv)e`pW*K#3qNNL^PdVgrr?u2DYX-6pojqgwFCw z?>+BEAV_WCEhr$G>SGkkWsuRu;`;rVf+C{q#SKg$s5P0z0lXs}=$~-~c-^eAz=yhJ zV#)mu|A|@z&YgP3!Pbv_ounOpw~^*%`}8R&^I7_x5DN8l(5_p=jqTgP6Tq3A9STvm zbRUwF&(}HDOtzF^0(RkkQE8?!^FN=oT0wC}MbuLg-$-okr8h=2wcWJKDk2{=w!%WIzN$rb1ivrgFB7|XEU}%Um#IR9$hnh6Q6~gVd?WW6>(w?1 zzF}l|D~44HHtxpD>s=Q7sw6N5pj6;OlCdRsOO)?}J})*N22xi(Q{@z~iRxT&;KpCN zCzIyTAcMEpM@r42{0^Pr5YMH3w@+6v5OLxE(#<3L6L*FF8SM8M^hOnC8+kHTg87&5 zr%|#R$hXFp9{GF+`s@sCKE{FIPp!u8W(^Vp+$4(3@Tcf}c40WN0#X3}YHh1N?yqk? zOB>w=4UAavn84`UMQ?>@)R%IIE(142D>mX08g|e08G53xGz9N&hv!3k?2KI`Mk{=7 z-v^TEQY||P8=<7h3`7wptVCqNOA8Anadx_3naTJl?~*N2LE;hwW1&dupi0R1M&vf? zL7K>Gz;oSuw8KOXS~!#@ysjpmS6<;CA}ZQ^}n6gpc>Y z_C?xEI1zX#HX13u(0j6@B)14wYs%MI4ijM{6fJ?jWvH44zz1)h-2!<$Jn%3~!<J_|w<;Y&K4UQ03mm2}-h8DP3IXWVe;-VBr6 zWLX9XwjE~j#TR5|HxG92W%GZ-9ZV8n2IS;^3qeaG`Lgt`PK0vUh4k|J@vQs){%7;D z=MlIeJWY0hhk+mt=8wR9q{cQqzc{@^!?C8dik4sRLLRP}=#O(EyswGqi~*#9Vz1!Z zlC0H~*Nh6?_Z$}_5E>SF$;*E%|B|ow#Y9_n6(6Y{+k$QNTa;sRl#te#LYQT-%3Mq- z`~zsPqZWG4KG&A}A2gm+Z&Kqi)dn1e#|j{s8hso#lwql5+CW@DmoQTmg6S*8RF%Bq z=@&?W;`BY;15u`1u}TjsjxPDAfycO#%Tnp;&x#z;uNsC4T8gs6ngOQpW)OIxhY)#Y zb-F=?OC_o$)X18jeZGKfu=utbJ?{r5WRuX za9xg{BGgMKNw}`R*w1z9fuCeU=@;ijZ)pW5omGY!Dd1eZu?-P0^m1IMwt6fol0>Ux zt>7FIs`kSN%HmqW6JMa}W(}Gn4#L;_&TcFA_jtA;SO7lPwAHv}sYglZYzxCeX<>8{ z{a)}^b2tY0?p+qu+7<jv#2Y){m&QyhoDjU-Pz9j;Eooe_I!#x7p z$J}+$(1NTf6}LQfG-Z_{G{W}a3alaKe)BGvH}fONY&EYDlv&+) z`S4&5--7agxbbi#nbI(V3E_|jSOp?Yht|m{Ch|y@65n+|xi6+OvH_Zfo_~FSQNNNF zwkA~?JwkMyo$81|F17;oSIvk`j`tHJWY4NPCn_`wElkT@z?7l%8*h7B3bP#dl3buH zOsU%*J5B7l>JR*l8>cP2#6+dCldHp4vm{F73|n$6omrM(Ln@t=iLongEa0-p@I>Vy zD-r|REyD^^Qm|&*(kqFV3u8<2)Pxg-UTUG>Zy)a4W}aV{Os{~tx^K*hhy{C|vt{MC z1L=EBZ^6(r#7J!Iz*uxJ+paCw?Mh0MUEIjxRX=IN;XgaJPW5J$HBKE7Ucu9O zwh;heUY;#)R=!tQGV?v~Gvn zRVv9`PWT$f6C<;UqN+rc_Jh^*yQzqK^fE^!tJ8KCs?t3JCp+1=lXXaSSMI#f0vrb7 zf<@V&5``Ra7DQRW?lMbDTg=NJI(lTXY4k4lL=tf3plkm%_arV2ym-M%J7B-6NpOli zf7P9E>2~0zoQf($WR+`%iGTg)baL#?{P#( zNlCes1gzkYC)$PPUMO^7Faqz!I<&h-P|2^X%BbrfWAt73MkI^4jh)jpkr~R^`+lsY z68%s>1Mwb(98%(Zs*eWx78#t>KZ{cpR3hgo=-oP!O1DmVDNk~gW5-Xp>WMb6!)#tX z1bGHa6OR4J=lFb$@dT;t%Y7LjNvOl7u{jM?Kf$+z^@AVw6}#nM6(o%-_hu3^ky#;0 zD)_HfnCpVuVZG^b(1ji8pViH-nHr`G9d)}Ez8p~7?>R0Z+aP53Osr?OzI{G3W{rGb z7&&Q+n0pi!yy}H-v2`k^%r0EZB$h_-oI>l$IkGF~ zPSiu~U=Od+r;FpzE+mF6UX`VzqrGd z(sT+T2dG=(>xv~DD*Zebo^Y;s+102ktoR$TWTXe@eLT!{YPN`Optcv!8eB6>)7Ln$ zs0RpguGOx0ihH-lce#;e%(HdG(DPV%TK9iC5QEdlM_87~wcZ9ovjdiNatjltVu)p1-khf9C6NT>Q9Ce8oAC-;}^Upm> z{Ep2#CEyVvKez4HWniAi{i$6YN1*LTqoR7n+5xFkN+$bFGe`bUS?h{ElQx$w?n>zj zFGBB`ZSruLPJiW%OK+(SC(gM#jqlC&+XnUD4$gi^a3n?2s1}hoBTUD6?2IjdgYm^z zT$@bFyH^-cj_N8@Ea+4)TB$=wc1bIBb2yNC2LSc0xlJYZ5uX64RwcwS(uHjs&YV`I zkIN~7OzZ?io-TMOTit#EXm!P%Oag2=LQ z58x;Dxm3rtVxTE&bhr3Vl)Np4^Tc@bwU=EI6Y0)WvU=fM@X4L#cYBq&$<${8E=1Y8 z6o3Z6ri?$SPZAs1Ary>#BfuZR%jKp5(jo?`vgq)uvI_1n@W8R+VS}uv$l8i*qJ=KY z+kt!4y-b_;Il~wvY{GPsiwtYeg1~B}g9O_6YN$3t`L@o2R1wc#@N7bjYUZjw) z$==oV@LDpa{GF^1PRX2wU1K2Fu^l>NIS?CmVeMO_+@BB(DXV${N6Dxmqk<{pA!Z{4 zL#6Ckb$IF;Jl=*2h!X^^424l2)AXgffu(){nfV&+-q@h?)>=iq%M~ zBG=;)w7lprrYSID$wH=cV^eFk7pa8fU-8ruxGU;$wQbG5_06!YA8?;#|x^zwF>-s+o3dgEHJmq0GrLxu_GXokCS zDz_m*LJR6O`RV}k)yo93L^hAp!BPEz=BCF3yWqklpEo9na_pCGj+0S4*#OWug}c$` zJ?)WtsM2YzI&-7NMyyRHg^_R;s~t?u{t^85E@Gx_>W?Q$sho{XbvE4Q&f^!r&z9zf zhTHyvx{RRVYArlKHY8etLjc&Hc#JLE+Egm}psWOt(0dc}Ll|i@H?&qydN9h#YE-}u zpx(p8dFRgX6qlDx2%sDx6%2IR=x-dt*$9h~KzF)H>GGF=cU0^O*(FKGWS(wVLY0R0 zN&2J-DcvtJ4I#bbYxvWK1Q_%V0ZcgjYN zD&=sR`5m>K!Piv$)c*}HPYii=_&Gi#&Asd1_Wvo$hE#}9d>)ja2UT;02(?)9e>6H$ z?pLWh|B7`qtx-$>_7D7ntJdbTD+mI`G-PpsqOw1d|yEUtN&z0mLUN4|9X;w1%UoTa$f+o|GePH zfd4A5BB273|E+s0B>{~8%jfzPko6B?kpqnXia0d`=>b3fWf^A%g#0TxtFQsm{^k44 z0f7DI{lf#;`sdvi02uu9iV6e5|E;o|l>m(X%bX(#nEHq8r2!NFkf1DJ=^w(A2Xy{B zcU=*%@Gsv_Re;Dp@2eW%@gKU^0Q^_mt6m#W{ZB!*jY|Y^;`1)zf~Vw}0q|0y5ow{D zWA*-TY6}AZTL$-28P)dI9YI zCGYeB{8z`e$QR)8SH3HSGz?JvH*78pfc9^YC*gp%e|e8%0srL4QZnNKy??{>697d2 zvIQgo=Kmp$RDcg8_>a#w-dYxb16<-0U}gin{sQ{y&s$Rae=UX_0Pla&q}b*Fa{v1E zt3Lg7xd8IN*2RA;yIjE6zgBWCfa`zFm$?A@zm`EBK>jai$^&Hm1uFRf*}vd3KVC{- zK7jPE^*0-M!GE(6{3o|a0f6Fvk)Z|ujjSpF@c(VTD)_v>{|tbk5Fq*&T$g{I7GDUU z{%dWOeOfDp0LuSaghl_gMvFduhD899zrMc%%P;!xz&?FEe+S-C^BF`|4EU=zl)_&O zVEWtaSPaPgd)nV?rYiwx|F4765`fwNeDtON9naqmY)k*w0p9;<>pH-qI=VJ{7g!dS z-iv@ry>|tyQ4z%+AtEMd?25)-z!tkg>|za(V=wtk?1~jDf*l)Rixo?3SV3cN|2uc? zuDkm4JbL$i=ggTiXL`B2v~`V=_{BAf=a4a9idZWK$qHnYYCy;$qO27~LsE?lAAG67 zIwe!GM<=aQ{3JW$@H)jAKr`eh4OpfYtQW&%Bny?SSA^sY1#d7ly4ME9=-C^@nQ|1A zO+)zuG8HR-kn7EXjiMwYD5-Cto5>&Kto*)7$(U^A`Av$IvN>*>6?1?Z%RZjGS*&R& zgWj@|R$F0rqioS%MsoR$&sJP0hwaZ6+sk2cE^2I1av`JP2DEsK_}v!;Wn09GmZ(9o zbR%2zp~$Ub1w&eOFTv8DXMeGj@L#&p>uelLGmyGKlrKfK!`HkUs% z*{cZuu~#wwrs0ErpV&hFnXA5g2I*>plO!qhlmT3yaotW}g@n$gEi6zA`-# zzc$yD{a82N>NWhWO7A_E0&_*r%)GHS6t`d0$>K9Nrk`Jm&h{jtR5r-sxhnnncv+lg z?HBpa6|UPa`U*v9oGsZeR+1H*J9Rl^v4e%hM?VV-Uo!>g)0t?voV6cv5qHhp%z6|+ z({e>OnOx4uS-;c1T%~oFF=ELAvOmC!mSPWph+9IP4~P+Rl-Z2<^-o%VK&cbg8PQ-> z=F>HPR9Y(PB<6$JeP_g8Muys0VH7d5>F8<;i{v2#`wmO)-7}KTpy*A1<%vxM?+qMS<^%X_;vg?yw5Qa3v8M21vyq7rGIz=#v*TWOs&Y^ih4Nhn z!k#7^6r+Tf`HW~Q>^{f?^aWay4nfZ^hYf@y%{YXp1CBAmlTIHJYY8F8GZV`_$?vcj zEi61Ke@;Ct#tKE(OWwtK&ppDilM;2E{RgR*Gzj9@?8}0E@>1fbV2<~%JQPpsjD^2iL zInX{v&G(fl&#Yr8sq`Qj1e3n9ddJ9L?fs#BniReXFmE<_%K$FF-5NinP!3?AbRfn->eOhrsj8-L48T%YNT4havC*hO@lX;X0GgP)T zn=#@H&OAQ}B~vpPs7&#v#KyuXBIna$11da)a!6XpK)P^yF?-gh!WB^Y!zW2csi$D( zgVV@HavTTI636Q}>S5*+DYL2#k*a}1tpd>$3#wuL|yi$xDwVZX+y;RzSSX!Srz$W&Pd)9nlBcl+u&s9#lZrcM`8TU%D)%%+Q& zzSN1}z@a+qxOx^QMExWB3qFyQ_>b6K{acifnXY!Df`8Bet*esik{Bl>)n!i~s?b2N zrQWWn-%P|+yCjz*r5baMA-GuA8{y+?2% z{a8VyI+qopo#V`e+(#LO?5OBEbl(}n7&r1LfoF$~rGyf(qu?-+Jp<|bR6$2GJYeF# zCFq1AG6X7_BLwnBA9Vu-^g4qQZ-_q%+h?+81xlMII8fmYRLZPbRDKgicl=#&qJg(i zDck;GX3LH_TwpY48gmZ<6K|qo75~oZEHcm+7`-=((TT#yh3x4`^_QVKLaiuV{U2wt zZ;1&)=f8}=jilRRZQ;$|M#h0=+(wqyZRJdA4(eLW9VGnxHc}Xu!|C9EQI@;*FyKMs z4hSAJ=U*ffe2_B_j|yHq*4uv(EB7#`r8|f$Q#^)Z!pK%wt z+<<#x9pTw!4))(er=&08!1X>%e0PId-xq%p;?SiqwT=&9YT2-8~<*X{&DP!K9+7%OkYcr=AQX z3-7!+S@2SH<*hvWG1Skm!01RSv3Ie~nt*y-WGh+G(#Ke_mPW83f13M5w4yA2epC|3N6UJst!d_CIPE?QTR+YiW<}$EQ@iu9_%ejuoW{d8 z&H@c{lv=lrg*}*I46~;xk5S;7a?ndNIo)po*Q8XcUM%eNLLRoF96eX@Vk6Lz_BnF! z*HR;6M?IgTaV4$e%#P=%Y{F)8{tty-v`y_{Voco^(5%~H40E7&<0TjF|Aj2fZ$AqQ zr;-;)!~XyS9fY8K_6(!>{~;NR0-j7-AvC}L4`SO+7?}!G;h7=hGm6bBPw6S6ln24( zRRy8Y$hcGFE9l;LiIQKT7i@i(h4_)*L$y5T!kBae!^f*vu<*xwEX={( zNWE{u)P0O7vtFarS3NMH2R%{SQVFALJ~qz@H;eu+mF$H7rcS`h-aL+{04RJ zZaD|l-U3+t$3X@IYhQ9O?w#6(9>0a&RB4#tQTSz$k=D@V&nUX86By$*KR~J_luV#o8p(TpsuUyiPd9wF zqxw@|+eu5wX@05XBe+eHL&#qRv7ysBn7i20k>X|}oewHZD^{x@*geA}?2$@}7VgY4 zVG;$Yu5f0K3G>$7CBbC%YOv1*gk;?HbBO}o#wIm9s z78n^v`rlGm3EGLKtuRaF{$eiWWQDK;D-3zLYKc_JmKwv_3bj|rAnPy709s+i^#5tp z??5lCaAx0ht&!1CQ){W7Fmx+tmRL*mg{Ip$u-}DLN?AAMsX;3Bb{J_}a@Yf}chW$; zPcEl#AGCCnSBI3Zk^F@%2N>N-7@sE>AuYF&oatv9shaTDAtTdJxL;%hcC_OH62w5^ zL~eJ?GC%Z&QA&ex5-#qqMbbTPn$T75T6*#omh~e`HD)*-0_#56@&2NPapgN?q|4 zn%g@}jAd6%(!o_9UegMllprMAQkhPQQ+Kam#S(O*XZ9Gc+S()5u}Y@Y+)yhWZL&v7 zDZyX(AJjcUz92j5?0|^Lq7^wuS_RN%2Z%@O6@fAbDOMdDsi5YLQVn%PRR#U-DAiO) z*HF;s+E$MA#1WCN*H)+qC#jCQSB!#Un^{>?R3rR1!wFJj8-C#(=rW`FHnXCtZLHiW zBHqf0>MvJjr_s)mk2*F^2^;7v{h$tw|AOr3nlmymBtfRUDa=KxrcO_kQ2>o~f#S3& zRMQQkxPPI!66$hfd+xfA{8fyy(!oYBd`$>;3p zO*1{E#_HwottdIn+KujcN_B))SeJQ8?S%x?JWmPB4j)NNi@ead^0X$*EC*{F+MOe^ z1%|(H!NDY`zBhz5t|rV}Fse8j>@5Y-zussG(|t`s+XhPgetA#@!Q~SzBoBLhX(rerzCIG^vQw0e6tv zgg`{iIcLIb%@Mix9|R(uAOA543cLniOOKU8u3Hh|PFGCAOG*$vwj!L@@rIGEOg9FEDI~{-S~&!crgC0 zN}pj(Nx@Q(ytz3hSn?H;G_(NGDzbgdEu*#hLe!W*C%>e3%=wDTtiH6ocx7A?3^v4Sm$ZpwuwM zpb3n257*FyNR78XF*|K|ayCD>-J`i(@l4XW+JVbPNa3JX`# zYR!mFRcTPT6fFBpIJAB_wKM@7lZ^#kw>JQgVT85TV>6h6)TsIU`gJ$U#!{MQqa~S0zRETU!*C8&KY-&uu_C+{o9fGY}^V5Qa<{H}7 zQWM11>^fO?`GLyY$H0KuFrboI&FY$&C6tApYU-()hP3 zy?Lp|V&KqTkuAzk~}QAd-Bkpls`oBkdw*@m)b8u0vGVl-Rb0xzy!!j4Y=ftP~JT4^# zO#0qOhdptWItqrHA6w4xqQSMX20_+nS#6Z+%@7+(tzzRz_P;9Qe{|{gx66^nRaj#_ z#jp#f&$Xo>J@d<`%O`aIU;&zo)@xo~C8CY&`j$g`|Crk2i&q{9S^aCF4zR%-(-7m| zs`UHc(d0T(pj<&G&T#x?5yB4PpLxg7vYriHZ)D?5H|i*L{AnFzphAodZES2)i6ZJM zbWB~8;lfzzP*>?M(iyR~1ud(qba2mgRrlP185-DO-c!tsvmw9MHhx*riZaJ&7WXI8 zM@yAtueD}GN)ioPs40l5T@NI!50ZW2EZ{r^YhiO+)KrraEO32f6jJ&valq2aXM-Sb=6R&{7zk z!O7hXFqiExlL2@7^t+8K1+Il9X$@dWa4hD_cC)ErEVey9%THh07>fwcv5yohH4*Br zq?Cr3{N7k?W6iRFO`bJ2ri&NNpG=^+@XKmi*+_DuQw=dE-nNDV-$qzuE?v(->{c5c zT{?|9zwCv{jga=(jV!E_;G4~!9+bBe$@n%#)+6?FrgLMgN`p>PVpC*&Lu2H&>nRRC zHpZIvuhSf~Y=Wuv`!fnSZ(~QBF4$o2dz~SxFE5&zJ*>z?H1r=EXSPIlq8d$M)c#@? z)>?RbmdosGid@t@&w*nzskVCP1sf`3^`c8NDM3B$(iepO^oETK<+&QtebWquz5VJJ z2^WfPjzvN5$Jo-;YTd~0g^eSfj5Ej|er032@^4(Gh~0l><3$gfqp`pIPobpmrD*lD z*9sc7!%BI%0|&Vbd~o4lg}2tnM0c%t=pN%qsvjgz>Kl*Uh^Iab zcu{V=)KHk@&p=1vc4hYTr#Yh5fmg0YKOo|kP%eAs2UI}4#DTsg>UK^92VH7vJ$ZzU zEfFEB8mD9GXq|aG`_vMv%C5B-?MXEgq(*`mL&XU&U|s^Y3%fUBpo4IrIeS*1{s{&H z`m}<+neja0;#N`vAvVDXwDc@VYfb%z7<}l~PHWm0GFx-eI_+Qw_IDLe_ezA$pOSc3 zt8Q8=T9$~d-nH$Gj4RKKXKM%!?#$`;ttCfl-x_VbaTgP2OKU7MpC%ibSYdHb4w8O^ zhi>)bVB?Q4ebXQgR!q_cllT)P6xG@>Z__!dON8a&BtdU^(YUBJZ;b} zc7XhwRwKD|bA8>)Lo#C&HM+|fmM!e)stnfkW#S5cR z7s#G|$LZl+P(8CgaZu07){Sm-LC52cOAZYq;HG-rBpVXDqQ5zS)1)udKwDccmP;LN z?26IwKMZ4Lff`m7JV@IOU82A5m%vy-8$#o|NzH`laQ5_|n~}D1kD$xyi(%>=A_#r; zl$?wP>{Q)WBX2#)K@V!!nzq2+5lpC!suy)*vW3a0dGFCGyJJ9H{1bb+QcMS1m#jXh z7L&U}?W81H*tH`y3!Nk9LB5%5)a6J~i|TP;mLk4-9;n_m6QOupNLN&YOP^k+{$@)=^w#}8R} zWKYRSLm^<<7l}7m#OdmNk@}eR98}n9>p{zhL1rzJskV{Rm--?T zmfJZ9=_fT6YV717tsl${%P|5Qy1vU|O_*haFr``a*o1jL2o@(kH(@@$v9+T1aR+GD!c7$Xr_^dK&bfE?#;D{D~8yRbwHUgdIwDl&;oe{8h$wto97>Rl_1DF1o=}|d$ z{%lPmH}P#F;e+Hoa!A%_OrhV6gl*s9&H+SaB5f$*q>O@?!{IM%31d$)*8aGG?IK(` zDSxK4vv%GzcQm@~b6z?s&$IKQF#$Sn?yFCu(F0csQ}`1RI%irx9GOiT18uV+DRqq0 zPB4}jDcyeEo!V3CzMy?VD4B9w@+#)AR5{e$3lzqIB3~ai_;CqLFU1C z9Awnj`Er@s2|Cl#%4yC8Iwa_Dk#9VFTbRI@aGKgi=g*^Lj)&U!KQg)sb?c$Cr_%8l zz*luLGL>oU1VpXY!^r5eenUI39cGr;^nonAF11WUeQQ0Kfqp{$3G5k89_bh-Kc_R` zMXBlNC446tfg_c%;GI*<8C(>erNiCG-;ns!=_X+@b9Elv_|o6t@uZnLN?xq1NTCxk zF)#i@Mk3ws3#ZLrW@e+?0?M8!C8~c~rla&Na7w@=sg~*jsU~5*JZut!xl=MjBww{QgvbJE(U&71yQTXI3GJS8K;w*59@IAPv=ICQ=~@fzX}x8qDbe+ zZUFH5ICTn4-EvkAtH`xq041dTL*-L2YaeroJw+Nh6@BEdR~W!OnW?Pze9k}+m3`D% zQtfGAj=nH5Hk36D5n^5&83*e3J917Md(*1mflI^FQT=XOvS%=5Pe-g8pLnRp~(&LMbj4joki4NXwnUT>_+#jf7IWrN}>G>BrYZltOlLh6^ zW$nF|y*(Apl5FX;wSyN+OcZWu%)^p|DGuh0EhWuHKRVRagwC6dkcBGtv$eJ{Kcg-UK6KPjlv? z^y+6ZCQ0bBi9J0t3+=RIzrz80sPmwB?q&mPOR+m)iQM>e=Rx_QY(tQi-pxacdAWtE z&WD?p9dmG?Zogw}8L{1j*~6HDIVMbCu7eXV$I-_eOsmJ+JfjpY`LGgQl!+9d9x>7m zbR`r0LeCQ>j90OPBPIR;tJfBCI^m*21va(A&6Gb7Kj~jizb!@f!m~iT&j-EiKBKz{ z;~%nT2<@IP)xlNusQFST`DCFe)|9iHy3=P@M@Q=T#=(}?>B;ZRjJEvGMCx1?GTZr; z3FGw9klB`mL`PfEmPIJuG{Wqnqdfo?-T!M86TtPhMJUyy)j1fu z2>nf+nhdlRCfDOCq8d9YO)h>h>?w`m^dC(OSy;#D?hQC?-wd=|9NHzIM>OPg!zHkA zT092}mY`S{wdCOS5?odp*op(MwvIYVS&IBk>cW}Go+uAl-$i^SsW7=aB`(9kZq2@q z&U|wwY8iG2+j zHCVOBBpHR#nHi4Oe2T4^W#*|VQ)v7O+{)=S-En?J=U{rf0vAGD^EvowC4lW!4i4PH z^|q1MurZdu5=K4O(5;o|04un#X9y+#iD7De3T_y0l0eHjNS z42)aFK>-6pG3#ZjDz8Er7e3%1Z52Z1z2)EvfVzLEvutW$gtHCR`wQ7DN#e}xzc6~t z{gs193?wXYrq)Hy?o|74%w6C8MX7&Fc!6oH!WR9F>p9go%E*(hY;$(t*T&fbsNrf1 zFu(0p!om+a+fmwTBz8Jqp$@M`0u_!a$aM|wKjjz5h;PDXF)hEXftC+vWZHvvtieT^ z*~JQSSS!_24>+%&9&52>x8jO|n%#1CqS-I7NG)0m4^Fv8WozN>H+R_6la@Vlmft{d zqKWH}fa3!>nmg@Shnk2Z?Xq>!FTw&l_N+wF{m`e)UXKd)n;&Dms8f)OEuC7A&T~fv zBZEs`8&H!90y&c!>f%UgGE<2$Zj`qH^V9jE3aIL0N%bOJD)J7s`9`R(AQ{7g8Lg9F z`l`Jy8!OU{l7~>K3LW35Y-vB)h<)?{5x6;6!^Q8L!|r~M{fo~Iw6F*q^z~+WrCRjU zCMjG#ohW$OrQH&o7^Hl2LRn=ME!m_TOyn$du5jN|Wno!S_0@^dr@!geCgsE^+WYB- z7N0CE@--^?_aqHR1*_8C4p87`siK_XnvG|6*>|?Ec+&stbBfvfDS5LLBumwp>evu! zEau@K`)x|Y->URNANmWrWWW66Fh7^hY?eIK8b5bBP|4jpE8B1YkPYWd0b9SayXQB~ zSs7*fLr@jLqES8Jt7DLaA1F0js+7zQOU{JF)eK&b*T{B$ZN#ck6)cAI9GWtGNROUF zBM0;yG<;-4>Y(0Vou9}0KHc-_?@bmKb@zOI+VU=lULYCy?Bqi1hy-?a5{bOx0GC!@$zd(5gse)N92^rUM zmQ(iinO@ynq~0o3mXAupx59OAasw&*NT3IG-l}+X0BB*u37WoDsehZ8+=$Z^De`

hQF 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 XH$dtLN_* zw42+`#vk_9Mb^!?d91=H%2v4dP;$m?EQJRNa0!}Z88u= zj2Kyso)`#6I}npwb*aCBm<7V-WIfShc;Co|6sXmE%BoK=xps}|zMY=$ zd)n(zoWV^++8mGXt6=Y@%5sT}e%(x@^p>E#?UeiWw`*3lUJVazhKI~|T#tQE**ZOc zt)|wJDFfIGP{r_vxzx%ydI2dp32%Ft(!C|sve)xX&ki8$>bB-4Ck^RIgRhCM@{0{m z=Nznk9LYX{QuDpd^dDvM#wn?z5>rxH@3up9lPkh+v$j^xfc!}qVIF5p61}w7^BeL$ z4lttj&$te(=NqjZ7*X1u@*VV^?Atndt*SNVmWF*hr!UIR{3V65j!cxda?)seZ;%Ug0kP&cig8h@Loy@UPo!He=m0-V$Cn=&d)nNdef~Uz zmv7qOjXd)#rr_%)T$C(2xkAC98C1npA0~HC#m!VbXTkm){4?)YD$NvW!|(XY4EE~0 zTsv1Fvid&g!I}7WJmWV9&JMR5#a>i&LF(q+i*^pF-IVS{?}n5yShjG}hgo+e5$XLO D>#sBU diff --git a/data/armitage/whatsnew.txt b/data/armitage/whatsnew.txt index 35cc15e96f..554cbee46b 100755 --- a/data/armitage/whatsnew.txt +++ b/data/armitage/whatsnew.txt @@ -1,6 +1,24 @@ Armitage Changelog ================== +21 May 12 +--------- +- Added a hack to prevent the input area from flickering when the + prompt changes. +- Updated the color palette to something a little more subtle. +- Added an optimization to how modules are launched. This will make + a difference for team use in high latency situations. +- Rewrote MSF Scans feature to use console queue. This option is more + reliable and it makes the code easier to follow. +- Added a hack to combine chat message writes with a read request. + This will make the event log more responsive in a high latency + situation (can't you tell I care about this "situation") +- Fixed text highlights through Ctrl+F on Windows. UNIX platforms + were always OK. Another good reason to not use these tools on + Windows. Ever. +- View -> Downloads Sync Files feature now works on Windows. It looks + like leaving those pesky :'s in the file paths is bad. + 17 May 12 --------- - Fixed bug with loot/download viewer breaking with a font resize. diff --git a/external/source/armitage/resources/about.html b/external/source/armitage/resources/about.html index 3abdcdba66..662023b66c 100644 --- a/external/source/armitage/resources/about.html +++ b/external/source/armitage/resources/about.html @@ -3,7 +3,7 @@

Armitage 1.44-dev

An attack management tool for Metasploit® -
Release: 17 May 12

+
Release: 21 May 12


Developed by:

diff --git a/external/source/armitage/resources/armitage.prop b/external/source/armitage/resources/armitage.prop index c6e4294c8d..33eb08089d 100644 --- a/external/source/armitage/resources/armitage.prop +++ b/external/source/armitage/resources/armitage.prop @@ -41,18 +41,18 @@ armitage.show_all_commands.boolean=true armitage.application_title.string=Armitage console.color_0.color=\#ffffff console.color_1.color=\#000000 -console.color_2.color=\#000080 -console.color_3.color=\#009000 -console.color_4.color=\#ff0000 -console.color_5.color=\#800000 -console.color_6.color=\#a000a0 -console.color_7.color=\#ff8000 -console.color_8.color=\#ffff00 -console.color_9.color=\#00ff00 -console.color_10.color=\#009090 -console.color_11.color=\#00ffff -console.color_12.color=\#0000ff -console.color_13.color=\#ff00ff +console.color_2.color=\#3465A4 +console.color_3.color=\#4E9A06 +console.color_4.color=\#EF2929 +console.color_5.color=\#CC0000 +console.color_6.color=\#75507B +console.color_7.color=\#C4A000 +console.color_8.color=\#FCE94F +console.color_9.color=\#8AE234 +console.color_10.color=\#069A9A +console.color_11.color=\#34E2E2 +console.color_12.color=\#729FCF +console.color_13.color=\#AD7FA8 console.color_14.color=\#808080 console.color_15.color=\#c0c0c0 console.show_colors.boolean=true diff --git a/external/source/armitage/resources/eventlog.style b/external/source/armitage/resources/eventlog.style index 2591bef2a5..2cb1a27b29 100644 --- a/external/source/armitage/resources/eventlog.style +++ b/external/source/armitage/resources/eventlog.style @@ -1,4 +1,4 @@ -^(..:..:..) \[\*\] (.*) $1 \cA[*]\o $2 -^\[\*\] (.*) \cA[*]\o $1 -^(..:..:..) \* (.*) $1 \c7*\o $2 +^(..:..:..) \[\*\] (.*) $1 \cC[*]\o $2 +^\[\*\] (.*) \cC[*]\o $1 +^(..:..:..) \* (.*) $1 \cD*\o $2 ^(\w+)> \u$1\o> diff --git a/external/source/armitage/resources/msfconsole.style b/external/source/armitage/resources/msfconsole.style index 18c7d18fb8..a8aa516621 100644 --- a/external/source/armitage/resources/msfconsole.style +++ b/external/source/armitage/resources/msfconsole.style @@ -2,7 +2,7 @@ ^meterpreter > \umeterpreter\u > ^msf > \umsf\u > ^msf (.*?)\((.*?)\) > \umsf\u $1(\c4$2\o) > -^\[\*\] (.*) \cA[*]\o $1 +^\[\*\] (.*) \cC[*]\o $1 ^\[\+\] (.*) \c9[+]\o $1 ^\[\-\] (.*) \c4[-]\o $1 ^ =\[ (.*) =[\c7 $1 diff --git a/external/source/armitage/scripts/jobs.sl b/external/source/armitage/scripts/jobs.sl index 2a3f795f54..6c205b11a5 100644 --- a/external/source/armitage/scripts/jobs.sl +++ b/external/source/armitage/scripts/jobs.sl @@ -150,7 +150,8 @@ sub launch_service { } sub _launch_service { - local('$c $key $value'); + local('$c $key $value %options'); + %options = copy($3); if ('SESSION' in $3) { $c = createDisplayTab($1, $host => sessionToHost($3['SESSION']), $file => "post"); @@ -167,17 +168,15 @@ sub _launch_service { } if ($4 eq "payload" && $format eq "multi/handler") { - [$c addCommand: $null, "use exploit/multi/handler"]; - [$c addCommand: $null, "set PAYLOAD ". substr($2, 8)]; - [$c addCommand: $null, "set ExitOnSession false"]; + [$c addCommand: $null, "use exploit/multi/handler"]; + %options['PAYLOAD'] = substr($2, 8); + %options['ExitOnSession'] = 'false'; } else { [$c addCommand: $null, "use $2"]; } - foreach $key => $value ($3) { - [$c addCommand: $null, "set $key $value"]; - } + [$c setOptions: %options]; if ($4 eq "exploit" || ($4 eq "payload" && $format eq "multi/handler")) { [$c addCommand: "x", "exploit -j"]; diff --git a/external/source/armitage/scripts/loot.sl b/external/source/armitage/scripts/loot.sl index 82a1682ce5..07f0bc74cb 100644 --- a/external/source/armitage/scripts/loot.sl +++ b/external/source/armitage/scripts/loot.sl @@ -33,6 +33,7 @@ sub downloadLoot { local('$dest'); #$dest = chooseFile($title => "Where shall I save these files?", $dirsonly => 1, $always => 1); $dest = getFileProper(dataDirectory(), $type); + mkdir($dest); _downloadLoot(\$model, \$table, \$getme, \$dest, $dtype => $type); }, \$model, \$table, \$getme, \$type)); } @@ -48,7 +49,7 @@ sub _downloadLoot { # make the folder to store our downloads into local('$handle $data $file'); if ($dtype eq "downloads") { - $file = getFileProper($dest, $host, $path, $name); + $file = getFileProper($dest, $host, strrep($path, ':', ''), $name); } else { $file = getFileProper($dest, $host, $name); @@ -76,10 +77,10 @@ sub _postLoot { local('$host $location $name $type $when'); ($host, $location, $name, $type, $when) = $1; - [$2 append: "\c9 -# -# $host $+ : $name -#\n"]; + [$2 append: " +\c9# +\c9# $host $+ : $name +\c9#\n"]; if ("*binary*" iswm $type) { [$2 append: "\c4This is a binary file\n"]; diff --git a/external/source/armitage/scripts/meterpreter.sl b/external/source/armitage/scripts/meterpreter.sl index af2e3fd056..2e91ff4267 100644 --- a/external/source/armitage/scripts/meterpreter.sl +++ b/external/source/armitage/scripts/meterpreter.sl @@ -266,96 +266,88 @@ sub launch_msf_scans { @modules = filter({ return iff("*_version" iswm $1, $1); }, @auxiliary); $hosts = iff($1 is $null, ask("Enter range (e.g., 192.168.1.0/24):"), $1); + if ($hosts is $null) { + return; + } thread(lambda({ - local('$scanner $index $console %ports %discover $port %o $temp'); + local('$scanner $index $queue %ports %discover $port %o $temp'); %ports = ohash(); %discover = ohash(); setMissPolicy(%ports, { return @(); }); setMissPolicy(%discover, { return @(); }); - if ($hosts !is $null) { - elog("launched msf scans at: $hosts"); + elog("launched msf scans at: $hosts"); - $console = createConsoleTab("Scan", 1, $host => "all", $file => "scan"); - [$console addSessionListener: lambda({ - local('$text $host $port $hosts $modules $module @c'); + $queue = createDisplayTab("Scan", $host => "all", $file => "scan"); - foreach $text (split("\n", $2)) { - if ($text ismatch '... (.*?):(\d+) - TCP OPEN') { - ($host, $port) = matched(); - push(%discover[$port], $host); - } - else if ($text ismatch '... Scanned \d+ of \d+ hosts .100. complete.' && $start == 1) { - $start = $null; - [[$console getWindow] append: "[*] Starting host discovery scans\n"]; + [$queue append: "[*] Building list of scan ports and modules"]; - foreach $port => $hosts (%discover) { - if ($port in %ports) { - $modules = %ports[$port]; - foreach $module ($modules) { - @c = @("use $module"); - push(@c, "set RHOSTS " . join(", ", $hosts)); - push(@c, "set RPORT $port"); - push(@c, "set THREADS 24"); - push(@c, "run -j"); + # build up a list of scan ports + foreach $index => $scanner (@modules) { + if ($scanner ismatch 'scanner/(.*?)/\1_version') { + %o = call($client, "module.options", "auxiliary", $scanner); + if ('RPORT' in %o) { + $port = %o['RPORT']['default']; + push(%ports[$port], $scanner); + } - push(@launch, @c); - } + safetyCheck(); + } + } + + # add these ports to our list of ports to scan.. these come from querying all of Metasploit's modules + # for the default ports + foreach $port (@(50000, 21, 1720, 80, 443, 143, 3306, 1521, 110, 5432, 50013, 25, 161, 22, 23, 17185, 135, 8080, 4848, 1433, 5560, 512, 513, 514, 445, 5900, 5038, 111, 139, 49, 515, 7787, 2947, 7144, 9080, 8812, 2525, 2207, 3050, 5405, 1723, 1099, 5555, 921, 10001, 123, 3690, 548, 617, 6112, 6667, 3632, 783, 10050, 38292, 12174, 2967, 5168, 3628, 7777, 6101, 10000, 6504, 41523, 41524, 2000, 1900, 10202, 6503, 6070, 6502, 6050, 2103, 41025, 44334, 2100, 5554, 12203, 26000, 4000, 1000, 8014, 5250, 34443, 8028, 8008, 7510, 9495, 1581, 8000, 18881, 57772, 9090, 9999, 81, 3000, 8300, 8800, 8090, 389, 10203, 5093, 1533, 13500, 705, 623, 4659, 20031, 16102, 6080, 6660, 11000, 19810, 3057, 6905, 1100, 10616, 10628, 5051, 1582, 65535, 105, 22222, 30000, 113, 1755, 407, 1434, 2049, 689, 3128, 20222, 20034, 7580, 7579, 38080, 12401, 910, 912, 11234, 46823, 5061, 5060, 2380, 69, 5800, 62514, 42, 5631, 902)) { + $temp = %ports[$port]; + } + + # add a few left out modules + push(%ports['445'], "scanner/smb/smb_version"); + + [$queue append: "[*] Launching TCP scan"]; + [$queue addCommand: $null, "use auxiliary/scanner/portscan/tcp"]; + [$queue setOptions: %(PORTS => join(", ", keys(%ports)), RHOSTS => $hosts, THREADS => 24)]; + [$queue addCommand: "x", "run -j"]; + + [$queue addSessionListener: lambda({ + this('$start @launch'); + local('$text $host $port $hosts $modules $module $options'); + + foreach $text (split("\n", $3)) { + if ($text ismatch '... (.*?):(\d+) - TCP OPEN') { + ($host, $port) = matched(); + push(%discover[$port], $host); + } + else if ($text ismatch '... Scanned \d+ of \d+ hosts .100. complete.' && $start is $null) { + $start = 1; + [$queue append: "\n[*] Starting host discovery scans"]; + + # gather up the list of modules that we will launch... + foreach $port => $hosts (%discover) { + if ($port in %ports) { + $modules = %ports[$port]; + foreach $module ($modules) { + push(@launch, @($module, %(RHOSTS => join(", ", $hosts), RPORT => $port, THREADS => 24))); } } } + } - if ($text ismatch '... Scanned \d+ of \d+ hosts .100. complete.' || $text ismatch '... Auxiliary failed: .*') { - if (size(@launch) == 0) { - $time = (ticks() - $time) / 1000.0; - - [[$console getWindow] append: "\n[*] Scan complete in $time $+ s\n"]; - } - else { - [[$console getWindow] append: "\n[*] " . size(@launch) . " scan" . iff(size(@launch) != 1, "s") . " to go...\n"]; - thread(lambda({ - local('$command'); - foreach $command ($commands) { - [$console sendString: "$command $+ \n"]; - yield 250; - } - }, \$console, $commands => shift(@launch))); - } - } - } - }, \$console, \%ports, \%discover, $start => 1, @launch => @(), $time => ticks())]; - - [[$console getWindow] append: "[*] Building list of scan ports and modules\n"]; - - # build up a list of scan ports - foreach $index => $scanner (@modules) { - if ($scanner ismatch 'scanner/(.*?)/\1_version') { - %o = call($client, "module.options", "auxiliary", $scanner); - if ('RPORT' in %o) { - $port = %o['RPORT']['default']; - push(%ports[$port], $scanner); - } - - safetyCheck(); + if ($text ismatch '... Scanned \d+ of \d+ hosts .100. complete.' && size(@launch) > 0) { + [$queue append: "\n[*] " . size(@launch) . " scan" . iff(size(@launch) != 1, "s") . " to go..."]; + ($module, $options) = shift(@launch); + [$queue addCommand: $null, "use $module"]; + [$queue setOptions: $options]; + [$queue addCommand: $null, "run -j"]; + } + else if ($text ismatch '... Scanned \d+ of \d+ hosts .100. complete.' && size(@launch) == 0) { + $time = (ticks() - $time) / 1000.0; + [$queue append: "\n[*] Scan complete in $time $+ s"]; } } + }, \$hosts, \%ports, \@modules, \%discover, \$queue, $time => ticks())]; - # add these ports to our list of ports to scan.. these come from querying all of Metasploit's modules - # for the default ports - foreach $port (@(50000, 21, 1720, 80, 443, 143, 3306, 1521, 110, 5432, 50013, 25, 161, 22, 23, 17185, 135, 8080, 4848, 1433, 5560, 512, 513, 514, 445, 5900, 5038, 111, 139, 49, 515, 7787, 2947, 7144, 9080, 8812, 2525, 2207, 3050, 5405, 1723, 1099, 5555, 921, 10001, 123, 3690, 548, 617, 6112, 6667, 3632, 783, 10050, 38292, 12174, 2967, 5168, 3628, 7777, 6101, 10000, 6504, 41523, 41524, 2000, 1900, 10202, 6503, 6070, 6502, 6050, 2103, 41025, 44334, 2100, 5554, 12203, 26000, 4000, 1000, 8014, 5250, 34443, 8028, 8008, 7510, 9495, 1581, 8000, 18881, 57772, 9090, 9999, 81, 3000, 8300, 8800, 8090, 389, 10203, 5093, 1533, 13500, 705, 623, 4659, 20031, 16102, 6080, 6660, 11000, 19810, 3057, 6905, 1100, 10616, 10628, 5051, 1582, 65535, 105, 22222, 30000, 113, 1755, 407, 1434, 2049, 689, 3128, 20222, 20034, 7580, 7579, 38080, 12401, 910, 912, 11234, 46823, 5061, 5060, 2380, 69, 5800, 62514, 42, 5631, 902)) { - $temp = %ports[$port]; - } - - # add a few left out modules - push(%ports['445'], "scanner/smb/smb_version"); - - [[$console getWindow] append: "[*] Launching TCP scan\n"]; - [$console sendString: "use auxiliary/scanner/portscan/tcp\n"]; - [$console sendString: "set PORTS " . join(", ", keys(%ports)) . "\n"]; - [$console sendString: "set RHOSTS $hosts $+ \n"]; - [$console sendString: "set THREADS 24\n"]; - [$console sendString: "run -j\n"]; - } + [$queue start]; }, \$hosts, \@modules)); } diff --git a/external/source/armitage/scripts/passhash.sl b/external/source/armitage/scripts/passhash.sl index a7612bf6b3..69afbf1d01 100644 --- a/external/source/armitage/scripts/passhash.sl +++ b/external/source/armitage/scripts/passhash.sl @@ -323,9 +323,9 @@ sub launchBruteForce { [$console addCommand: $null, "use $type $+ / $+ $module"]; foreach $key => $value ($options) { $value = strrep($value, '\\', '\\\\'); - [$console addCommand: $null, "set $key $value"]; } - [$console addCommand: $null, "set REMOVE_USERPASS_FILE true"]; + $options['REMOVE_USERPASS_FILE'] = "true"; + [$console setOptions: $options]; [$console addCommand: $null, "run -j"]; [$console start]; }, $type => $1, $module => $2, $options => $3, $title => $4)); diff --git a/external/source/armitage/scripts/server.sl b/external/source/armitage/scripts/server.sl index b31f6211e3..c0f315f470 100644 --- a/external/source/armitage/scripts/server.sl +++ b/external/source/armitage/scripts/server.sl @@ -47,8 +47,6 @@ sub client { %async['module.execute'] = 1; %async['core.setg'] = 1; %async['console.destroy'] = 1; - %async['console.write'] = 1; - %async['session.shell_write'] = 1; # # verify the client @@ -189,13 +187,15 @@ sub client { release($poll_lock); writeObject($handle, result(%())); } - else if ($method eq "armitage.push") { - ($null, $data) = $args; - event("< $+ $[10]eid $+ > " . $data); - writeObject($handle, result(%())); - } - else if ($method eq "armitage.poll") { + else if ($method eq "armitage.poll" || $method eq "armitage.push") { acquire($poll_lock); + if ($method eq "armitage.push") { + ($null, $data) = $args; + foreach $temp (split("\n", $data)) { + push(@events, formatDate("HH:mm:ss") . " < $+ $[10]eid $+ > " . $data); + } + } + if (size(@events) > $index) { $rv = result(%(data => join("", sublist(@events, $index)), encoding => "base64", prompt => "$eid $+ > ")); $index = size(@events); diff --git a/external/source/armitage/scripts/util.sl b/external/source/armitage/scripts/util.sl index 1887195a0c..dae837d8a9 100644 --- a/external/source/armitage/scripts/util.sl +++ b/external/source/armitage/scripts/util.sl @@ -138,9 +138,6 @@ sub createConsolePanel { else if ($word in @payloads) { [$thread sendString: "set PAYLOAD $word $+ \n"]; } - else if (-exists $word && !$REMOTE) { - saveFile($word); - } }, \$thread)]; return @($result['id'], $console, $thread); @@ -159,9 +156,7 @@ sub createConsoleTab { logCheck($console, $host, $file); } - dispatchEvent(lambda({ - [$frame addTab: iff($title is $null, "Console", $title), $console, $thread, $host]; - }, $title => $1, \$console, \$thread, \$host)); + [$frame addTab: iff($1 is $null, "Console", $1), $console, $thread, $host]; return $thread; } @@ -479,10 +474,8 @@ sub module_execute { $queue = createDisplayTab($1, \$host); [$queue addCommand: $null, "use $1 $+ / $+ $2"]; - foreach $key => $value ($3) { - [$queue addCommand: $null, "set $key $value"]; - } - + [$queue setOptions: $3]; + if ($1 eq "exploit") { [$queue addCommand: $null, "exploit -j"]; } diff --git a/external/source/armitage/src/armitage/ConsoleClient.java b/external/source/armitage/src/armitage/ConsoleClient.java index af04a40084..73cbbfc47f 100644 --- a/external/source/armitage/src/armitage/ConsoleClient.java +++ b/external/source/armitage/src/armitage/ConsoleClient.java @@ -143,8 +143,13 @@ public class ConsoleClient implements Runnable, ActionListener { } } - connection.execute(writeCommand, new Object[] { session, text }); - read = readResponse(); + if ("armitage.push".equals(writeCommand)) { + read = (Map)connection.execute(writeCommand, new Object[] { session, text }); + } + else { + connection.execute(writeCommand, new Object[] { session, text }); + read = readResponse(); + } processRead(read); fireSessionWroteEvent(text); diff --git a/external/source/armitage/src/armitage/ConsoleQueue.java b/external/source/armitage/src/armitage/ConsoleQueue.java index 888f97a9a0..4a44731102 100644 --- a/external/source/armitage/src/armitage/ConsoleQueue.java +++ b/external/source/armitage/src/armitage/ConsoleQueue.java @@ -21,8 +21,9 @@ public class ConsoleQueue implements Runnable { protected Console display = null; private static class Command { - public Object token; - public String text; + public Object token = null; + public String text = null; + public Map assign = null; public long start = System.currentTimeMillis(); } @@ -92,6 +93,78 @@ public class ConsoleQueue implements Runnable { } protected void processCommand(Command c) { + if (c.assign == null) { + processNormalCommand(c); + } + else { + processAssignCommand(c); + } + } + + protected void processAssignCommand(Command c) { + try { + /* absorb anything misc */ + Map read = readResponse(); + String prompt = ConsoleClient.cleanText(read.get("prompt") + ""); + + StringBuffer writeme = new StringBuffer(); + Set expected = new HashSet(); + + /* loop through our values to assign */ + Iterator i = c.assign.entrySet().iterator(); + while (i.hasNext()) { + Map.Entry entry = (Map.Entry)i.next(); + String key = entry.getKey() + ""; + String value = entry.getValue() + ""; + writeme.append("set " + key + " " + value + "\n"); + expected.add(key); + } + + /* write our command to whateverz */ + connection.execute("console.write", new Object[] { consoleid, writeme.toString() }); + + long start = System.currentTimeMillis(); + + /* process through all of our values */ + while (expected.size() > 0) { + Thread.yield(); + Map temp = (Map)(connection.execute("console.read", new Object[] { consoleid })); + if (!isEmptyData(temp.get("data") + "")) { + String[] lines = (temp.get("data") + "").split("\n"); + for (int x = 0; x < lines.length; x++) { + if (lines[x].indexOf(" => ") != -1) { + String[] kv = lines[x].split(" => "); + + /* remove any set variables from our set of stuff */ + expected.remove(kv[0]); + + if (display != null) { + display.append(prompt + "set " + kv[0] + " " + kv[1] + "\n"); + display.append(lines[x] + "\n"); + } + } + else if (display != null) { + display.append(lines[x] + "\n"); + } + else { + System.err.println("Batch read unexpected: " + lines[x]); + } + } + } + else if ((System.currentTimeMillis() - start) > 10000) { + /* this is a safety check to keep a console from spinning waiting for one command to complete. Shouldn't trigger--unless I mess up :) */ + System.err.println("Timed out: " + c.assign + " vs. " + expected); + break; + } + } + } + catch (Exception ex) { + System.err.println(consoleid + " -> " + c.text); + ex.printStackTrace(); + } + } + + protected void processNormalCommand(Command c) { Map read = null; try { if (c.text.startsWith("ECHO ")) { @@ -161,6 +234,20 @@ public class ConsoleQueue implements Runnable { } } + public void append(String text) { + addCommand(null, "ECHO " + text + "\n"); + } + + public void setOptions(Map options) { + synchronized (this) { + Command temp = new Command(); + temp.token = null; + temp.text = null; + temp.assign = options; + commands.add(temp); + } + } + public void addCommand(Object token, String text) { synchronized (this) { if (text.trim().equals("")) { diff --git a/external/source/armitage/src/console/Colors.java b/external/source/armitage/src/console/Colors.java index 8596e730b1..41a64e5fd4 100644 --- a/external/source/armitage/src/console/Colors.java +++ b/external/source/armitage/src/console/Colors.java @@ -31,19 +31,20 @@ public class Colors { colorTable = new Color[16]; colorTable[0] = Color.white; colorTable[1] = new Color(0, 0, 0); - colorTable[2] = new Color(0, 0, 128); - colorTable[3] = new Color(0, 144, 0); - colorTable[4] = new Color(255, 0, 0); - colorTable[5] = new Color(128, 0, 0); - colorTable[6] = new Color(160, 0, 160); - colorTable[7] = new Color(255, 128, 0); - colorTable[8] = new Color(255, 255, 0); - colorTable[9] = new Color(0, 255, 0); - colorTable[10] = new Color(0, 144, 144); - colorTable[11] = new Color(0, 255, 255); - colorTable[12] = new Color(0, 0, 255); - colorTable[13] = new Color(255, 0, 255); - colorTable[14] = new Color(128, 128, 128); + colorTable[2] = Color.decode("#3465A4"); + colorTable[3] = Color.decode("#4E9A06"); + colorTable[4] = Color.decode("#EF2929"); //new Color(255, 0, 0); + colorTable[5] = Color.decode("#CC0000"); + colorTable[6] = Color.decode("#75507B"); + colorTable[7] = Color.decode("#C4A000"); + colorTable[8] = Color.decode("#FCE94F"); + colorTable[9] = Color.decode("#8AE234"); + colorTable[10] = Color.decode("#06989A"); + colorTable[11] = Color.decode("#34E2E2"); + colorTable[12] = Color.decode("#729FCF"); + colorTable[13] = Color.decode("#AD7FA8"); + //colorTable[14] = Color.decode("#555753"); + colorTable[14] = Color.decode("#808080"); colorTable[15] = Color.lightGray; for (int x = 0; x < 16; x++) { @@ -62,8 +63,12 @@ public class Colors { /* strip format codes from the text */ public String strip(String text) { - StringBuffer buffer = new StringBuffer(text.length()); Fragment f = parse(text); + return strip(f); + } + + private String strip(Fragment f) { + StringBuffer buffer = new StringBuffer(128); while (f != null) { buffer.append(f.text); f = f.next; @@ -71,13 +76,11 @@ public class Colors { return buffer.toString(); } - public void append(JTextPane console, String text) { - StyledDocument doc = console.getStyledDocument(); - Fragment f = parse(text); + private void append(StyledDocument doc, Fragment f) { while (f != null) { try { if (f.text.length() > 0) - doc.insertString(doc.getLength(), f.text.toString(), showcolors ? f.attr : null); + doc.insertString(doc.getLength(), f.text.toString(), f.attr); } catch (Exception ex) { ex.printStackTrace(); @@ -86,14 +89,46 @@ public class Colors { } } + public void append(JTextPane console, String text) { + StyledDocument doc = console.getStyledDocument(); + Fragment f = parse(text); + if (showcolors) { + append(doc, f); + } + else { + append(doc, parse(strip(f))); + } + } + public void set(JTextPane console, String text) { - console.setText(""); - append(console, text); + /* don't update that which we do not need to update */ + Fragment f = parse(text); + if (strip(f).equals(console.getText())) { + return; + } + + StyledDocument doc = console.getStyledDocument(); + try { + doc.remove(0, doc.getLength()); + if (showcolors) + append(doc, f); + else + append(doc, parse(strip(f))); + } + catch (BadLocationException ex) { ex.printStackTrace(); } + + /* this is a dumb hack to prevent the height from getting out of whack */ + console.setSize(new Dimension(1000, console.getSize().height)); } private Fragment parse(String text) { + Fragment current = new Fragment(); Fragment first = current; + + if (text == null) + return current; + char[] data = text.toCharArray(); int fore, back; diff --git a/external/source/armitage/src/console/Console.java b/external/source/armitage/src/console/Console.java index 6c11052af7..496b710ee3 100644 --- a/external/source/armitage/src/console/Console.java +++ b/external/source/armitage/src/console/Console.java @@ -271,12 +271,12 @@ public class Console extends JPanel implements FocusListener { if (breakp != -1) { colors.append(console, _text.substring(0, breakp + 1)); - colors.set(prompt, _text.substring(breakp + 1) + " "); + updatePrompt(_text.substring(breakp + 1) + " "); if (log != null) log.print(colors.strip(_text.substring(0, breakp + 1))); } else { - colors.set(prompt, _text); + updatePrompt(_text); } promptLock = true; } diff --git a/external/source/armitage/src/console/SearchPanel.java b/external/source/armitage/src/console/SearchPanel.java index 9fa398669d..d4f0056865 100644 --- a/external/source/armitage/src/console/SearchPanel.java +++ b/external/source/armitage/src/console/SearchPanel.java @@ -74,7 +74,7 @@ public class SearchPanel extends JPanel implements ActionListener { try { String text = component.getText(); int lastIndex = -1; - while ((lastIndex = text.indexOf(searchstr, lastIndex + 1)) != -1) { + while ((lastIndex = text.replaceAll("\r", "").indexOf(searchstr, lastIndex + 1)) != -1) { component.getHighlighter().addHighlight( lastIndex, lastIndex + searchstr.length(), diff --git a/external/source/armitage/whatsnew.txt b/external/source/armitage/whatsnew.txt index 35cc15e96f..554cbee46b 100644 --- a/external/source/armitage/whatsnew.txt +++ b/external/source/armitage/whatsnew.txt @@ -1,6 +1,24 @@ Armitage Changelog ================== +21 May 12 +--------- +- Added a hack to prevent the input area from flickering when the + prompt changes. +- Updated the color palette to something a little more subtle. +- Added an optimization to how modules are launched. This will make + a difference for team use in high latency situations. +- Rewrote MSF Scans feature to use console queue. This option is more + reliable and it makes the code easier to follow. +- Added a hack to combine chat message writes with a read request. + This will make the event log more responsive in a high latency + situation (can't you tell I care about this "situation") +- Fixed text highlights through Ctrl+F on Windows. UNIX platforms + were always OK. Another good reason to not use these tools on + Windows. Ever. +- View -> Downloads Sync Files feature now works on Windows. It looks + like leaving those pesky :'s in the file paths is bad. + 17 May 12 --------- - Fixed bug with loot/download viewer breaking with a font resize.