虚拟主机凭借其低廉的价格,简便的操作,无维护费用等优势,迅速成为目前最为流行的建站方案。可以说,目前网络上有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 服务器的远程桌面
现在,我们已经轻松获得了一台虚拟主机服务器的管理员权限,可见其简陋的安全措施和服务器管理员淡薄的安全意识。我们可以修改、删除服务器上任一虚拟主机中的文件,甚至修改虚拟主机系统的数据库,享受“免费”的午餐,当然这不是本文的目的所在。由此可见,如果将自己的网站放在这样的虚拟主机上,那么安全将是毫无保障的。