freeBuf
主站

分类

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

特色

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

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

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

FreeBuf+小程序

FreeBuf+小程序

渗透测试之地基服务篇:服务攻防之中间件IIS(上)
2021-08-16 11:31:56

系列文章

专辑:渗透测试之地基篇

简介

渗透测试-地基篇

该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。

请注意

本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。

名言:

你对这行的兴趣,决定你在这行的成就!

一、前言

中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。

可想而知中间件连接着网络和系统接触着越来越多的关键数据,渐渐成为单位公共安全中最具有战略性的资产,中间件的安全稳定运行也直接决定着业务系统能否正常使用。并且平台的中间件中往往连接数据库,而数据库储存着等极其重要和敏感的信息。如果中间件被攻破,这些信息一旦被篡改或者泄露,轻则造成企业经济损失,重则影响企业形象,甚至行业、社会安全。可见,数据库安全至关重要。所以对数据库的保护是一项必须的,关键的,重要的工作任务。

通过前几期钓鱼、内网攻防篇章落幕后,引来了服务攻防篇章之数据库渗透篇,不管在外网还是内网环境,只要存在业务系统都存在数据库,在渗透测试对数据库的知识学习是必不可少的,接下来将介绍数据库的渗透基本操作,带小伙伴们了解和学习数据库如何渗透的!

今天会讲解到如何搭建IIS、IIS6.0渗透、IIS7.0渗透,最后远程代码执行控制服务器等操作,如果连IIS都不会安装操作提权等,怎么进行下一步的研究IIS中间件安全!怎么拿下对方服务器?

二、IIS 7.x安装

安装IIS 7.5

这里安装IIS 7.5为例,使用windows 7系统进行。

打开控制面板-万维网服务-全部勾选:
1629084767_6119dc5f5e667aaf52e50.png!small?1629084768980

等待一两分钟:
1629084776_6119dc68d060dfce1e7fa.png!small?1629084777640

安装完成后打开Internet管理器:
1629084784_6119dc70c72740b35f9fc.png!small?1629084787672

点击Derfault Web Site:删除
1629084790_6119dc76918111c5e4a29.png!small?1629084791566

然后安装小皮,这里百度下载即可,选择切换版本IIS+PHP:
1629084795_6119dc7bdfd50d7ee95b1.png!small?1629084798900

点击查看phpinfo:
1629084800_6119dc80e6b8fd5400f4d.png!small?1629084804031

成功搭建:
1629084805_6119dc8571b4f726e78f7.png!small?1629084808473

如果不选择小皮需要安装,编辑ISAPI或者CGI限制:
1629084809_6119dc8970d69aa13d6dc.png!small?1629084810003

添加安装的php-cgi.exe路径,描述随意:
1629084815_6119dc8f927066687833f.png!small?1629084815876

返回前一步的第一个图片位置,点击处理程序映射,添加如下:
1629084821_6119dc95c6f251a5ebc05.png!small?1629084822258这时候就安装好了IIS7.5版本的中间件,那么接下来开始渗透攻防详解!

三、IIS 7.x攻防详解

1、解析漏洞

1629084827_6119dc9b77a37433efe9f.png!small?1629084829010这里创建了dayu.png文件,将phpinfo.php文件内容复制到png文件内保存!

1629084831_6119dc9f8571039eada35.png!small?1629084832145然后访问web页面下刚创建的dayu.png,正常解析文件内容,但是没解析代码!

1629084836_6119dca44d8efc637ddef.png!small?1629084838522
继续解析.php还是未能解析php代码!

打开iis管理器,点击处理程序映射:
1629084841_6119dca9604a682a9a9b6.png!small?1629084843949

找到phpStudy_FastCGI:
1629084846_6119dcae7586007a8a2d0.png!small?1629084854673

编辑模块映射,取消勾选:
1629084850_6119dcb27f1dcdc9bec46.png!small?1629084857325

然后再次解析dayu.png/.php成功解析:
1629084854_6119dcb6b36393f0a1e32.png!small?1629084857325

IIS7.x版本在Fast-CGI运行模式下,在任意文件,例:dayu.jpg/png后面加上/.php,会将dayu.jpg/png解析为php文件!!

修复建议:配置cgi.fix_pathinfo(php.ini中)为0并重启php-cgi程序:
1629084859_6119dcbb264ccd2608787.png!small?1629084860119

接下来安装下WebDAV功能:
1629084863_6119dcbf099df6c2c33bf.png!small?16290848642031629084867_6119dcc3cd80b114edc79.png!small?1629084870671
1629084872_6119dcc87a0d3ff7d6fe3.png!small?1629084874249成功安装后,允许开启!测试扫描:
1629084876_6119dccc5b15c30b4f4cf.png!small?1629084876983利用上期的IIS PUT工具发现了存在的版本信息,当然还可以用360网站检测就可以检查到网站的漏洞了,检测地址:http://webscan.360.cn/

2、HTTP.SYS远程代码执行 (MS15-034)

IIS的安全脆弱性曾长时间被业内诟病,一旦IIS出现远程执行漏洞威胁将会非常严重。远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞。成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码,可以导致IIS服务器所在机器蓝屏或读取其内存中的机密数据。

影响范围:
Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2

漏洞影响版本:IIS 7.5、IIS 8.0、IIS 8.5

复现:
在Windows7上 安装IIS7.5:

1)访问IIS7.5
1629084882_6119dcd22ccb1f597e4b4.png!small?1629084884493

2)编辑请求头
1629084885_6119dcd5cf75845d12bd9.png!small?16290848863851629084889_6119dcd952dce93b894eb.png!small?1629084889848

