虚拟主机攻防战

来源:百度文库 编辑:神马文学网 时间:2024/04/26 03:51:45
虚拟主机凭借其低廉的价格,简便的操作,无维护费用等优势,迅速成为目前最为流行的建站方案。可以说,目前网络上有80%的网站是建立在虚拟主机上的。然而,当一种技术被应用到泛滥时,以前不被人重视的细节往往会被发掘出来。虚拟主机亦是如此,越来越多的安全问题使虚拟主机不断受到黑客的攻击。尤其是一些个人组建的虚拟主机,技术能力的不足直接导致虚拟主机漏洞百出。一个虚拟主机站点被黑客入侵,其结果往往是其他用户的站点一起遭殃,甚至被攻下整台服务器。
攻:轻松渗透,客户升级为系统管理员
一台权限设置严密的服务器可以保证每个虚拟主机的安全。然而,随着网络的发展,虚拟主机也越来越平民化,一些专为架设虚拟主机而编写的管理系统也如雨后春笋般出现。即便是一个只懂简单系统维护的菜鸟网管,也可以通过使用虚拟主机管理系统将一台普通服务器变成虚拟主机服务器。可是这些菜鸟网管往往忘了虚拟主机最重要的组成部分,从而产生一个严重的安全隐患——权限设置不严的虚拟主机。
一、权限设置不严,系统暴露无遗
如今很多虚拟主机服务器使用的都是Windows系统,管理员只在服务器上安装了虚拟主机系统,或者在安装完虚拟主机系统后进行了简单的安全设置,这都是不够的。我们可以在自己的虚拟主机中上传ASP木马或PHP木马,从而获得服务器的一个Webshell,对于权限设置简陋的服务器,我们还可以使用管理员权限执行任意命令,从而完全渗透服务器,获取虚拟主机服务器的控制权。
1、注册一个虚拟主机
我们先在虚拟主机服务商处注册一个FTP帐号名为piao,FTP密码为piaohubuding的虚拟主机用户(一般虚拟主机服务商都提供其虚拟主机产品的试用,可以利用这段时间测试一下服务器的安全性),注册完毕后获得一个二级域名piao.w12.***.com(如图1),使用FTP软件将网页上传到虚拟主机,然后输入获得的二级域名就可以访问我们的网站了。

图1
成功注册虚拟主机2、上传ASP木马
将一个asp木马上传到测试虚拟主机,这里以海阳顶瑞网的ASP木马2006版为例,上传完毕后在浏览器中输入http://piao.w12.***.com/2006.asp,出现ASP木马的登陆界面(海阳顶瑞网ASP木马已经被各大杀毒软件查杀,可以正常运行,表示服务器没有安装任何杀毒软件,可见服务器管理员的安全意识不高)。我们输入ASP木马默认的登陆密码“lcxMarcos”,登陆成功。如果管理员没有对虚拟主机用户作限制,就可以在ASP木马中查看系统信息、服务。如果没有对FSO、Shell.Application等组件进行设置,则可以浏览服务器硬盘上的所有文件,甚至在“命令提示符”中执行任意命令(如图2)。

图2
在虚拟主机上运行ASP木马二、获取更高权限,建立隐藏帐户
成功运行ASP木马后,我们可以从这里找到突破口,从而获取更高的权限。由于虚拟主机系统建立用户,绑定域名等自动化操作都需要很高的权限,因此虚拟主机系统在安装的同时会为自己创建一个管理员帐户,用这个帐户来完成程序的运行。如果服务器设置不当,我们获取的Webshell就有可能以这个管理员帐户的权限来执行其他的命令。
1、以管理员权限运行命令
选择ASP木马中的“WScript.Shell命令行操作”,在其“路径”选项中填入“cmd.exe”,在下面的“命令/参数”选项中填入需要执行的命令,这里输入“net
user”,这个命令可以查看当前操作系统中存在的用户,如果这个命令可以执行成功,表示我们当前拥有的是管理员权限,可以执行任意命令。点击“运行”按钮,顺利出现所有的系统帐户信息(如图3)。

