freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

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

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

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

ISS6.x中间件漏洞复现
assion 2022-06-03 11:36:01 182567
所属地 广东省

一 前言

IIS是一种Web(网页)服务组件,专业的说,IIS可以赋予一部主机电脑一组以上的IP地址,而且还可以有一个以上的域名作为Web网站(简单来说IIS就相当于把你的机器变成一个服务器用来浏览网页)。IIS目前只适用于windwos操作系统,不适用于其他操作系统。

二 复现漏洞

1 ISS写权限漏洞

简述:

IIS开启WEB DAV服务、开启写入权限,会引起IIS写权限漏洞

步骤:

开启WebDAV

(WebDAV 是 一种基于Http1.1协议的通信协议。扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使用程序可对web server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。)

1654088316_6297627cc941a3cb63cd4.png!small?1654088316556

右击默认网站,属性,开启脚本资源访问和写入,

1654088399_629762cf4ee530b14ea2b.png!small?1654088399018

使用IISPutScanner测试是否有写入权限,

1654089040_629765502afba8514470f.png!small?1654089039867

用isswirte上传文件,以txt文件形式,

1654090633_62976b89a779457e6dd1c.png!small?1654090633742

成功上传。

1654090746_62976bfa97ff670a8803c.png!small?1654090746406

asp文件不能上传,

1654091096_62976d58aa2e864a8c623.png!small?1654091096712

使用move协议改数据包的后缀名,

1654094816_62977be04e0ecf24cf4b8.png!small?1654094816480

开启允许asp解析,

1654093325_6297760dbd84a4790d7f1.png!small?1654093325614

然后换为move协议(使用move方法将刚刚上传的txt文件修改为asp文件,从而将文本文件变为可执行的脚本。move协议不会改为文件内容)。

1654094103_6297791764eefbbf73219.png!small?1654094103137

1654094123_6297792b80bd3a686f4e9.png!small

菜刀连接,成功连接到,

1654094399_62977a3f21947e9f71039.png!small?1654094398972

总结:当网站有开启webdav并有写入权限,就可以使用put上传文件,并用move修改文件模式。

修复:

关闭WebDAV
关闭写入权限(默认网站-主目录)

2 文件解析漏洞

简述:

IIS文件解析漏洞:IIS会把 .asp;.xxx文件当做 *.asp文件来执行,不会看分号之后的内容。

复现:

访问这三个文件,内容都一样。

1654097454_6297862eb324cb3851e76.png!small?1654097454431

1654097409_62978601a75c85cbfa5c8.png!small?1654097409491

1654097443_62978623345eb418074e2.png!small?1654097442988

修复:

上传文件名字重命名(加时间戳和随机数)

设置文件上传规则

3 目录解析漏洞

简述:

IIS目录解析漏洞:以 *.asp命名的文件夹中的文件都可以当做asp文件执行。

复现:

1.sap目录下的文件都按.asp解析,

1654097648_629786f0090f3569e9b23.png!small?16540976478031654097631_629786df3f39672d66ddd.png!small?1654097630999另外,IIS6.x除了会将扩展名为。asp之外,还会将扩展名为.asa、.cdx、.cer等解析为asp。

1654097975_6297883792d407ead031f.png!small?1654097975398

1654098033_629788711b8bdefe615c4.png!small?1654098032831

修复:(微软不认为这里是一个漏洞,也没有退出IIS6.0的补丁,因此漏洞需要自己修复)

设置无执行权限

不允许新建目录

上传的文件需要通过重命名(时间戳+随机数+jpg等)

1654098337_629789a16c39077ba604d.png!small?1654098337213

4 IIS 短文件漏洞

简述:

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

影响版本:

1654133973_629814d535538ca6c0bbc.png!small

原理:

IIS的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。

IIS短文件名的特征:

1.只有前六位字符直接显示,后续字符用~1指代。其中数字1还可以递增,如果存在多个文件名类似的文件(名称前6位必须相同,且后缀名前3位必须相同);

2.后缀名最长只有3位,多余的被截断,超过3位的长文件会生成短文件名;

3.所有小写字母均转换成大写字母;

4.长文件名中含有多个“.”,以文件名最后一个“.”作为短文件名后缀;

