您的位置:首页 > 运维架构 > Shell

如何防范ASP木马(卸载Shell对象)?[转]

2011-07-21 14:25 169 查看
最近网站服务器被ASP木马攻击,攻击者采用网站的图片上传系统上传asp图片木马,然后运行,注入木马程序,对付ASP木马最有效的办法就是御载掉部份ASP组件。

如何卸载Wscript.Shell等对象

1、卸载wscript.shell对象

在cmd下运行:regsvr32 WSHom.Ocx /u

2、卸载FSO对象

在cmd下运行:regsvr32.exe scrrun.dll /u

3、卸载stream对象

在cmd下运行:

regsvr32 /s /u "C:\Program Files\Common Files\System\ado\msado15.dll"

如果要重新启用:请把/u参数对掉就行了!

禁止WScript.Shell

防范此类病毒的方法就是将Windows scripting host卸载掉,

具体方法是:我的电脑→控制面板→添加/删除程序→安装WINDOWS→

附件→详细资料→Windows scripting host→确定。其实还有一种方法更简单,

依次键入下面两段命令:regsvr32/u wshom.ocx回车、regsvr32/u wshext.dll回车,

就可以把注册表中.wsh对象的注册值删掉。这样那些必须依靠对象运行的病毒就因

为找不着对象而无法运行下去。

\\\\\\\\\\\\\\\\\\\\\\\\\\

防范Wscript.Shell组件的方法:

可以通过修改注册表,将此组件改名。

HKEY_CLASSES_ROOT\WScript.Shell\及HKEY_CLASSES_ROOT\WScript.Shell.1\

改名为其它的名字,如:改为WScript.Shell_ChangeName或WScript.Shell.1_ChangeName自己以后调用的时候使用这个就可以正常调用此组件了

也要将clsid值也改一下

HKEY_CLASSES_ROOT\WScript.Shell\CLSID\项目的值

HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\项目的值

也可以将其删除,来防止此类木马的危害。

防范Shell.Application组件的方法:

可以通过修改注册表,将此组件改名。

HKEY_CLASSES_ROOT\Shell.Application\



HKEY_CLASSES_ROOT\Shell.Application.1\

改名为其它的名字,如:改为Shell.Application_ChangeName或Shell.Application.1_ChangeName

自己以后调用的时候使用这个就可以正常调用此组件了。

也要将clsid值也改一下

HKEY_CLASSES_ROOT\Shell.Application\CLSID\项目的值

HKEY_CLASSES_ROOT\Shell.Application\CLSID\项目的值

也可以将其删除,来防止此类木马的危害。

======================================================

以上是海洋中的相关代码,从上面的代码我们不难看出一般ASP木马、Webshell主要利用了以下几类ASP组件:

  ① WScript.Shell (classid:72C24DD5-D70A-438B-8A42-98424B88AFB8)

  ② WScript.Shell.1 (classid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B)

  ③ WScript.Network (classid:093FF999-1EA0-4079-9525-9614C3504B74)

  ④ WScript.Network.1 (classid:093FF999-1EA0-4079-9525-9614C3504B74)

  ⑤ FileSystem Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)

  ⑥ Adodb.stream (classid:{00000566-0000-0010-8000-00AA006D2EA4})

  ⑦ Shell.applicaiton....

  hehe,这下我们清楚了危害我们WEB SERVER IIS的最罪魁祸首是谁了!!开始操刀,come on...

  2:解决办法:

  ① 删除或更名以下危险的ASP组件:

  WScript.Shell、WScript.Shell.1、Wscript.Network、Wscript.Network.1、adodb.stream、

Shell.application

  开始------->运行--------->Regedit,打开注册表编辑器,按Ctrl+F查找,依次输入以上

Wscript.Shell等组件名称以及相应的ClassID,然后进行删除或者更改名称(这里建议大家更名,如

果有部分网页ASP程序利用了上面的组件的话呢,只需在将写ASP代码的时候用我们更改后的组件名

称即可正常使用。当然如果你确信你的ASP程序中没有用到以上组件,还是直

  接删除心中踏实一些^_^,按常规一般来说是不会做到以上这些组件的。删除或更名后,iisreset

重启IIS后即可升效。)

  [注意:由于Adodb.Stream这个组件有很多网页中将用到,所以如果你的服务器是开虚拟主机的话,

建议酢情处理。]

  ② 关于 File System Object (classid:0D43FE01-F093-11CF-8940-00A0C9054228)即常说的FSO的

安全问题,如果您的服务器必需要用到FSO的话,(部分虚拟主机服务器一般需开FSO功能)可
以参照本人的另一篇关于FSO安全解决办法的文章:Microsoft Windows 2000 Server FSO
安全隐患解决办法。如果您确信不要用到的话,可以直接反注册此组件即可。

  ③ 直接反注册、卸载这些危险组件的方法:(实用于不想用①及②类此类烦琐的方法)

  卸载wscript.shell对象,在cmd下或直接运行:regsvr32 /u %windir%/system32/WSHom.Ocx

  卸载FSO对象,在cmd下或直接运行:regsvr32.exe /u %windir%/system32/scrrun.dll

  卸载stream对象,在cmd下或直接运行: regsvr32 /s /u "C:/Program Files/Common Files/System/ado/msado15.dll"

  如果想恢复的话只需要去掉 /U 即可重新再注册以上相关ASP组件例如:regsvr32.exe %windir%/system32/scrrun.dll

  ④ 关于Webshell中利用set domainObject = GetObject("WinNT://.")来获取服务器的进程、服务以及

用户等信息的防范,大家可以将服务中的Workstation[提供网络链结和通讯]即Lanmanworkstation服务停止

并禁用即可。此处理后,Webshell显示进程处将为空白。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: