freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

IIS6.0渗透,从基础环境搭建开始
2021-05-31 01:24:51

*严正声明:本文仅限于技术讨论与分享,严禁用于非法途径。

IIS

IIS从1.0-10.0之间共有12个版本,1.0-4.0已基本退出市场,6.0-10.0居多。IIS7.5、IIS8.5以及IIS10.0、IIS6.0是目前使用最多的版本.

IIS版本对应的Windows系统版本如下:

1.png

IIS6.x渗透

准备环境:Windows server 2003 IP:192.168.173.194

2.png

接下来先搭环境

3.png4.png

双击这里,进去之后点确定,默认选中的那三个,接着点击确定

5.png6.png

点击下一步之后,出现了报错,这代表操作系统无法找到可用的iis6.0安装包,这里把现有的iis6.0安装包拖到虚拟机中即可,点击确定进到下一步

7.png

点击浏览,点击到上传的安装包目录下后,会自动选择到那个文件,默认点确定

8.png9 - 副本.png
10 - 副本.png

然后依然有报错,重复刚刚的步骤,直到出现完成的页面,即为环境部署成功,此时管理工具中会生成iis管理器,双击打开如图所示。

11.png12.png13.png14.png15.png16.png

此时可见计算机80端口已经打开

17.png

这里写了个asp页面测试一下,发现一直访问不了

18.png

网上搜了一下得知Windows Server 2003 安装完 IIS 6后,还需要单独开启对于 ASP 的支持,选择允许即可。

19.png
20.png

IIS写权限漏洞,该漏洞的前提有三个1.开启了WebDAV 2.默认网站属性开启写入状态(其中红框里面必选,这里踩过雷,所以强调一下) 3.权限开启允许来宾访问写入,然后关闭项目重新启动;

21.png
22.png33.jpg
34.jpg23.jpg

此时再开一个Windows7的环境搭IIS7.x IP:192.168.173.196

24.jpg25.jpg

此时查看2003虚拟机是否存在写入权限的漏洞,我们需要两个工具。

26.png

因为win2003的WebDAV已经开启,此时在win7上用IISPutScanner扫描2003的虚拟机是可以扫描出该机存在写入权限的,如果win2003未开启WebDAV,则put处会显示为NO。

27.png28.png

接下来使用iiswrite工具,进行写入操作;

29.png30.png

在桌面新建文件,写入一句话,并在工具中选中这个文件,不要忘记修改域名和请求文件,这里我们放入IP即可,点击提交数据包;

31.png32.png
35.jpg

2003机子上已成功写入1.txt;

36.jpg

点击move,相当于修改1.txt名为shell.asp;

37.png
38.png
39.png

此时用蚁剑或者菜刀连接,如图所示,成功进入;

40.png
41.png

到此,文件写入漏洞即复现完,满足上面三个条件即可成功写入,因此防御的方法也同样可以得知:关闭WebDAV或者关闭写权限即可;

文件解析漏洞 条件:ii6.0的服务器开启Active Server Pages服务拓展;iis10.0和iis8.5都有可能产生这个漏洞,属于PHP版本解析漏洞

*.asp;.jpg 像这种畸形文件名在“;”后面的直接被忽略,也就是说当成 *.asp文件执行。

接下来演示一遍,首先在Win2003目录下创建一个asp文件;

44.png
42.png
43.png

这时对asp文件更改后缀名,会发现它依然可以访问,这里对文件直接复制粘贴更改后缀;

45.png
46.png
47.png

这里拿上文的shell脚本来测试一波,对其更改后缀名,蚁剑也可成功上线;

48.png
49.png
50.png

iis目录解析:以*.asp命名的文件夹里的文件都将会被当成ASP文件执行。

演示一下 首先在网站目录下建一个.asp的文件夹;

51.png

并在里面拉一个写有一句话木马的图片,此时访问仍然可以正常解析,蚁剑也可连接;

52.png
53.png
54.png

