永恒之黑(CVE-2020-0796)


0x001 漏洞简介


  北京时间 3 月 12 日晚,微软发布安全公告披露了一个最新的SMB远程代码执行漏洞(CVE-2020-0796),该漏洞是由于SMBv3协议在处理恶意的压缩数据包时出错所造成的,它可让远程且未经身份验证的攻击者在目标系统上执行任意代码。

0x002 影响版本


  • Windows 10版本1903(用于32位系统)
  • Windows 10版本1903(用于基于ARM64的系统)
  • Windows 10版本1903(用于基于x64的系统)
  • Windows 10版本1909(用于32位系统)
  • Windows 10版本1909(用于基于ARM64的系统)
  • Windows 10版本1909(用于基于x64的系统)
  • Windows Server 1903版(服务器核心安装)
  • Windows Server 1909版(服务器核心安装)

0x003 漏洞检测


检测工具使用命令

python scanner.py IP

此漏洞检测工具为python2脚本。

import socket
import struct
import sys
 
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'
sock = socket.socket(socket.AF_INET)
sock.settimeout(3)
sock.connect(( sys.argv[1],  445 ))
sock.send(pkt)
 
nb, = struct.unpack(">I", sock.recv(4))
res = sock.recv(nb)
 
if not res[68:70] == b"\x11\x03":
    exit("Not vulnerable.")
if not res[70:72] == b"\x02\x00":
    exit("Not vulnerable.")
 
exit("Vulnerable.")

代码来源:https://github.com/ollypwn/SMBGhost/blob/master/scanner.py

0x004 漏洞演示


1. 环境准备

  为了便于操作演示,本次采用VMare虚拟机软件,搭建一个存在该漏洞的Win10 x64 1909的靶机,然后在该靶机上新建了一个普通权限用户lucky,并且开启SMB服务。

image

2. 检测漏洞

检测工具使用命令

python scanner.py 192.168.1.6

image

3. 蓝屏攻击

命令行运行EXP工具后,输入目标IP进行蓝屏攻击,成功后目标主机会蓝屏报错。

image

4. 本地提权

命令行运行EXP工具后,输入IP:127.0.0.1进行本地提权,成功后会弹出system终端。

image

0x005 漏洞修复


(1) 关闭445端口,防御利用该漏洞的攻击。

(2) 禁用SMBv3压缩,使用以下PowerShell命令可禁用SMBv3服务的压缩(无需重新启动):

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

(3)打补丁:https://www.catalog.update.microsoft.com/Search.aspx?q=KB4551762

(4)更新系统版本至2004

参考文章


文章作者: LuckySec
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuckySec !
评论
 上一篇
EyouCMS v1.4.1 任意代码执行 EyouCMS v1.4.1 任意代码执行
EyouCMS是基于TP5.0框架为核心开发的免费+开源的企业内容管理系统,专注企业建站用户需求。
2020-05-20
下一篇 
PHP反序列化漏洞 PHP反序列化漏洞
在反序列化的过程中自动触发了某些魔术方法。未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,从而导致XSS、代码执行、文件写入、文件读取等不可控后果。
2020-05-13
  目录