随着ASP 技术的发展,网络上基于ASP技术开发的网站越来越多,对ASP技术的支持可以说已经是windows系统IIS服务器的一项基本功能。但是基于ASP技术的木马后门,也越来越多,而且功能也越来越强大。由于ASP它本身是服务器提供的一贡服务功能,所以这种ASP脚本的木马后门,不会被杀毒软件查杀。被黑客们称为“永远不会被查杀的后门”。由于其高度的隐蔽性和难查杀性,对网站的安全造成了严重的威胁。因此针对ASP木马的防范和清除,为我们的网管人员提出了更高的技术要求. 特别是最近由dvbbs的upfile文件出现漏洞以来 几个大的程序全部被发现存在上传漏洞,小程序更是不计其数,让asp木马一下占据了主流,得到广泛的使用,想必如果你是做服务器的话,一定为此头疼不止吧,特别是虚拟主机的用户都遇到过网页被篡改、数据被删除的经历,事后除了对这种行径深恶痛绝外,许多客户又苦于没有行之有效的防范措施。鉴于大部分网站入侵都是利用asp木马完成的,特写此文章以使普通虚拟主机用户能更好地了解、防范asp木马。也只有空间商和虚拟主机用户共同做好防范措施才可以有效防范asp木马!
我们首先来说一下怎么样防范好了,说到防范我们自然要对asp木马的原理了,大道理我也不讲了,网上的文章有的是,简单的说asp木马其实就是用asp编写的网站程序,甚至有些asp木马就是由asp网站管理程序修改而来的。就比如说我们常见的asp站长助手,等等(图2)
它和其他asp程序没有本质区别,只要是能运行asp的空间就能运行它,这种性质使得asp木马非常不易被发觉。它和其他asp程序的区别只在于asp木马是入侵者上传到目标空间,并帮助入侵者控制目标空间的asp程序。严重的从而获取服务器管理员的权限,要想禁止asp木马运行就等于禁止asp的运行,显然这是行不通的,这也是为什么asp木马猖獗的原因!有人要问了,是不是就没有办法了呢,不,有办法的:
第一:从源头入手,入侵者是怎么样上传asp木马的呢?一般哟几种方法,通过sql注射手段,获取管理员权限,通过备份数据库的功能将asp木马写入服务器。或者进入后台通过asp程序的上传功能的漏洞,上传木马等等,当然正常情况下,这些可以上传文件的asp程序都是有权限限制的,大多也限制了asp文件的上传。(比如:可以上传图片的新闻发布、图片管理程序,及可以上传更多类型文件的论坛程序等),如果我们直接上传asp木马的话,我们会发现,程序会有提示,是不能直接上传的,但由于存在人为的asp设置错误及asp程序本身的漏洞,给了入侵者可乘之机,实现上传asp木马。
因此,防范asp木马的重点就在于虚拟主机用户如何确保自己空间中asp上传程序的安全上,如果你是用别人的程序的话,尽量用出名一点的大型一点的程序,这样漏洞自然就少一些,而且尽量使用最新的版本,并且要经常去官方网站查看新版本或者是最新补丁,还有就是那些数据库默认路径呀,管理员密码默认呀,一定要改,形成习惯保证程序的安全性。
那么如果你是程序员的话,我还想说的一点就是我们在网站程序上也应该尽量从安全的角度上编写涉及用户名与口令的程序最好封装在服务器端,尽量少的在ASP文件里出现,涉及到与数据库连接地用户名与口令应给予最小的权限; 需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。防止ASP主页.inc文件泄露问题; 防止UE等编辑器生成some.asp.bak文件泄露问题等等特别是上传功能一定要特别注意
上面的只是对客户的一些要求,但是空间商由于无法预见虚拟主机用户会在自己站点中上传什么样的程序,以及每个程序是否存在漏洞,因此无法防止入侵者利用站点中客户程序本身漏洞上传asp木马的行为。空间商只能防止入侵者利用已被入侵的站点再次入侵同一服务器上其他站点的行为。这也更加说明要防范asp木马,虚拟主机用户就要对自己的程序严格把关!
1、建议用户通过ftp来上传、维护网页,尽量不安装asp的上传程序。
2、对asp上传程序的调用一定要进行身份认证,并只允许信任的人使用上传程序。
这其中包括各种新闻发布、商城及论坛程序,只要可以上传文件的asp都要进行身份认证!
3、asp程序管理员的用户名和密码要有一定复杂性,不能过于简单,还要注意定期更换。
4、到正规网站下载asp程序,下载后要对其数据库名称和存放路径进行修改,数据库文件名称也要有一定复杂性。建议我公司的客户使用.mdb的数据库文件扩展名,因为我公司服务器设置了.mdb文件防下载功能。
5、要尽量保持程序是最新版本。
6、不要在网页上加注后台管理程序登陆页面的链接。
7、为防止程序有未知漏洞,可以在维护后删除后台管理程序的登陆页面,下次维护时再通过ftp上传即可。
8、要时常备份数据库等重要文件。
9、日常要多维护,并注意空间中是否有来历不明的asp文件。记住:一分汗水,换一分安全!
10、一旦发现被入侵,除非自己能识别出所有木马文件,否则要删除所有文件。
重新上传文件前,所有asp程序用户名和密码都要重置,并要重新修改程序数据库名称和存放路径以及后台管理程序的路径。
做好以上防范措施,您的网站只能说是相对安全了,决不能因此疏忽大意,因为入侵与反入侵是一场永恒的战争!
那么服务器管理员要做些什么呢,通过一些资料,对于防范方法让我们看一下它的代码就知道了:
Set oscript = Server.CreateObject("Wscript.SHELL") "建立了一个名为oscript的Wscript.SHELL对象,用于命令的执行"
Set oscriptNet = Server.CreateObject("Wscript.NETWORK")
Set oFileSys = Server.CreateObject("scripting.FileSystemObject")
上面三行代码创建了Wscript.SHELL、Wscript.NETWORK、scripting.FileSystemObject三个对象我们可以看出asp木马的运行原理就是通过调用组件对象等完成的。
通过分析一些asp木马,我们看出主要是通过3个组件运行的,第一个是我们都知道的FSO, 需要FSO支持也就是"scripting.FileSystemObject"项的支持,那么有人会说,是不是删除这个组件就可以了呀 ,不可以的,因为现在很多程序都是要用到FSO这个组件的,所以是觉得不能限制的,不然正常的程序也运行不了,现在网上有很多教程,告诉别人删除或限制使用,这些方法都很极端,我不推荐大家使用,我们再说另外几个组件"shell.application"、"Wscript.SHELL"等危险组件 ,一般的木马都是要使用这几个组件的 ,即使你把fso组件限制的话,你不去限制别的组件的的话,一样不能起到效果的,对于fso组件之外的其他的几个组件,我们平时是不太用的,所以我们可以直接在注册表中的HKEY_CLASSES_ROOT中找到
找到"shell.application"、"Wscript.SHELL"等危险的脚本对象(因为它们都是用于创建脚本命令通道的)进行改名或删除,也就是限制系统对“脚本SHELL”的创建,ASP木马也就成为无本之木、无米之炊,运行不起来了。如果我们自己要使用的话,那么我们就不要删除直接改下名字,如果是改名,要改得复杂一点,不要让别人猜到了,我们在要用的程序里面直接把调用的名字改成我们刚才修改的名字就可以了。
对组件进行限制之后,我们还应该对服务器的权限进行严格的设置,这里我就不说了,由于篇幅问题,等下不知道要写多久了,大家可以参考网上的一些安全权限设置, 我们对权限和组件等等设置完了之后,基本上就能防止asp木马的危害了。
另外有一点应该注意,如果确实发现木马了,查杀完之后,应该将具有管理权限的各类帐号都进行修改。包括论坛的帐号、数据库帐号以及服务器操作系统帐号、FTP 帐号等,如果我们做到了这个几点话,我们的服务器基本上是安全了,呵呵,为什么说是基本的呢,因为这个世界上根本就没有安全的服务器了,只不过我们刚才说到的设置只是能够防范大部分asp木马的的侵害,不排除一些别的因素,比如说提限。说白了防范asp木马就是要限制组件,设置严格的权限和保证asp程序的安全
哇,不知不觉写了这么多了,呵呵,我们下面说下怎么样查杀asp木马了,我根据自己的一些经验说几种方法
1. 时间比较法
按时间顺序找到最近被改动的asp文件 ,打开看下,是不是木马呢,什么,看不懂代码, 那你就把不是你自己放的asp文件,名字看一眼就看的出的。比如说diy.ap.dm6.asp,angel.asp.shell.asp什么的文件,可疑的asp文件不是你自己创建的删除,或直接访问下看下是不是木马就可以了 ;
2. 查找关键字,asp木马都是有关键字的,也就像病毒的特征码,我们用windows自带的搜索功能就能查找到 ,查找包含内容为关键字的所有文件就可以了,找到以后看下就可以了,有时候能查找到一些asp的大文件,如果是虚拟主机的话,一般是数据库文件改成asp的了,如果是一句话木马的关键字就小心了,如果是大型木马的关键字,咱们访问一下看看,我不赞成把数据库改成asp的,至于为什么,大家都知道吧,呵呵 ;
我整理了一些特征码,现在给大家
gxgl
lcx
输入马的内容
session("b")
request("kker")
本文件绝对路径
非常遗憾,您的主机不支持ADODB.Stream,不能使用本程序
传至服务器已有虚拟目录
微风渗透
二次密码
省下2元钱买瓶可乐也好
警告:对非法使用此程序可能带来的任何不良后果责任自负!请勿用于非法用途!!!
<%execute request("value")%>
ccopus
<%execute(request("#"))%>
("cmd.exe /c "&request.form("cmd")).
("cmd.exe /c "&request("cmd")).
("cmd.exe /c "&request("c")).
这些都是关键字了,全部是我从木马里面一个一个提取出来的,如果有这些特征的话,一般都是木马 ,不过大家最好打开看一下,不排除特殊情况。如果你的网站里,有类似代码:估计可能是被加入的恶意连接,或着被挂马了,好狠毒,那么请在关键词中搜索iframe src,
3. 大家也可以用明小子的asp木马扫描的这个小工具拉,把我的关键字放进去,扫描一下,挺方便的,呵呵
4. 在网站结构清楚的情况下,浏览目录法能快速确定木马,在不该出现的地方出现的文件,管他是不是木马都可以删,比如说dvbbs下的 upfile这些文件夹里是不应该出现asp文件的,我们一发现就删除就是了 ,不过要求管理员对自己的网站目录结构熟
5. 有一种方法可以试下,就是做好备份,一旦发现有人入侵,马上还原,这样什么木马也不怕了,不过要注意的是,把保证备份文件是安全的 ,要是备份文件里也有木马,让就没搞一样的
6. 用asp木马追捕的文件,查杀,网上有下载的,另外我们常用的杀毒软件也有这样的功能,我推荐大家采用卡巴斯机,效果非常好,几乎能查杀如今所有流行的asp木马
ASP木马是如何上传及防范方法
上面只是简单的介绍了一下,asp木马的一些查杀方法,当然这些只是亡养补牢了,我们最好对服务器系统进行严格的权限限制,让黑客即使是上传了木马也没有什么用,这里权限的限制我就不多说了等下不知道要写多少,网上的资料也很全面的,大家可以自己去查找西。而且现在说来说去,asp木马的隐藏方法确实是很高明,asp木马代码加密,图片合并,文件时间修改,还有要命的系统漏洞利用等等这对于要百分之百查杀asp木马的查杀,几乎不可能,我们只有堵住木马上传的源头 ,asp程序尽量用最新版本,网站中的上传途径自己应该特别注意,对于不需要脚本运行的文件夹在iis里面设置,执行许可为无,还有就是管理员要求有良好的安全意识,不然的话,谈不上安全了,并且我们设置了权限之后, 传了也是白传 .