iis6除了会将扩展名为.asp的文件解析成asp文件之外,还默认会将.asa、.cdx、.cer解析成asp;这里可以从默认网站属性->主目录->配置中可以看出,他们均是调用的asp.dll进行的解析(畸形解析)

55.png

iis短文件漏洞:此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。

iis短文件名的特征:

56.png

目前IIS支持短文件名猜测的HTTP方法主要包括:DEBUG、OPTIONS、GET、POST、HEAD、TRACE六种,经千里目实验室验证,IIS 8.0、IIS 8.5和IIS 10.0的短文件名称均可以通过OPTIONS和TRACE方法被猜测成功。

iis8.0以下的版本复现条件是需要开启asp.net支持;

57.png58.png

新建一个zcc.aspx,写入一句话,能看到它也是一个短文件;

59.png

这时可以对文件名进行一级级爆破,文件名存在即返回404,不存在会返回400或者bad request页面;此漏洞只能确定前六个字符,太长或者存在特殊字符会很难猜解;

60.png
61.png

这里存在爆破的exp,需要在python2环境下使用,这里在window7环境中安装好python环境和Java7,安装步骤就不放了;

工具链接:https://github.com/irsdl/IIS-ShortName-Scanner

62.png
63.png

下载好工具后,双击run.bat,输入要爆破的网址,默认回车,即可进行爆破;

64.png
65.png
66.png

修复改漏洞的方式:1) CMD关闭NTFS 8.3文件格式的支持

举例:(1代表关闭,0代表开启)

Windows Server 2008 R2:

查询是否开启短文件名功能:fsutil 8dot3name query

关闭该功能:fsutil 8dot3name set 1

Windows Server 2003:

关闭该功能:fsutil behavior set disable8dot3 1

不同系统关闭命令稍有区别,该功能默认是开启的,对于大多数用户来说无需开启。

2) 修改注册表禁用短文件名功能

快捷键Win+R打开命令窗口,输入regedit打开注册表窗口找到路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,将其中的 NtfsDisable8dot3NameCreation这一项的值设为 1,1代表不创建短文件名格式

67.png

修改完成后,需要重启系统生效

注:此方法只能禁止NTFS8.3格式文件名创建,已经存在的文件的短文件名无法移除,需要重新复制才会消失。

以下两种方法仅适用于缓解GET方法,其他方法依旧可以猜解。

3) 关闭Web服务扩展- ASP.NET

4) 升级netFramework至4.0以上版本

RCE-CVE-2017-7269 IIS6.0远程代码执行漏洞复现

条件:Windows 2003的IIS6.0开启WebDAV服务;

68.png

exp下载链接:https://github.com/edwardz246003/IIS_exploit/blob/master/exploit.py

修改exp之后运行,可看到win2003任务管理器开启了calc.exe进程,这里因为是网络权限打开,所以桌面看不见:

69.png
70.png
71.png
72.png

从利用条件也不难看出,此漏洞的防御措施为关闭WebDAV服务即可;

接下来实现一下如何利用此漏洞上线对方电脑

测试环境:攻击机:kali 192.168.173.199 靶机还是win2003

exp下载链接:https://github.com/zcgonvh/cve-2017-7269

73.png

注意模块的命名名称,下载之后将其名字中的横线改成下划线;并将其放入kali攻击机器的/usr/share/metasploit-framework/modules/exploits/windows/iis目录下;

74.png
75.png

可以看见已经写入,直接执行;

76.png
77.png

这里发现失败了;看师傅文档发现靶机这里默认网站->属性,ip分配这里默认的未分配,即非默认绑定,而该exp只适合默认绑定和默认路径的情况下使用,这里对其进行更改,改完重启系统,重新运行exp,可成功执行,不过这里可以看出是一个低权限用户;

78.png
79.png

这里可以使用pr.exe进行提权,利用meterpreter上传pr.exe;

80.png
81.png
82.png

进到shell界面,发现成功上传了pr.exe,然后创建用户并加入管理员组;

83.png84.png85.png

可看见成功创建了zcc用户并加入administrator组。

# iis # IIS6
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录