Range: bytes=0-18446744073709551615

增加字段,若返回码状态为416 Requested Range Not Satisfiable,则存在HTTP.SYS远程代码执行漏洞
1629084894_6119dcde066587b948835.png!small?1629084898148

漏洞有点鸡肋,配合其他漏洞使用还是可以用用的,具体使用可转至MSF中!!

修复建议:

安装修复补丁(KB3042553)

3、认证绕过漏洞

1)简介

Microsoft IIS(Internet Information Server)是Microsoft Windows系统默认自带的Web服务器软件,其中默认包含FTP服务。Microsoft IIS中存在认证绕过漏洞和源码泄露漏洞,该漏洞源于对用户提供的输入未经正确的验证。攻击者可利用这些漏洞在服务器进程上下文中获取密码保护资源和查看源代码文件的未授权访问,且有助于进一步攻击。

漏洞影响版本:IIS 6.0、IIS 7.5

Microsoft IIS由于无法正确清理用户提供的输入,容易出现身份验证绕过漏洞和源代码泄露漏洞。主要包括以下三类绕过:

(1) 安装了PHP的Microsoft IIS 6.0身份验证绕过:

IIS / 6.0加载受保护(如:admin)目录中的PHP文件需要用户认证信息(用户名和密码访问),如果将“:: $ INDEX_ALLOCATION”后缀附加到目录名称后面,存在绕过认证并可能访问管理文件等特殊情况,导致IIS服务器重要信息泄露;

/admin::$INDEX_ALLOCATION/index.php

(2) Microsoft IIS 7.5经典ASP身份验证绕过:

配置了经典ASP和.NET Framework 4.0的Microsoft IIS 7.5,通过将":$i30:$INDEX_ALLOCATION"后缀附加到需要认证的请求目录名称后面,可以绕过经典的ASP文件访问限制;

/admin:$i30:$INDEX_ALLOCATION/index.asp

(3) Microsoft IIS 7.5 .NET源代码公开和身份验证绕过:

在配置中安装了PHP的Microsoft IIS / 7.5,存在认证绕过漏洞;

http://<victimIIS75>/admin:$i30:$INDEX_ALLOCATION/admin.php

2)复现

Windows 7 x64位,默认IIS 7.5环境

(1)IIS网站根目录下创建admin用户目录,关闭默认用户认证,换言之,访问/admin/index.php目录下的文件需要认证信息,认证失败或者无认证信息将会返回401未授权页面:
1629084902_6119dce60a4993eec16ec.png!small?16290849051661629084906_6119dcea31250404d1a21.png!small?1629084907602

(2)配置完成后,重启IIS服务器,浏览器远程访问此文件:http://192.168.253.72:8980/admin/index.php,默认IIS账户访问提示401未授权:
1629084911_6119dcef1c7a4ab724b3a.png!small?1629084911664

(3)接下来,利用:$i30:$INDEX_ALLOCATION来绕过此限制,浏览器远程访问:

http://192.168.253.72:8980/admin:$i30:$INDEX_ALLOCATION/index.php

1629084915_6119dcf322f00f728d6e5.png!small?1629084917062

可看到成功绕过并访问到敏感信息!!

(4)拓展思路:

除此之外,如果目标站点限制上传和访问php文件,可以利用上传aspx(.net支持解析的文件类型)文件逃避限制,将其当做php代码执行!演示!

网站目录下有一个index.aspx的文件,里面写有php代码:
1629084920_6119dcf80acfc983420bb.png!small?16290849220551629084923_6119dcfb776259ae0deef.png!small?1629084924068

正常绕过访问index.aspx文件,页面返回乱码,未执行phpinfo代码!

结合解析漏洞+认证绕过漏洞:

http://192.168.253.72:8980/admin:$i30:$INDEX_ALLOCATION/index.aspx/.php

1629084928_6119dd00d884c277f6877.png!small?1629084930939可看到通过在末尾加上index.aspx/.php形式(解析漏洞)访问成功执行php代码!!

利用方法:

安装php的iis6.0,例:访问`目标/admin/index.php`,显示`401`,访问
  
`/admin:$i30:$INDEX_ALLOCATION/index.php`即可 
iis7.5:同上

可以绕过并访问到敏感信息!

防护思路:

1. IIS 7.5 配置.NET Framework 2.0不受上述(2)的绕过影响;
2. 攻击者需要事先获取IIS服务器受认证保护目录;

四、总结

今天学到了学习了IIS 7.x安装、解析漏洞、HTTP.SYS远程代码执行 (MS15-034)、认证绕过漏洞运用等等,以及整改加固建议的方式方法,学到了非常多的小技巧和干货,希望小伙伴能实际操作复现一遍!

服务攻防之数据库Mysql(上)-> 服务攻防之数据库Mysql(下)-> 服务攻防之数据库MSSQL(上)-> 服务攻防之数据库MSSQL(中)-> 服务攻防之数据库MSSQL(下)-> 服务攻防之数据库Oracle(上)-> 服务攻防之数据库Oracle(下)-> 服务攻防之数据库Redis(上)-> 服务攻防之数据库Redis(下)-> 服务攻防之数据库Mongodb(上)-> 服务攻防之数据库Mongodb(下)-> 服务攻防之中间件IIS(上)-> 服务攻防之中间件IIS(下)......

接下来在《服务攻防之中间件Apache》会接触到如何进行Apache环境安装、低高版本的渗透等操作,如何提权渗透等方法,请看下篇服务攻防之中间件Apache篇下章!

希望大家提高安全意识,没有网络安全就没有国家安全!

今天基础牢固就到这里,虽然基础,但是必须牢记于心。

作者:大余

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