IIS

IIS从1.0-10.0之间共有12个版本,1.0-4.0已基本退出市场,6.0-10.0居多。IIS7.5、IIS8.5以及IIS10.0、IIS6.0是目前使用最多的版本.

IIS版本对应的Windows系统版本如下:

IIS6.x渗透

准备环境:Windows server 2003 IP:192.168.173.194

接下来先搭环境


双击这里,进去之后点确定,默认选中的那三个,接着点击确定


点击下一步之后,出现了报错,这代表操作系统无法找到可用的iis6.0安装包,这里把现有的iis6.0安装包拖到虚拟机中即可,点击确定进到下一步

点击浏览,点击到上传的安装包目录下后,会自动选择到那个文件,默认点确定



然后依然有报错,重复刚刚的步骤,直到出现完成的页面,即为环境部署成功,此时管理工具中会生成iis管理器,双击打开如图所示。





此时可见计算机80端口已经打开

这里写了个asp页面测试一下,发现一直访问不了

网上搜了一下得知Windows Server 2003 安装完 IIS 6后,还需要单独开启对于 ASP 的支持,选择允许即可。

IIS写权限漏洞,该漏洞的前提有三个1.开启了WebDAV 2.默认网站属性开启写入状态(其中红框里面必选,这里踩过雷,所以强调一下) 3.权限开启允许来宾访问写入,然后关闭项目重新启动;

此时再开一个Windows7的环境搭IIS7.x IP:192.168.173.196

此时查看2003虚拟机是否存在写入权限的漏洞,我们需要两个工具。

因为win2003的WebDAV已经开启,此时在win7上用IISPutScanner扫描2003的虚拟机是可以扫描出该机存在写入权限的,如果win2003未开启WebDAV,则put处会显示为NO。

接下来使用iiswrite工具,进行写入操作;

在桌面新建文件,写入一句话,并在工具中选中这个文件,不要忘记修改域名和请求文件,这里我们放入IP即可,点击提交数据包;

2003机子上已成功写入1.txt;

点击move,相当于修改1.txt名为shell.asp;

此时用蚁剑或者菜刀连接,如图所示,成功进入;

到此,文件写入漏洞即复现完,满足上面三个条件即可成功写入,因此防御的方法也同样可以得知:关闭WebDAV或者关闭写权限即可;

文件解析漏洞 条件:ii6.0的服务器开启Active Server Pages服务拓展;iis10.0和iis8.5都有可能产生这个漏洞,属于PHP版本解析漏洞

*.asp;.jpg 像这种畸形文件名在“;”后面的直接被忽略,也就是说当成 *.asp文件执行。

接下来演示一遍,首先在Win2003目录下创建一个asp文件;

这时对asp文件更改后缀名,会发现它依然可以访问,这里对文件直接复制粘贴更改后缀;

这里拿上文的shell脚本来测试一波,对其更改后缀名,蚁剑也可成功上线;

iis目录解析:以*.asp命名的文件夹里的文件都将会被当成ASP文件执行。

演示一下 首先在网站目录下建一个.asp的文件夹;

并在里面拉一个写有一句话木马的图片,此时访问仍然可以正常解析,蚁剑也可连接;

iis6除了会将扩展名为.asp的文件解析成asp文件之外,还默认会将.asa、.cdx、.cer解析成asp;这里可以从默认网站属性->主目录->配置中可以看出,他们均是调用的asp.dll进行的解析(畸形解析)

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

iis短文件名的特征:

目前IIS支持短文件名猜测的HTTP方法主要包括:DEBUG、OPTIONS、GET、POST、HEAD、TRACE六种,经千里目实验室验证,IIS 8.0、IIS 8.5和IIS 10.0的短文件名称均可以通过OPTIONS和TRACE方法被猜测成功。

iis8.0以下的版本复现条件是需要开启asp.net支持;

新建一个zcc.aspx,写入一句话,能看到它也是一个短文件;

