每年真正比较有影响力的漏洞编号,其实并不多,而这个CVE-2020-0796,就是我们在疫情之下全面返岗伊始,最值得去重视的一个。
2020年3月12日晚,微软正式发布CVE-2020-0796高危漏洞补丁。这就意味着,一场与时间赛跑的攻防对抗开始了,要赶在攻击开始之前,保护系统并为其打上补丁。
通过这个漏洞,攻击者无需任何权限,即可利用漏洞直接攻击SMB服务端造成RCE,而且可以通过OFFICE文档、网页、压缩包等多种形式传递给目标用户,从而触发漏洞进行攻击。
这次漏洞的亮点在于针对SMB客户端的攻击,而且主要影响Win10系统的个人用户。试想一下,如果将这个漏洞大规模地应用于钓鱼攻击,一旦受害者点开了钓鱼邮件中的url或附件,很容易就中招了。
打补丁是预防病毒感染最有效的一种方式,但往往越是简单的事情,越难以做到。数以上万的终端,如何才能让用户意识到打补丁的重要性,及时下载补丁修复此漏洞,这无疑将是一场攻坚战。
本文收集和整理了一些方法和工具,用于开展补丁安装攻坚。
1、如何检查操作系统版本?
作为个人用户,检查系统版本,可初步确认是否受到影响,(受影响版本:1903和1909)。
运行---输入winver,单击确定。如下图所示,我的系统版本是:Windows 10 Version 1903。
2、漏洞修复工具
A、腾讯电脑管家SMB漏洞修复工具,下载地址:
http://dlied6.qq.com/invc/QQPatch/QuickFix_SMB0796.exe
B、安天 SMBv3的RCE漏洞强化工具,下载地址:
https://bbs.antiy.cn/forum.php?mod=viewthread&tid=83848
3、漏洞扫描工具
从MS17-010开始,再到CVE-2019-0708,都有一些安全厂商发布针对单一漏洞的远程漏洞扫描工具。这本是一件幸事,可以帮助更多的企业快速探测自身网络资产漏洞情况。
而到了现如今的CVE-2020-0796,漏洞扫描工具的获取越来越难了。比如,如果想要获取某安全厂商的SMB远程代码执行漏洞扫描工具,需填写申请书,签字并加盖单位公章,仅限自用。另外,某CERT在公众号发布了CVE-2020-0796快速扫描检测工具,随后删除了推文和工具下载地址,手慢的同学,你们已经错过啦。
在github,已经有了 CVE-2020-0796 的扫描脚本,可以借鉴一下,改成批量检测工具。项目地址:https://github.com/ollypwn/SMBGhost
代码语言:javascript复制import socket
import struct
import sys
from netaddr import IPNetwork
pkt = b'x00x00x00xc0xfeSMB@x00x00x00x00x00x00x00x00x00x1fx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00$x00x08x00x01x00x00x00x7fx00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00xx00x00x00x02x00x00x00x02x02x10x02"x02$x02x00x03x02x03x10x03x11x03x00x00x00x00x01x00&x00x00x00x00x00x01x00 x00x01x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x03x00nx00x00x00x00x00x01x00x00x00x01x00x00x00x01x00x00x00x00x00x00x00'
subnet = sys.argv[1]
for ip in IPNetwork(subnet):
sock = socket.socket(socket.AF_INET)
sock.settimeout(3)
try:
sock.connect(( str(ip), 445 ))
except:
sock.close()
continue
sock.send(pkt)
nb, = struct.unpack(">I", sock.recv(4))
res = sock.recv(nb)
if res[68:70] != b"x11x03" or res[70:72] != b"x02x00":
print(f"{ip} Not vulnerable.")
else:
print(f"{ip} Vulnerable")
4、缓解措施
A、建议您立即安装漏洞补丁更新,微软安全补丁下载,访问如下链接:
代码语言:javascript复制https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0796
B、如无法立即安装补丁,建议禁用SMBv3压缩
代码语言:javascript复制Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" DisableCompression -Type DWORD -Value 1 -Force
PS:无需重启,可以防止远程命令执行,但无法防止针对SMB客户端的攻击。