服务器版本信息泄露修改iis,IIS攻击与安全加固实例分析 -电脑资料
IIS作为一款流行的Web服务器,在当今互联网环境中占有很大的比重,绝大多数的asp、asp.net网站都运行在它上面,管理员的安全意识不高或技术上的疏忽而惨遭毒手。本文通过实例来谈谈针对IIS的攻击技术与安全加固措施。
攻击实例
IIS写权限漏洞利用
我们先通过一个攻击实例来演示如何利用IIS权限配置不当来快速攻陷一个网站,以此来提高广大读者对IIS安全性的重视。
目标网站IP:192.168.1.105
利用漏洞:IIS写权限漏洞
用到的工具:IIS PUT Scaner、桂林老兵写权限利用工具
1 检测目标网站是否存在写权限漏洞
打开IIS PUT Scanner,输入目标网站的IP、端口号(默认为80端口),然后点击“Scan”按钮开始扫描,很快就返回了结果,如图1所示:
图1
2 IIS写权限漏洞利用过程
根据扫描结果,我们可以确定目标网站存在IIS写权限漏洞。下面我们来看下如何利用这个漏洞,来得到一个WebShell。
我们先将“”这段一句话木马代码保存成一个txt文档,名字随意。我这里命名为test.txt。接着打开桂林老兵写权限利用工具,输入目标网站的IP或域名,在“数据包格式”处的下拉菜单中选择“PUT”数据包提交方式,最后点击“数据包提交”按钮,我们来看服务器返回的结果。如图2所示:
图2
服务器返回了201响应码,这标志着我们成功上传了文件。
现在我们需要将刚刚上传的txt文本修改为asp文件,否则服务器不会将它解析为asp文件。在“数据包格式”的下拉菜单中选择“MOVE”数据包提交方式,在“Destination”处修改文件名称,默认为shell.asp,这里我修改为cmd.asp。然后点击“提交数据包”按钮,我们来看服务器返回的信息。如图3所示:
图3
服务器同样返回了“201”响应码,说明我们成功将test.txt修改为cmd.asp了。
现在我们用一句话木马客户端来连接刚上传的一句话木马,可以成功访问。如图4所示:
图4
这样我们就得到了一个WebShell。从整个攻击过程来看,用的时间很短,而且技术门槛很低,一个普通人运用工具也可以很快拿下一个网站。但遗憾的是,在实际的渗透测试过程中,依然有不少站点存在这样的漏洞,希望通过这个实例能够引起广大网络管理员对安全的重视。
IIS6.0解析漏洞利用
a. 在WEB目录下,当文件名称为类似“a.asp;b.jpg”这种格式的时候,IIS会将它解析为asp文件,如图5所示。
图5
b. 在WEB目录下,IIS6.0会将以“x.asp”这种格式命名的文件夹下的所有文件都解析为asp文件,如图6所示。
图6
上面这两点属于IIS设计的缺陷,但可惜微软认为这是IIS的特性,一直没有推出相应的安全补丁。
在尝试绕过文件上传检测时,这两种方法有时非常有效,下面是在实际渗透测试过程中遇到的一个例子。
先登录网站后台,直接上传一个asp木马,提示非法文件,不允许上传。接下来将它的名称改为1.asp;2.jpg后再次上传,发现成功上传至网站目录,如图7所示。
图7
安全加固
这部分我们通过跟踪IIS从安装到配置的整个过程,分析其中可能面临的安全风险,并给出相应的加固措施。
IIS安装及版本的选择在IIS安装过程中,根据具体的业务需求,只安装必要的组件,以避免安装其他一切不必要的组件带来的安全风险。如网站正常运行只需要ASP环境,那我们就没必要安装.net组件。
对于IIS版本,至少要在6.0以上,IIS5.0存在严重的安全漏洞,不过现在运行IIS5.0的服务器已经非常少了,对于这一点不用太过担心。
IIS配置
1 删除IIS默认站点
把IIS默认安装的站点删除或禁用掉。
2 禁用不必要的Web服务扩展
打开IIS 管理器,检查是否有不必要的“Web服务扩展”,如果有则禁用掉。如图8所示:
图8
3 IIS访问权限配置
如果IIS中有多个网站,建议为每个网站配置不同的匿名访问账户。
方法:
a. 新建一个账号,加入Guests组
b. “网站属性”--->“目录安全性”--->“身份验证和访问控制”,把“启用匿名访问”处,用刚新建的账户代替默认账户,如图9所示。
图9
4 网站目录权限配置
原则(如图10):
目录有写入权限,一定不要分配执行权限
目录有执行权限,一定不要分配写入权限
网站上传目录和数据库目录一般需要分配“写入”权限,但一定不要分配执行权限
其他目录一般只分配“读取”和“记录访问”权限即可
图10
5 只保留必要的应用程序扩展
根据网站的实际情况,只保留必要的应用程序扩展,其他的一律删除,尤其是像cer、asa这样极其危险的扩展,而且一般网站也不需要它,如图11,IIS攻击与安全加固实例分析》(https://www.unjs.com)。
图11
6 修改IIS日志文件配置
无论是什么服务器,日志都是应该高度重视的部分。当发生安全事件时,我们可以通过分析日志来还原攻击过程,否则将无从查起。有条件的话,可以将日志发送到专门的日志服务器保存。
先检查是否启用了日志记录,如未启用,则启用它。日志格式设置为W3C扩展日志格式,IIS中默认是启用日志记录的。
接着修改IIS日志文件保存路径,默认保存在“C:\WINDOWS\system32\LogFiles”目录下,这里修改为自定义路径。建议保存在非系统盘路径,并且IIS日志文件所在目录只允许Administrators组用户和SYSTEM用户访问,如图12。
图12
7 防止信息泄露
a. 禁止向客户端发送详细的ASP错误信息
“IIS管理器”--->“属性”--->“主目录”--->“配置”--->“调试”,选择“向客户端发送下列文本错误消息”项,自定义出错时返回的错误信息,如图13。
图13
b. 修改默认错误页面
“IIS管理器”--->“属性”--->“自定义错误”,用自定义的错误页面替换默认的默认页面。下面是我自定义的一个404错误页面,当网站发生404错误时,将向客户端返回这个页面,如图14。
图148 自定义IIS Banner信息
默认Banner信息会泄露服务器类型、版本等相关信息,我们需要对其进行修改,这样可以防止信息泄露,还可以骗过一些自动化扫描、攻击工具。
a. 修改默认HTTP头信息
在修改之前,我们先来看下默认的HTTP头信息是什么样的。我们向IIS服务器发一个请求,然后用抓包工具分析它返回的数据,就可以发现HTTP头信息,如图15所示:
图15
上图用红框标注的地方就是HTTP头信息,通过它我们就可以确定目标网站使用的是IIS服务器。
现在我们来看下如何自定义HTTP头信息。首先,打开“IIS管理器”--->“属性”--->“HTTP头”,在“自定义HTTP头”选中默认的HTTP头信息,进行编辑,或者删除掉默认的,自己添加一个新的HTTP头信息。图16中是我随便自定义的一个HTTP头。
图16
在修改完成后,我们再来抓包分析一下,如图17所示:
图17
从图上可以看到,现在IIS服务器返回的HTTP头已经是我们自定义了。
b. 修改默认IIS头信息
修改默认IIS头信息需要通过工具来完成。这里推荐使用ServerMask,它是一款专门用来隐藏或修改IIS服务器默认Banner信息,防止信息泄露的工具。下图18是该软件的界面:
图18
在修改之前,我们先来分析下IIS默认的头信息,如图19所示:
图19
根据服务器返回的信息,我们很容易判断出目标网站使用的服务器是IIS,版本是6.0,操作系统是Windows Server 2003,这些信息对攻击者确定下一步行动是非常有帮助的。
我们也可以使用扫描工具来完成刺探目标网站服务器相关信息的任务,这类工具非常多,而且使用非常简单,如图20。
图20
现在我们来把默认的IIS头信息隐藏或修改掉,首先打开软件,选中要保护的网站,在“Security Profile”处的下拉菜单中选择相应的策略,这里我自定义一个。
图21
如图21所示,我把IIS默认的头信息修改成了Apache服务器的信息。这样就可以迷惑攻击者,有效隐藏网站的真实信息。现在我们再来分析下修改后的IIS服务器返回的头信息,如图22:
图22
现在IIS服务器返回的头信息已经是我们自定义的了,这里伪装成了Apache服务器。
我们再用扫描工具扫描一下,看能否得到目标网站的真实服务器类型,结果如图23:
图23
根据上图,我们可以看到现在扫描器已经获取不到目标网站的服务器类型了。
对于一些自动化攻击工具来说,因为获取不到目标服务器的类型和版本相关信息,自然也就无法进行下一步攻击了。
通过上面对IIS攻击和安全加固的实例,相信读者对IIS服务器的安全有了更加深入的认识。其实对于IIS的安全加固并不难,很多时候更重要的是管理员的安全意识,只要有足够的安全意识,加上上面介绍的安全加固方法,相信你一定可以打造一个安全的IIS服务器。
服务器版本信息泄露修改iis,IIS攻击与安全加固实例分析 -电脑资料相关推荐
- windows服务器版本信息泄露,震惊!微软32TB Windows 10源代码在网上被泄露
Windows 10 凤凰科技讯 据The Register北京时间6月24日报道,多个微软内部Windows操作系统版本及内核源代码泄露到网上. 这些数据--32TB的非公开官方安装映像和软件蓝图设 ...
- windows服务器版本信息泄露,驱动泄密事件!Windows Server 10曝光
[PConline 资讯]驱动程序泄密新品信息已经不是头一遭了,以往各种测试版显卡驱动泄密未发布显卡新品的事并不少见,可是这一次并不是什么硬件新品.这一次Intel的芯片组驱动立功了,泄露出了Wind ...
- 服务器中间件版本信息泄露,中间件版本信息泄露漏洞
中间件版本信息泄露漏洞 <Web安全测试学习手册>- 中间件版本信息泄露漏洞 0x00 中间件版本信息泄露漏洞 1)什么是中间件版本信息泄露漏洞 通常在HTTP报文的响应头中存在的标志.版 ...
- Tomcat和Nginx版本信息泄露问题
一.Tomcat版本信息泄露 Tomcat报错页面泄漏Apache Tomcat/7.0.52相关版本号信息,是攻击者攻击的途径之一.因此实际当中建议去掉版本号信息. 解决办法: 1.进入到tomca ...
- 文件隐藏服务器版本信息吗,隐藏/屏蔽服务器信息与web软件版本信息
1.隐藏服务器系统信息 在缺省情况下,当你登陆到linux系统,它会告诉你该linux发行版的名称.版本.内核版本.服务器的名称.为了不让这些默认的信息泄露出来,我们要进行下面的操作,让它只显示一个& ...
- Tomcat中间件版本信息泄露
Tomcat服务在响应404/500等网络错误时,默认会将当前版本信息显示出来,这样就造成了中间件版本信息泄露这样的漏洞 解决方案: 进入Tomcat下的lib目录,备份catalina.jar文件后 ...
- ftp服务器版本信息可被获取,ftp服务器版本信息可被获取
ftp服务器版本信息可被获取 内容精选 换一换 简要介绍Oases是一个转录组组装器,旨在没有任何基因组组装的情况下从短读测序技术生成转录本.开发语言:C一句话描述:基因组装软件开源协议:GPL 3. ...
- 查看visualsvn服务器版本信息,远程VisualSVN Server+本地TortoiseSVN
前言 工做须要,搭建了一个VisualSVN Server来存放资料.听说VisualSVN Server是用来作项目版本管理的,囧. 1.远程登陆桌面 一.win+r,输入mstsc.exe(Mic ...
- 文件隐藏服务器版本信息,如何隐藏Apache版本号和其他敏感信息
当远程请求发送到您的Apache Web服务器时,默认情况下,一些有价值的信息,如Web服务器版本号,服务器操作系统详细信息,已安装的Apache模块等等,在服务器生成的文档中发送回客户端. 这是攻击 ...
最新文章
- 本来调试无误的程序在真机运行时报标题错误解决方案
- error LNK2001: unresolved external symbol _main
- python telnetlib执行命令_使用python Telnet远程登录执行程序的方法
- 了解jQuery技巧来提高你的代码
- 不敢下水游泳,莫慌!VR带你畅游水底世界
- 智能指针shared_ptr, auto_ptr, scoped_ptr, weak_ptr总结
- 红包封面发货平台卡密系统 全新红包封面平台可搭建分站独立后台的源码
- C++学习(四九二)cmake file的GLOB和GLOB_RECURSE
- 摄影测量简答题和作图题
- Latex特殊符号波浪号~,^
- 中科大自主招生计算机,中科大自主招生(中科大自主招生试题)
- 2021年大连12中高考成绩查询,2021大连市地区高考成绩排名查询,大连市高考各高中成绩喜报榜单...
- 工业控制电气非标自动化设计安装调试PLC编程电路电气外包行业的前景预测与分析
- mpvue 搭配 minui
- QT(1)- QString
- python 图像处理 拉普拉斯算子的实现和改进-LoG和DoG算子
- JSP/Servlet临汾天泰学习笔记(一)
- 好书精读推荐:《苏世民:我的经验与教训》
- 使用ffmpeg进行视频下采样(放大/缩小)
- 布拉格衍射定律的推导