记一次渗透空间服务器的艰难之旅
作者:依冰(still) 文章来源:黑客X档案
最近,笔者做了一台空间服务器的代理销售人,主要负责空间的销售,空间商对自己的服务器非常自信,说一般人根本无法攻破他的服务器,就算一个虚拟机被上传了WEBSHELL也不会影响到别的虚拟目录客户,意思就是不存在跨站入侵,当时我只是"哦"了一声。今天闲来无事,就来看看他服务器有多么的安全,反正我只是一般人,攻不破也无所谓^_^!
一、获取服务器信息,设想入侵思路
先来看看他开了哪些服务,拿出scanner扫扫他开了哪些服务吧,端口范围就填1-6000,不一会儿时间就扫完了(如图1),看到了吧,只开了WEB、FTP和MYSQL,最后的那个5921端口不知道是什么东西,WEB是用IIS5.0搭建的,应该是WIN2000,打了SP4。先不管那么多,试试MYSQL有没有弱口令,拿出牛族的mysql连接工具,IP为61.XX.XXX.XXX,用户是ROOT,密码为空,点击开始连接按扭,果然不出我所料,连接失败,用TELNET连接了一下MYSQL也没得到什么信息,不知道是什么版本,不过听空间商说是现在最新版本,不存在溢出,很可能还加了强悍的密码,暴力破解也没用,看来从MYSQL下手不行,SERV-U也是最新版本,没有溢出,就算有溢出也要得到FTP用户和密码。IIS更不要说,一定把该打的补丁都打了,WEBDAV溢出是不会有了。其实还有一个方法,就是做一个用户和密码的字典,加载到X-scan或别的扫描工具里进行大范围的FTP弱口令扫描,但我知道,现在他服务器是刚建的,里面没多少客户,这属于大家海捞针,所以就不做这些无畏的工作了。现在最现实的就是在服务器上的一个虚拟空间里搞一个WEBSHELL,然后进行权限提升。
二、得到WEBSHELL后之"艰难"处境
先来看看他服务器上绑定了多少域名,然后找一个存在注入的网站上传WEBSHELL。既然这样,就请出桂林老兵的虚拟主机站点查询工具,在里面输入服务器的IP,然后点击"域名数量"按扭,不一会儿结果就出来了(如图2),晕,就8个国际域名,看来那些试用空间的二级域名显示不出来,管他呢,一个一个的找,于是随便打开了一个网页,一看下了我一跳,用的是DVBBS7.0,连SP2都没打,也没有进行美化,嘻嘻,看样子是一个空间用户正在测试空间,所以随便上传了一个DVBBS,看看他把默认密码和用户改了没有,在用户名里输入admin,密码为admin888,然后登陆,哈哈,没想到真的进来了,看看后台密码改了没,输入http://www.xxxxxx.com/bbs/admin_index.asp,用户再次输入admin,密码还是admin888,最后输入附加码后点击登录,没想到大失所望(如图3),可能是把admin后台密码改了或删掉了admin用户的管理员权限,看来只有通过DVBBS的漏洞得到WEBSHELL了,嘻嘻,他没打SP2,应该没有补DVBBS那些知名BUG,为了方便,我就用DVBBS的上传漏洞试试,上传一个WEBSHELL来,在这里我使用的是桂林老兵的漏洞利用工具,在提交地址里填上upfile.asp这个文件的地址,一般在/upfile.asp,上传路径里可以把默认上传的文件名改一下,如果服务器用的是IIS5.0,协议版本里就选择"http/1.0",如果是IIS6.0,就选择"http/1.1",点击"浏览"按扭找到自己要上传的文件,其它的都不用改,然后点击上传文件按扭,哈哈,真的成功了(如图4),可是高兴的太早了,在WEBSHELL里根本什么命令都用不了,难道是不支持FSO?不可能啊,论坛可以使用,怎么会不支持FSO呢,看来一定是配置了BT的权限,WEBSHELL功能实在是太小,还是上传一个海洋ASP木马看看,不上传还好,上传上去下了我一跳,在免FSO页面里打什么命令都没反应,这还不止,进了FSO支持页面里连本目录的东西都看不到(如图5),C、D、E盘都不能访问。我真的有点怀疑空间到底支持不支持FSO组件,别说是跨站入侵,就连想改自己虚拟目录里的东西都不容易(因为看不到目录里的文件和路径),看来真的是没什么希望了,只能说空间商太BT,说实话,在国内这样的服务器还真的少见。就这样放弃?觉得有点不甘心,再这样继续渗透?怎么搞的下去?一看表,马上就要到12点了,因为学校一到12点就会对寝室限电,只能开一盏日光灯,我可不想把CPU烧掉,这样不是赔了夫人又折兵?还是等明天再说吧,于是关电脑睡觉了,那天晚上做了个好梦,梦到拿掉了服务器了最高权限^_^,所以第二天一大早起来就觉得很有信心,感觉可以突破权限。先开机,上QQ,在我QQ的一个群接收到一个ASP木马,发现是Asp站长助手6.0,又是桂林老兵作品,当时突然在想,海洋ASP木马不行,上传Asp站长助手6.0也许会好一点,于是就抱着试一试的想法上传了Asp站长助手6.0,没想到的确比海洋ASP木马好一些,起码可以看到本目录下的文件和目录,试试有没有删除本虚拟目录里文件的权限(如图6),真晕死,没有删除权限,经过我测试只能添加文件和修改文件,而且只能在自己的虚拟目录里活动,比如我现在所在的虚拟目录的路径是e:\web\aaa里,你只能访问aaa目录里的文件,连浏览web目录的权限都没有,这还不止,在自己的虚拟目录里连执行权限都没有,也就是说不能用WEBSHELL执行所上传的文件,这样就算在自己虚拟目录里上传了本地溢出程序也不能执行。
三、寻找突破点
没想到IIS权限配置的这么BT,现在唯一的方法就是找一个能执行的目录,还能写入文件,可是权限配置的这么BT,要找到这样的目录真的很困难,也许都没有,不过一般C:\winnt我想应该能进入,浏览里面的目录和文件,因为IIS5.0的Internet 来宾帐户一般都是GUESTS权限,而WINNT目录都给予GUESTS权限读取、运行和列出文件夹目录,就是不能写入,如果WINNT目录不给予这样的权限,可以系统里的一些服务就不能正常运行,所以还是在c:\winnt里找找突破点,也就是可能存在可以写入的目录,先试试可不可以读取文件,在Asp站长助手的"地址栏"里输入"c:\winnt"(如图7)看到了吧,果然能浏览文件和文件夹,就是不能写入文件,现在就要找到一个能写入和能执行的目录,然后上传一个本地溢出程序,进行本地溢出得到管理员权限。不过WINNT目录里有这么多文件夹,怎么找?如果一个一个的找,要找到什么时候?于是经过一阵沉思,突然想到,IIS的那个文件夹,也就是在c:\winnt\system32\inetsrv目录里会不会有这样的目录?因为IIS的Internet 来宾帐户很可能要调用inetsrv目录里的一些文件,或是加载文件,而这就要求必须有写权限,于是马上进入c:\winnt\system32\inetsrv目录里,发现里面有一个DATA目录,于是试着在里面建一个文件,在ASP站长助手里点击左边的那个"新建文本",随便建一个文件试试,哈哈,没想到真的成功了(如图8),我在里面建了一个serv.txt的文本文件,看来能写入,不知道能不能执行,于是马上把cmd.exe上传到c:\winnt\system32\inetsrv\data目录里,再点击左边的"命令行模块",在最下面的"SHELL路径:"下填写c:\winnt\system32\inetsrv\data\cmd.exe,因为我在data目录里上传了一个cmd.exe,就以data下的cmd.exe运行,而c:\winnt\system32\的cmd.exe没有执行权限,BT空间商把来宾用户的权限取消了,填写好后在"执行"按扭上面输入ipconfig /all命令,主要是看看能不能执行(如图9),哈哈,真的成功了,突然发现胜利的曙光在眼前一闪^_^。
四、进行权限提升,进行BUG修补
现在就来提升权限,不过我听空间商说,过了SP4的那些本地溢出漏洞他都补了,就连最近新出的一些都补掉了,所以我就不在这里做这些没用的事浪费时间了,用社会工程学觉得没必要,对了,试试SERV-U的那个本地权限提升工具,具我预感应该可以,因为我听说SERV-U5.2的那个用户和密码还是没改,应该还存在这样的漏洞吧?好了,废话不多说,来试试,用ASP站长助手上传SERV-U的那个溢出程序,上传到DATA目录里,然后进行溢出,命令是:serv-u "要执行的命令",比如我想建一个yibing的用户,就输入serv-u "net user yibing /add",呵呵,没想到真的溢出成功了,真想不通怎么最新的SERU-U程序也存在这样的BUG,现在就是看看终端开的没有,上传了mport.exe,发现5921这个端口就是终端的端口,由于篇幅的原因,这些我就不再截图了,于是连接终端,进入后在ADMINISTRATOR这个管理员用户的桌面上建了一个TXT的文件,里面写了几句话,提个醒。
现在我拿到了管理员权限,因为是自己家的服务器,所以就把这两个BUG给补好吧,首先先把c:\winnt\system32\inetsrv\data这个目录的Everyone删掉就可以了,这样就不能写入文件了,Everyone权限是所有用户的意思,只要加上这个权限,不管是ADMINISTRATORS权限还是GUESTS权限,都包括在Everyone权限里,然后就是修补SERV-U这个BUG了,在这里我用藏鲸阁里开发的一个工具,用法很简单,打开后点击"选择"按扭选择SERV-U所在的目录,然后在第一行"管理端口"里改一下那个致命的端口,再在下面的"管理帐号"里改一下SERV-U里的那个管理员用户,在这里要注意了,长度一定要为18个字符,如果长了或短了很可能会出现意外的错误,下面的"管理密码"也要改,长度一定要是14个字符,都填好修改的内容后点下面的"修改"按扭,如果成功会提示修改成功的对话框,不过一定要注意,在修改之前,必须要把SERV-U的所有进程和服务都关掉!
五、总结
经过依冰测试,通过此方法入侵,我一夜就搞定了四台空间服务器,根本上是IIS5.0+SERV-U,有一个WEBSHELL就可以搞得定,因为这是WIN2000默认配置的权限,而且又在系统目录里,所以一般没有管理员去特意的配置它。希望国内多多重视一下网络安全,好了,就到这里吧,如果文中有什么错误或不明白的地方,可以来X档案官方论坛和我探讨。(相关程序都已经收录)