5.长文件名前缀/文件夹名字符长度符合0-9和Aa-Zz范围且需要大于等于9位才会生成短文件名,如果包含空格或者其他部分特殊字符,不论长度均会生成短文件;

ISS段文件产生原因:

  1. 前缀不超过9位,后缀不超过3就不会生成短文件,反之会生成短文件
  2. 目前IIS支持短文件名猜测的HTTP方法主要包含:DEBUG、OPTTIONS、GET、POST、HEAD、TRACE六种。
  3. IIS 8.0之后的版本只能通过OPTIONS和TRACE方法被猜测成功

复现:

IIS8.0以下版本需要开启ASP.NET支持,

1654134675_629817937cafd8fc4a003.png!small?1654134675393

1654134995_629818d3759546abf19f9.png!small?1654134995194

dir /x 查看短文件名称 (前缀不超过9位,后缀不超过3没有生成短文件,包含空格或者其他部分特殊字符,不论长度均会生成短文件)。

1654135510_62981ad61c576d688ffb6.png!small?1654135509876

访问A*~1.*/.aspx(前面为正则表达式) 访问构造的某个存在的段文件名,会返回404。

1654145486_629841cee884800e93d8c.png!small?1654145486659

当访问构造的默认不存在的段文件名,会返回400,1654139319_629829b780982cd3f9d19.png!small?1654139319251

IIS短文件漏洞的局限性

1)如果文件名太短无法猜测
2)此漏洞只能确定前六个字符,如果后面的字符太长、包含特殊字符,很难猜测
3)如果文件名前6位带空格,8.3格式的短文件名会补进和真实文件名不匹配
4)如果文件夹前六位字符带“.",扫描程序会认为这是一个文件而不是文件夹,最终出现误报
5)不支持中文文件名,包括中文文件和中文文件夹。一个中文相当于两个英文字符、故超过4个中文会产生短文件名,但IIS不支持中文猜测

利用工具进行短文件名猜测

https://github.com/irsdl/IIS-ShortName-Scanner

开启java7,点击run输入地址(其他按回车即可)。

1654147399_6298494788c88928db7fa.png!small?1654147399277

1654147066_629847fa9eecc667655a0.png!small?1654147066458

修复

关闭NTFS 8.3文件格式的支持

两种方式:

1 )从CMD命令关闭NTFS 8.3文件格式的支持

windows server 2003:(1代表关闭,0代表开启)

关闭该功能

fsutil behavior set disable8dot3 1

2 注册表修改关闭NTFS 8.3文件格式的支持

快捷键WIN+R打开命令窗口,输入regedit开大注册表

找到路径

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

1654155057_629867313723f34ed3914.png!small?1654155056979

将其值改为1,代表不能创建短文件名格式。

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

例:将web文件夹的内容拷贝到拎一个位置,如c:\www到c:\ww,删除原来文件夹,再重命名c:\www。

注:以上两种方式修复完成后,均需要重启操作系统。

实战

1、猜后台
2、猜敏感文件、例如备份的rar、zip、.bak、sql等文件
3、在某些情形下,甚至可以通过段文件名直接下载对用的文件。比如下载备份的sql文件。


5  CVE-2017-7769缓冲区溢出远程代码执行

启动WEBDAV

下载exp

https://github.com/zcgonvh/cve-2017-7269

开启kali,复制cve_2017_7269.rb 文件到/usr/share/metasploit-framework/modules/exploits/windows/iis/(记住下载的文件名字里面的-不用改,视情况而定,我这里不改才可以显示)。

1654159020_629876ac272daa8df2e87.png!small?1654159019863

命令

msfconsole

search cve-2017-7256

use 0

set rhost 192.168.8.134

exploit

shell

成功getshell

1654175327_6298b65f638e18ffa9184.png!small?1654175327203

学习:

服务攻防-IIS中间件漏洞原理深究及复现方法 - FreeBuf网络安全行业门户

CVE-2017-7269 IIS6.0远程代码执行漏洞分析及Exploit (seebug.org)

# 漏洞复现及分析
本文为 assion 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
assion LV.3
这家伙太懒了,还未填写个人描述!
  • 6 文章数
  • 6 关注者
Tomcat中间件漏洞复现
2022-08-10
apache中间件漏洞解析总结
2022-06-20
cookie,session和token的总结
2022-06-14
文章目录