这时可以对文件名进行一级级爆破,文件名存在即返回404,不存在会返回400或者bad request页面;此漏洞只能确定前六个字符,太长或者存在特殊字符会很难猜解;

这里存在爆破的exp,需要在python2环境下使用,这里在window7环境中安装好python环境和Java7,安装步骤就不放了;

工具链接:https://github.com/irsdl/IIS-ShortName-Scanner

下载好工具后,双击run.bat,输入要爆破的网址,默认回车,即可进行爆破;

修复改漏洞的方式:1) CMD关闭NTFS 8.3文件格式的支持

举例:(1代表关闭,0代表开启)

Windows Server 2008 R2:

查询是否开启短文件名功能:fsutil 8dot3name query

关闭该功能:fsutil 8dot3name set 1

Windows Server 2003:

关闭该功能:fsutil behavior set disable8dot3 1

不同系统关闭命令稍有区别,该功能默认是开启的,对于大多数用户来说无需开启。

2) 修改注册表禁用短文件名功能

快捷键Win+R打开命令窗口,输入regedit打开注册表窗口找到路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,将其中的 NtfsDisable8dot3NameCreation这一项的值设为 1,1代表不创建短文件名格式

修改完成后,需要重启系统生效

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

以下两种方法仅适用于缓解GET方法,其他方法依旧可以猜解。

3) 关闭Web服务扩展- ASP.NET

4) 升级netFramework至4.0以上版本

RCE-CVE-2017-7269 IIS6.0远程代码执行漏洞复现

条件:Windows 2003的IIS6.0开启WebDAV服务;

exp下载链接:https://github.com/edwardz246003/IIS_exploit/blob/master/exploit.py

修改exp之后运行,可看到win2003任务管理器开启了calc.exe进程,这里因为是网络权限打开,所以桌面看不见:

从利用条件也不难看出,此漏洞的防御措施为关闭WebDAV服务即可;

接下来实现一下如何利用此漏洞上线对方电脑

测试环境:攻击机:kali 192.168.173.199 靶机还是win2003

exp下载链接:https://github.com/zcgonvh/cve-2017-7269

注意模块的命名名称,下载之后将其名字中的横线改成下划线;并将其放入kali攻击机器的/usr/share/metasploit-framework/modules/exploits/windows/iis目录下;

可以看见已经写入,直接执行;

这里发现失败了;看师傅文档发现靶机这里默认网站->属性,ip分配这里默认的未分配,即非默认绑定,而该exp只适合默认绑定和默认路径的情况下使用,这里对其进行更改,改完重启系统,重新运行exp,可成功执行,不过这里可以看出是一个低权限用户;

这里可以使用pr.exe进行提权,利用meterpreter上传pr.exe;

进到shell界面,发现成功上传了pr.exe,然后创建用户并加入管理员组;

可看见成功创建了zcc用户并加入administrator组。