图3 获取服务器上的帐户信息
2、建立简单得隐藏帐户
既然我们已经拥有了管理员权限,那么新建一个管理员帐户将是一件轻而易举的事。在“命令/参数”选项中填入“net user piao$ 123456
/add”,建立一个帐户名为piao,密码为123456的帐户。命令成功运行后接着输入“net localgroup administrators piao
/add”将我们新建的帐户加入管理员组,这样一个简单的隐藏管理员帐户就建立完毕了。
提示:在新建的帐户名后面加入“$”符号,可以简单得隐藏该帐户。当管理员在“命令提示符”中输入“net
user”命令来查看帐户情况时将无法看到该帐户。如果想查看该帐户可以在“命令提示符”中输入“net user
piao$”,或者进入“控制面板→管理工具→计算机管理→本地用户和组”中查看。
三、开启终端服务,完全控制主机
到这一步,我们已经拥有了虚拟主机服务器的最高控制权,但是以后的操作都需要以命令行的形式实现,所以我们可以开启服务器的远程终端服务,和服务器管理员一样以图形界面操作服务器!
开启服务器的远程终端服务我们需要一个小工具——3389.exe,只要将它上传到服务器,然后直接运行即可。进入ASP木马的“Shell.Application文件浏览器”,点击“上传”按钮,选中3389.exe后将其上传到“c:\windows\system32”目录(Windows2000为c:\winnt\system32)目录)。完成后返回“WScript.Shell命令行操作”,在“命令/参数”中输入“3389.exe”即可运行。运行3389.exe后,服务器会自动重起,重起结束后我们进入本机的“菜单→程序→附件→“通讯”,使用其中的“远程桌面连接”进行连接(如图4)。

图4 服务器的远程桌面
现在,我们已经轻松获得了一台虚拟主机服务器的管理员权限,可见其简陋的安全措施和服务器管理员淡薄的安全意识。我们可以修改、删除服务器上任一虚拟主机中的文件,甚至修改虚拟主机系统的数据库,享受“免费”的午餐,当然这不是本文的目的所在。由此可见,如果将自己的网站放在这样的虚拟主机上,那么安全将是毫无保障的。
防:严密设置,让虚拟主机坚如磐石
从上文中我们可以得知虚拟主机服务器之所以会被渗透,主要的原因可以归结为以下几点:
1、没有设置好虚拟主机用户的权限,使虚拟主机用户可以跨权操作;
2、没有合理设置FSO、Shell.Application等组件,致使ASP木马可以轻松读取服务器上的文件;
3、没有安装防毒、防黑软件。下面我们就来简单得说说如何防止虚拟主机用户利用ASP木马入侵。
那么,如何才能提高虚拟主机的安全级别,杜绝此类入侵呢?
一、合理设置权限,防范ASP木马入侵
我们知道当ASP执行时,是用“IUSR_机器名”的帐户来访问硬盘的。用户在虚拟主机系统中申请一个虚拟主机帐户时,系统会自动增加一个“IUSR_你申请的用户名”的帐户,该帐户决定了用户的权限,而默认该帐户是属于user组的。因此只要我们合理得处理好这些帐户的权限就可以防止虚拟主机用户越权操作。
首先我们假设虚拟主机用户的文件夹被统一放到C盘的user文件夹中,在任一个磁盘分区上点击鼠标有键,选择“属性”,切换到“安全”标签,将虚拟主机用户的帐户“IUSR_用户名”删除,然后点“确定”,并使其下的文件夹继承权限,这样虚拟主机用户就不能访问这些磁盘分区了,按照同样的方法设置所有的磁盘。接下来进行具体设置,进入“c:\user”文件夹,里面的虚拟主机站点文件夹都是以“IUSR_用户名”命名的,在其中一个站点文件夹上点右键,例如“IUSR_piao”,同样进入安全标签,将“administrator”和“IUSR_piao”这两个用户名添加进来,然后删除其他的用户名,点确定后完成设置(如图5),然后设置每个虚拟主机站点文件夹,即可防止虚拟主机用户越权操作。

图5
设置虚拟主机权限
当然这种方法只适用于虚拟主机用户较少的情况下,如果用户数很多,这样的设置将会是一件很烦琐的事,而且容易出错。不过现在最新推出的虚拟主机系统都可以自动设置权限,在安全性方面有很大的提高。
二、釜底抽薪,让ASP木马彻底瘫痪
ASP木马越权对其他虚拟主机文件进行操作是因为其使用了服务器的FSO、Shell.Application等“高危”组件,因此只要修改或者删除这些组件,就可以完全防止ASP木马的入侵。这些“高危”组件包括“WScript.Shell、WScript.Shell.1、Wscript.Network、Wscript.Network.1、Shell.application”。对于这些组件服务器并不常用,我们完全可以将其修改甚至删除。运行注册表编辑器,用以上组件名为关键字进行搜索,找到相应键值后将其该名即可,需要使用时可以将其修改回来。
对于FSO组件,如果不需要使用,可以将其卸载(该组件在虚拟主机上十分常用,因此请谨慎操作)。点击“开始→运行”,输入“regsvr32.exe /u
%windir%\system32\scrrun.dll”,回车后就可以卸载FSO组件了。想重新使用FSO组件可以输入“regsvr32.exe
%windir%\system32\scrrun.dll”再注册一遍即可。
_xyz