彻底封杀asp木马
目前比较流行的ASP木马主要通过三种技术来对服务器进行相关操作,我们今天就来对他们分析一下:
第一是通过调用filesystemobject组件,因为调用此组件后可以对文件进行一些常规操作,比如文件的增加,改名,删除等等。我们可以通过修改注册表禁止asp木马调用此组件,方法如下:将HKEY_CLASSES_ROOT\Scripting.FileSystemObject\改为其它名字,如改为Scripting.FileSystemObject_old,如图1。并且将其下clsid的值也改名或删除,这样木马便不可以浏览各个盘的文件了,会出现“缺少对象”的提示。
当然我们也可以这样做:在命令行下输入regsvr32.exe /u C:\WINdows\SYSTEM32\scrrun.dll, 此语句的意思就是注销scrrun.dll这个组件,此方法最终的结果是整个asp木马将无法显示,更严重的是连我们以管理员的身份登陆也不可以正常运行vbs等脚本文件,那如果我现在想让管理员能运行vbs程序而只禁止guests运行vbs,那怎么办呢?我们在命令行下输入:cacls C:\WINDOWS\system32\scrrun.dll /e /d guests,这样效果就达到了。
小知识:cacls.exe是windows自带的一个工具,可以在命令行下对文件或文件夹读下权限进行修改,但是前提是你要有权限。
第二是通过调用WScript.Shell组件,WScript.Shell可以调用系统内核运行DOS基本命令,如net命令,dir命令等,我们可以将HKEY_CLASSES_ROOT\WScript.Shell\和HKEY_CLASSES_ROOT\WScript.Shell.1\改名为其它名字,如WScript.Shell_old,WScript.Shell.1_old,如图2。当我们以后想调用此组件的时候将它们改回即可。同样别忘记了将两个主键下对应的CLSID的值一并改名,这样防止此类木马了就不成问题了。
第三是通过调用Shell.Application组件,Shell.Application也可以通过调用系统内核运行DOS基本命令 ,我们也可通过改名将其禁止,方法和上面一样。对应注册表位置在HKEY_CLASSES_ROOT\Shell.Application\和HKEY_CLASSES_ROOT\Shell.Application.1\ 。
当然了我们还有一些其他方面需要考虑,比如禁止guests帐号运行cmd.exe,对应命令为cacls C:\WINDOWS\system32\CMD.EXE /e /d guests;再比如用ntfs格式化所有分区,将guests组设置只有网站目录可以写(因为如果网站目录不可以写,那么数据库就不能更新,浏览者也不可以上传文件或者图片什么的)其他所有目录guests组没有任何权限,连读取权限都不应有,当然了用ntfs设置权限是个很复杂的问题,需要考虑的其他问题很多很多,在此我就不多说什么了,有兴趣的朋友可以多研究研究ntfs的权限设置。
关于ASP木马还有好多防范的地方,我就不再举例了,大家可以再多多挖掘。