assion
- 关注
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
一 前言
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),还可以支持文件的版本控制。)
右击默认网站,属性,开启脚本资源访问和写入,
使用IISPutScanner测试是否有写入权限,
用isswirte上传文件,以txt文件形式,
成功上传。
asp文件不能上传,
使用move协议改数据包的后缀名,
开启允许asp解析,
然后换为move协议(使用move方法将刚刚上传的txt文件修改为asp文件,从而将文本文件变为可执行的脚本。move协议不会改为文件内容)。
菜刀连接,成功连接到,
总结:当网站有开启webdav并有写入权限,就可以使用put上传文件,并用move修改文件模式。
修复:
关闭WebDAV
关闭写入权限(默认网站-主目录)
2 文件解析漏洞
简述:
IIS文件解析漏洞:IIS会把 .asp;.xxx文件当做 *.asp文件来执行,不会看分号之后的内容。
复现:
访问这三个文件,内容都一样。
修复:
上传文件名字重命名(加时间戳和随机数)
设置文件上传规则
3 目录解析漏洞
简述:
IIS目录解析漏洞:以 *.asp命名的文件夹中的文件都可以当做asp文件执行。
复现:
1.sap目录下的文件都按.asp解析,
另外,IIS6.x除了会将扩展名为。asp之外,还会将扩展名为.asa、.cdx、.cer等解析为asp。
修复:(微软不认为这里是一个漏洞,也没有退出IIS6.0的补丁,因此漏洞需要自己修复)
设置无执行权限
不允许新建目录
上传的文件需要通过重命名(时间戳+随机数+jpg等)
4 IIS 短文件漏洞
简述:
该漏洞是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(〜)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。
影响版本:
原理:
IIS的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。
IIS短文件名的特征:
1.只有前六位字符直接显示,后续字符用~1指代。其中数字1还可以递增,如果存在多个文件名类似的文件(名称前6位必须相同,且后缀名前3位必须相同);
2.后缀名最长只有3位,多余的被截断,超过3位的长文件会生成短文件名;
3.所有小写字母均转换成大写字母;
4.长文件名中含有多个“.”,以文件名最后一个“.”作为短文件名后缀;
5.长文件名前缀/文件夹名字符长度符合0-9和Aa-Zz范围且需要大于等于9位才会生成短文件名,如果包含空格或者其他部分特殊字符,不论长度均会生成短文件;
ISS段文件产生原因:
- 前缀不超过9位,后缀不超过3就不会生成短文件,反之会生成短文件
- 目前IIS支持短文件名猜测的HTTP方法主要包含:DEBUG、OPTTIONS、GET、POST、HEAD、TRACE六种。
- IIS 8.0之后的版本只能通过OPTIONS和TRACE方法被猜测成功
复现:
IIS8.0以下版本需要开启ASP.NET支持,
dir /x 查看短文件名称 (前缀不超过9位,后缀不超过3就没有生成短文件,包含空格或者其他部分特殊字符,不论长度均会生成短文件)。
访问A*~1.*/.aspx(前面为正则表达式) 访问构造的某个存在的段文件名,会返回404。
当访问构造的默认不存在的段文件名,会返回400,
IIS短文件漏洞的局限性
1)如果文件名太短无法猜测
2)此漏洞只能确定前六个字符,如果后面的字符太长、包含特殊字符,很难猜测
3)如果文件名前6位带空格,8.3格式的短文件名会补进和真实文件名不匹配
4)如果文件夹前六位字符带“.",扫描程序会认为这是一个文件而不是文件夹,最终出现误报
5)不支持中文文件名,包括中文文件和中文文件夹。一个中文相当于两个英文字符、故超过4个中文会产生短文件名,但IIS不支持中文猜测
利用工具进行短文件名猜测
https://github.com/irsdl/IIS-ShortName-Scanner
开启java7,点击run输入地址(其他按回车即可)。
修复
关闭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
将其值改为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/(记住下载的文件名字里面的-不用改,视情况而定,我这里不改才可以显示)。
命令
msfconsole
search cve-2017-7256
use 0
set rhost 192.168.8.134
exploit
shell
成功getshell
学习:
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)