iis6.0渗透实战笔记相关推荐

  1. vulnhub之unknowndevice64-V1.0渗透实战

    vulnhub之unknowndevice64-V1.0渗透实战 0x01 环境及配置 难度:中级 目标:获取root权限并阅读/root/flag.txt 网络:桥接模式 DHCP自动分配IP地址 ...

  2. 2021-11-6完整linux内网渗透实战笔记(域/非域对于linux其实区别不大+宝塔后台渗透+稻壳DocCMSsql注入+交互式shell用python解决乱码问题)

    欢迎大家一起来Hacking水友攻防实验室学习,渗透测试,代码审计,免杀逆向,实战分享,靶场靶机,求关注 启明yyds,我第一次觉得自己选对了公司,hvv估计有望了 外网打点发现web服务器有: Do ...

  3. 这份 Dubbo 3.0 分布式实战笔记由阿里巴巴 P8 亲自撰写真是大厂 offer 收割机

    前言 大家好,我是小满只想睡觉. Dubbo 想必大家应该都不陌生,它是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架 ...

  4. [转载]秀脱linux实战笔记linux-kernel-3.0.3实战篇

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 秀脱linux实战笔记linux-kernel-3.0.3实战片篇: QQ:     6 ...

  5. [网络安全自学篇] 二十九.文件上传和IIS6.0解析问题及防御原理(二)

    这是作者的系列网络安全自学教程,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步.前文分享了Sqlmap的基本用法.CTF实战,包括设置HTTP.POST请求.参数 ...

  6. vsmoon靶场实战笔记

    vsmoon靶场实战笔记 web打点 信息收集 nmap扫描端口 扫描结果 └─$ nmap -sV -A 192.168.1.106 -Pn Starting Nmap 7.92 ( https:/ ...

  7. Unity3D项目实战笔记(10):Unity3D编译IPA的PostEvents–节约时间利器

    最近,SDK支付等接入差不多了,就从Unity3D生成IPA (企业版License), 然,需要手动执行的PostEvents竟然多大10项+, 这些我默默的承受了1周时间,每次约浪费20分钟-额外 ...

  8. 云炬Qtpy5开发与实战笔记 1开发第一个桌面应用Hello World

    云炬Qtpy5开发与实战笔记 0搭建开发环境(傻瓜式安装) 1.打开 Pycharm,选择 Create New Project,创建一个新项目 2.选择Pure Python表示创建一个纯Pytho ...

  9. mysql颠覆实战笔记(五)--商品系统设计(二):定时更新商品总点击量

    继续回到沈老师的MYSQL颠覆实战,首先回顾下上一节课的内容,请大家会看下上节课写的存储过程. 打开prod_clicklog表, 我们只要把日期(不含时分秒)的部分存在数据库中, 如果同一日期有相同 ...

  10. 阿里巴巴中台战略思想与架构实战笔记

    阿里巴巴中台战略思想与架构实战笔记 序言一 序言二 第一部分 引子 第1章 阿⾥巴巴集团中台战略引发的思考 1.1 阿⾥巴巴共享业务事业部的发展史 1.2 企业信息中心发展的症结 "烟囱式& ...

最新文章

  1. TensorFlow 输出tensor数据
  2. 如何选择版本控制系统之二
  3. 贪心 Codeforces Round #191 (Div. 2) A. Flipping Game
  4. 富士康第三季度净利润10.9亿美元 同比下滑8.7%
  5. Linux vim开启/关闭代码着色(高亮显示)
  6. python中的out of loop_TclError: out of stack space (infinite loop?)
  7. mc服务器玩家无限掉线怎么办,服务器频繁掉线 求解
  8. html边框塌陷怎么,你不知道的CSS(边框塌陷)?
  9. jqueryui时间插件_jQueryUI Progressbar插件
  10. C/C++/JAVA内存布局
  11. Java实现常见的排序算法
  12. RoboBee和RoboFly领衔微型昆虫机器人:从“上天入海”到“挣脱束缚”
  13. Win10上安装ue4后无法运行问题的解决方法
  14. Python+FFmpeg音视频格式转换
  15. 【转】win7 旗舰版激活密钥
  16. ps里14号字html里多大,在ps中几号字体是多少点的问题!
  17. Gartner 研讨会 “九问数字化转型” 会后感分享
  18. song -用函数画彩虹
  19. html页面中艺术字,html 生成艺术字
  20. 百度坐标批量转换成WGS84坐标

热门文章

  1. JavaScript 高级教程
  2. 《UNIX操作系统》学习笔记
  3. 运维工具之轻量级自动化运维工具Fabric源码安装
  4. Mac Eclipse 主题选择
  5. java swing实验_java实验报告Swing
  6. 百度人脸识别技术应用002---百度云上创建人脸库_分组_以及通过网页上传人脸照片到人脸分组
  7. Failed to scan [file:/D:/software/maven/apache-maven-repository/org/ujmp/ujmp-core/0.3.0/json-20141
  8. JSP基础之九九乘法表(利用JSP脚本段制作一张九九乘法表)
  9. linux下升级mysql_linux下mysql升级
  10. 通过一个最简单的程序入门Windows编程