注入的发展给webshell的研究提供了孕育的环境,asp系统的上传漏洞,尤其是使用广泛的dvbbs的上传漏洞给webshell快速发展,另外,下载默认数据库或备份数据库,然后利用后台的数据库备份得到webshell也是非常重要的入侵的手段,尤其是dvbbs数据库的表dv_logs的设置,简直让md5形同虚设。
Webshell权限的提升的研究,一下子成为摆在众多web攻击爱好者的难题。最近经常看到有人问,得到了webshell,可是由于种种限制,不能得到权限,或者达不到旁注的目的,请求办法。
记得一位牛人说的话:只要有webshell,我就能获得管理员权限。
鄙人没有这么强,我只是根据我实际的入侵经验给大家谈谈虚拟主机的权限,错误与不足之处请大家指出,欢迎来我的网站和我讨论(http://www.918x.com)。本文部分得到岁月联盟HaK_BaN的帮助,在此表示感谢。
在入侵中以下几种情况不属于我们探讨的范围。
可以跳转到任意目录并可写可执行;可以修改C:Program Filesserv-uServUDaemon.ini;可以成功运行"cscript C:InetpubAdminScriptsadsutil.vbs get w3svc/inprocessisapiapps"提升权限的。可以成功用绑定木马的类似程序替换相关程序或服务。
好了,这里我们使用的木马主要是老兵的asp管理6.0,辅助的是砍客的C/S ASP木马。(这两个木马配合使用效果要比海洋好。)
一般虚拟主机是这样设置的:系统的每个分区禁止everyone访问的。每个网站用单独的iis用户,例如,iis_www.target.com。一般虚拟主机设置这个用户是隶属guest组的,权限很低的。只能访问特定的文件夹。这就导致了网站目录不能跳转,你只能访问本网站所在文件夹。
但是我要强调的是,虽然禁止了C盘的everyone访问,但是大多数系统的C盘子文件夹没有继承父文件夹的限制,于是,我们可以手动的访问(注意:自己添加路径再转)C:Documents and Settings和C:Program Files,这个对入侵提升权限非常重要。
我们可以访问C:Program Filesserv-uServUDaemon.ini,但是serv-u的利用太广泛了,一般的管理员都知道设置serv-u文件夹的权限,一般是不能修改的。
我们还可以手动访问并下载C:Documents and SettingsAll UsersApplication DataSymantecpcAnywhere下的*.cif文件,进而破解出pcAnywhere的用户名和密码来远程登陆。也可能出现管理员登录后我们就上不去,管理员离开后会把桌面锁定。这里老兵(http://www.gxgl.com)给我们提供一个解决思路(http://www.918x.com/showart.asp?art_id=47&cat_id=5)。
如果手动可以访问c:php,c:prel等,说明我们可以使用php,cgi等的webshell。具体这期《黑客X档案》里angel的文章就很成功地突破了限制,我就不多重复。
给angel补充一点:如果能看见C:Program FilesJava Web Start,可以试试用jsp的webshell,我遇见过一次,但是权限也不是很大。
用砍客的木马,我们可以看到有serv-u的运行,并且知道他的绝对路径,很自然可以想到serv-u的权限的提升。这里就要涉及到三点:1,上传溢出程序。2,cmd的可用。3,iis单用户要有运行程序的权限。对于第一点,老兵的木马涉及到Scripting .Dictionary(数据流上传辅助组件),Adodb .Stream(数据流上传组件),SoftArtisans.FileUp(SA-FileUp 文件上传组件),LyfUpload.UploadFile(刘云峰文件上传组件),Persits.Upload.1(ASPUpload 文件上传组件)一般来说是可以上传,没有问题的。(如果还不行,我推荐使用littlepigp无组件上传,hackbase.com有下的。)对于第二点,wscript.shell组件的使用非常重要,当出现了"拒绝访问。 ",我们则可以知道对方的cmd不允许访问,这样我们可以上传一个cmd.exe来达到我们使用cmd的目的。但是当我们看见"ActiveX 部件不能创建对象",说明我们完全不能使用cmd,入侵也就陷入了困境。对于第3点,则基本没有办法,例外的还是FTA分区的利用,权限再低,在FTA分区还是可以轻松运行程序的。
我们经常讲黑客要有发散性思维,不能总是思维定势。其他的一些突破方法,无非是基于对主机其他内容的利用来达到的。比如,有人利用flashfxp里的配置文件来获得一些密码基本信息。我们同样可以下载CuteFTP 的配置文件来替换本地文件也能达到相同的目的。
再稍微谈一下那篇"将asp木马权限提升到最高"里的方法,一般情况下,在我们可以使用cmd的前提下,虽然服务器支持FSO,但我们是没有访问C:Inetpub的权限的,这样我们自然不能用"cscript C:InetpubAdminScriptsadsutil.vbs get w3svc/inprocessisapiapps"这句来提升权限的。如图:

如果权限设置得太严格,唯一的通用的办法就是在"c:Documents and SettingsAll Users「开始」菜单程序启动"写入bat,vbs等木马。等主机重启或者你ddos逼它重启,来达到权限提升的目的。
虚拟主机的设置有的是十分变态,比如:有些主机允许上传,但是不允许修改和删除;有些主机的Program Files被改为很变态的名字;有些主机的serv-u竟然是隶属guest组的用户来运行的;有些主机的杀毒做得十分惊人,n重加密过的种种木马难逃杀手,BT到了极点。
没有绝对安全的软件系统,所以我相信也没有绝对安全的虚拟主机,运气是一小部分。你的思维确非常重要。同样获得webshell,为什么高手可以成功实现权限的提升,你不行?我认为其实关键是发散的思维方式,而不是技术。