Serv-U.php:黑暗中的光芒

这几天挺无聊的,没什么事情做,恰巧朋友新做了个网站,让我去看看,顺便测试一下站点的安全性。
先看了看网站的结构和布局,感觉整体上用了整站程序,细细分析猜想可能是FreePower3.6,偶还是比较熟的,还有个论坛是LeadBBS的,“敌情”先检查到这,开工!
小提示:入侵前收集信息是非常重要的,它可以帮你决定入侵的过程、思路。
通过Ping得到目标网站的IP,在IE中打开这个IP时,却是另外的页面,估计是虚拟主机。在http://whois.webhosting.info这个网站上查询该IP地址绑定了78个域名,好家伙,真多呀,到其它的站点转了转,大多数是ASP站点,有少量的PHP的。本来想通过别的网站进行跨站攻击的,可是小菜我水平不行,基础不牢,没办法,换换思路吧。
首先在网站上找到了这个连接:
http://www.xxxxx.com/Article_Show.asp?ArticleID=7
感觉有问题,随手加了个分号,显示出错页面;换成点号,页面正常显示了,说明很有可能存在SQL注入漏洞,用工具注入吧。打开NBSI2,填上注入页面地址,显示暂未检测到注入漏洞,然后在特征字符里写上ID,再次检测,显示发现漏洞,
依次破解出用户名和md5加密密码,跑MD5得到密码是kignpl。
由于主页上有现成的后台管理地址,省掉寻找的麻烦了。直接进入后台后,开始上传我的ASP木马,仔细翻看每个功能,虽然上传文件管理不能使用,但是文章管理能用的。在本地先把海阳2005版的ASP木马改名成GIF文件,然后在文章管理中上传,提示我上传成功后文件的相对地址是“uploadfiles/2005-2/2005217193345303.gif”,可是我怎么把它变成ASP文件呢,小菜我又卡壳了,郁闷!突然记得羽艺在黑防介绍过使用备份恢复数据库的方法来对付DVBBS不能上传ASP文件的问题,正好适合我!马上找到数据库管理部分,把我上传的GIF文件恢复成ASP文件,。
木马地址是http://www.xxxxx.com/database/8.asp,总算有点成就感了,呵呵。马上登录我可爱的ASP木马,得到WebShell,大致看了看主机的信息:IIS6.0,Windows Server 2003,还好支持FSO,高兴得我乐开了花——要知道,这可是我的第一次呢!
小知识:FSO(File System Object)是微软ASP的一个对文件操作的控件,该控件可以对服务器进行读取、新建、修改、删除目录以及文件的操作,是ASP编程中非常有用的一个控件。
本来想就此打住的,但是在杂志上看到别人都提升权限了,我也来凑凑热闹吧。在WebShell里浏览了一会,发现当我浏览这个站点的C盘时,居然做了权限限制
没想到主机上仅有的3个盘,我都不能浏览其根目录,被限制在网站的主目录里,向上跳转也不可能,而且管理员还禁止了WSH,由于我是Internet来宾账户,只有user权限,所以抱着一线希望试了试CMD,结果不能执行,看来管理员又设置了不能访问Cmd.exe。没有了CMD,没有了WSH,目录没有执行程序的权限,我怎么混啊……
带着郁闷的心情,再来试试上传,心想,你不让我用CMD,我自己传个上去吧!依然失败!把本地的Cmd.exe换名成1.gif上传,还是不行;改成HTM文件,一样不行!纳了闷儿了。这样看来是什么程序都不能运行了!真有点想放弃,不能写文件,不能读网站目录外的文件,以前高手们的方法怎么都不行了,反向连接也没用了,更别说什NC和木马了。
对了,还没检查端口呢!我赶紧拿出SuperScan扫描端口,结果让我这个小菜绝望了,只开放了21和389端口,估计对方有防火墙或者做了TCP/IP筛选过滤,389端口又不熟悉,21是FTP服务的默认端口,连接上去看看Banner怎么样?兴许是Serv-U呢?
从返回的信息来判断,虽然它修改了FTP Server的Banner,但是从“user name okay,need password”这句可以大胆的猜测它就是Serv-U!虽然它的版本我现在还不知道,但是这也许会多条通向成功的途径,试试!
经过仔细的思考,眼下有两个思路可以走:第一个是通过这个IP上的其它站点来渗透,我就不信,77个虚拟主机都是这么BT,应该有些用户权限能大点,可是说得容易做起难,都黑上一遍第二天我就是有两黑眼圈的国宝了;第二就是Serv-U,不是开了21吗?于是我拿起前辈们的远程溢出攻击武器,轮番轰炸,可是人家21阵地坚若磐石,绝望了……
回过头再想想:服务器不是支持PHP脚本吗(这个IP上有PHP网站的)?虽然我的权限很小,但也不是一无是处,EXE上传不了,来个PHP的,谁知还真的能正常解析!赶紧上传个PHP木马,可惜PHP木马的权限也是很低的,与ASP木马一样几乎没有任何有用的权限。不过这给我了启发:要是有个PHP脚本能实现Serv-U的本地权限提升不就能成功了吗?说干就干,我可是不会PHP语言的,自己编是不行了,去网上找找,可惜没找到合适的。后来把这个想法跟羽艺说了说,他说他正好有个这样的脚本,我拿回一看说明,这不正是我想要的吗?哈哈,看来要柳暗花明了。
赶紧把它上传到Web目录里,地址是:http://www.xxxxx.com/database/servu.php,这里我改成了Servu.php。IE中直接运行.
我们只要在Serv-U里加个超级用户!说说它的使用吧:主机IP中填上提供虚拟主机的服务器地址;主机FTP管理端口要根据情况来修改;添加用户名和密码这个根据自己的喜好来修改,这里默认是wofeiwo,密码是wrsky;用户主目录一般是C:\。其它的一般不需要进行修改。
好了,我根据我的情况修改了IP、添加的用户名与密码后,点击添加按钮,Serv-U本地提升权限脚本将在服务器端被解析执行,需要一些时间,有点慢,等滚动条走完后即执行成功,将添加一个Serv-U用户admim,密码是admim,并且它的权限是system,方框里有命令执行的回显,我的回显是(看到以下的信息基本上执行成功):
220 Serv-U FTP Server v5.2 for WinSock ready…
331 User name okay, need password.
230 User logged in, proceed.
230-Switching to SYSTEM MAINTENANCE mode.
230 Version=1
900-Type=Status
900 Server=Online
900-Type=License
900-DaysLeft=0
……
900 MinorVersion=0
200-User=admim
200 User settings saved
注意在这里,由于我没有办法查看处于防火墙之后(假如有)的主机开放的真实端口(技术太差了,呵呵),所以我假设它的本地Serv-U管理端口没有被修改,有点蒙的味道了。哈哈!成功了!是Serv-U 5.2,连版本都显示出来了!结果是歪打正着了!
现在局势已经明朗了:直接FTP过去登录,切换目录到system32下,然后执行以下命令添加用户“mdj:Quote site exec net.exe user mdj 123456 /add”
怎么回事?提示我执行失败:
ftp> quote site exec net.exe user mdj 123456 /add
501 Cannot EXEC command line (error=0)
细想了一下,既然net.exe存在说明可能管理员对net文件做了访问限制,测试cmd也是一样。这样我来上传net.exe,改名为200.exe,然后执行添加管理员用户命令.
命令执行成功!说明具有系统管理员的权限!可以利用Serv-U进行远程管理、上传免杀木马等等。大家都是行家,小菜我这里就不废话了,渗透到这里也就结束了。
Serv-U.php对所有Serv-U版本均通用的,本地权限提升工具的话,我还是个小小的user权限,可见它在这次渗透过程中起到了至关重要的作用。现在有的服务器还是允许执行程序的,