CVE-2020-0796,又是一场补丁攻坚战

2020-03-31 6,577
每年真正比较有影响力的漏洞编号,其实并不多,而这个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

import socketimport structimport sysfrom netaddr import IPNetwork
pkt = b'\x00\x00\x00\xc0\xfeSMB@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$\x00\x08\x00\x01\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x02\x00\x00\x00\x02\x02\x10\x02"\x02$\x02\x00\x03\x02\x03\x10\x03\x11\x03\x00\x00\x00\x00\x01\x00&\x00\x00\x00\x00\x00\x01\x00 \x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\n\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00'
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"\x11\x03" or res[70:72] != b"\x02\x00":        print(f"{ip} Not vulnerable.")    else:        print(f"{ip} Vulnerable")


4、缓解措施

A、建议您立即安装漏洞补丁更新,微软安全补丁下载,访问如下链接:

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0796

B、如无法立即安装补丁,建议禁用SMBv3压缩

Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" DisableCompression -Type DWORD -Value 1 -Force

PS:无需重启,可以防止远程命令执行,但无法防止针对SMB客户端的攻击。

本文作者:Bypass007

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/126966.html

Tags:
评论  (0)
快来写下你的想法吧!

Bypass007

文章数:60 积分: 198

一个网络安全爱好者,对技术有着偏执狂一样的追求。

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号