【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

    渗透测试 lz520520 5年前 (2019-10-06) 946次浏览

    9.25

    最近看了关于这个msf更新的exp的分析文章,了解到为什么容易蓝屏。简单来说就是由于UAF漏洞IcaChannelInputInternal->IcaFindChannel会返回一个指向的内容已经被释放了的指针,随后有一处间接调用,通过喷射占位让这里的rax寄存器指向我们的shellcode就可以RCE。

    在windows 7上,非分页内存的起始地址是固定的。在虚拟机中可能由于环境不同导致该地址不同,由于EXP中硬编码了这个地址,所以可能导致漏洞利用失败。

    我们可以看下exp中硬编码的地址。在漏洞利用的时候为让你选不同的架构,如virtualbox,vmware,其实就是选择非内存页起始地址,根据不同环境不一样。如下,在cve_2019_0708_bluekeep_rce.rb中,vmware的起始地址为0xfffffa8018C00000。

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

     

    然后我们在查看下vmware中 win7的非内存页起始地址,这里使用谷歌内存取证工具

    rekall(https://github.com/google/rekall/releases/download/1.7.2rc1/Rekall_1.7.2.p1_Hurricane.Ridge_x64.exe)

     

    对虚拟机的快照文件进行地址提取。可以看到实际的地址为0xfa8003c04000。

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

     

    我们把代码中的地址进行替换。

    然后在msf中重新reload_all。

    我们再进行测试,打了两遍exp,可以看到稳定获得两个shell。

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

    但这个地址硬编码就比较难受,后续再看看有没什么好方法。

     

    插一嘴,如果是2008R2的话,需要改注册表,这个其实在代码中已经提示了。

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

     

    0x00 前言

    这个漏洞从公布以来,一直被安全圈关注,因为他可以和2017年爆发的SMB 永恒之蓝所造成的危害媲美的一个漏洞,甚至更严重,可以远程执行代码,实现权限控制。msf在2019.9.6号更新了exp模块,目前只支持win7 SP1和win2008 R2,后续肯定会出现xp、03的exp的。而且当前这个exp不太稳定,容易crash,还无法大批量使用,我不建议渗透过程中使用这个漏洞,容易导致业务挂掉,仅用于研究学习。

     

    0x01 环境准备

    1.准备一台靶机 win7 SP1未打0708补丁。

    2.准备msf,我这里使用的是kali里的msf。使用前建议更新msf至最新版本。

    新版本msf已经不支持msfupdate更新。使用apt update; apt install metasploit-framework来更新。

    我当前msf版本是v5.0.45。

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

    3.准备好0708的rb脚本,测试过msf无法自动更新0708的exp,所以需要手动导入。一共有四个文件。

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

    然后将各个脚本放到指定位置。

    cp rdp.rb /usr/share/metasploit-framework/lib/msf/core/exploit/rdp.rb

    cp rdp_scanner.rb /usr/share/metasploit-framework/modules/auxiliary/scanner/rdp/rdp_scanner.rb

    cp cve_2019_0708_bluekeep.rb /usr/share/metasploit-framework/modules/auxiliary/scanner/rdp/cve_2019_0708_bluekeep.rb

    cp cve_2019_0708_bluekeep_rce.rb /usr/share/metasploit-framework/modules/exploits/windows/rdp/cve_2019_0708_bluekeep_rce.rb

     

    有的环境可能和我路径不一样,可能如下,或者使用 find / -iname filename找一下就好。

    rdp.rb -> /opt/metasploit-framework/embedded/framework/lib/msf/core/exploit/rdp.rb

    rdp_scanner.rb -> /opt/metasploit-framework/embedded/framework/modules/auxiliary/scanner/rdp/rdp_scanner.rb

    cve_2019_0708_bluekeep.rb -> /opt/metasploit-framework/embedded/framework/modules/auxiliary/scanner/rdp/cve_2019_0708_bluekeep.rb

    cve_2019_0708_bluekeep_rce.rb -> /opt/metasploit-framework/embedded/framework/modules/exploits/windows/rdp/cve_2019_0708_bluekeep_rce.rb

     

    放好后,进行msfconsole,然后reload_all即可。

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

     

    0x02 漏洞利用

    kali的IP为192.168.111.129

    win7的IP为192.168.111.133

     

    进入0708模块,设置rhosts/payload/lhost/lport,如图所示。这里我使用的是meterpreter来反弹shell。

     

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

     

     

    然后有个需要注意的配置就是target,使用info查看,有四种架构可以选择,根据清水大佬建议使用2(virtualbox),不行再使用3(vmware)

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

     

     

    最后我们的配置如下。

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

     

     

    实际上在设置target和payload之前,我们设置好rhosts,可以先使用check命令检测目标是否存在漏洞。

    如下图所示,目标存在漏洞,并获取到windows版本信息。

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

     

     

    然后run -j或者exploit -j让任务后台运行,可以看到最后一行,成功接收到反弹的shell。

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

     

     

    通过session -i 可以看到活跃的会话。

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

     

    选择会话,并使用shell命令进入交互模式,可以看到最后成功执行ipconfig命令。

     

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

    至此0708漏洞复现成功。

     

    0x03 总结

    这个漏洞虽然看上面一套下来很流畅,但实际这个exp很容易crash,我是靶机打了快照,测试了多次蓝屏然后才复现成功的。

    蓝屏如下图所示,除此之外,还可能提示crash位置在termdd.sys(就像永恒之蓝提示srv.sys),根据微软补丁分析,漏洞位置就在termdd.sys驱动里。

     

    【漏洞】CVE-2019-0708(RDP RCE)漏洞复现

     

     

    还有需要注意是,每次测试不成功,建议重启或恢复快照再试。

    目前测试反弹shell可以成功,exec还未验证,实际上,如果能执行命令,那还反弹啥shell,创建个系统账号直接登录不香吗。

    后续肯定会有更稳定好用的exp,我们就慢慢期待吧。

    文件下载

      文件名称:msf_cve_2019_0708_exp  文件大小:31KB
      下载声明:本站文件大多来自于网络,仅供学习和研究使用,不得用于商业用途,如有版权问题,请联系博猪!
      下载地址: https://tools.lz520520.com/files/pentest/msf_cve_2019_0708%20exp.zip

    0x04 参考

    https://github.com/rapid7/metasploit-framework/pull/12283/commits

    https://qiita.com/shimizukawasaki/items/024b296a4c9ae7c33961?from=timeline&isappinstalled=0

    https://www.anquanke.com/post/id/186709


    Security , 版权所有丨如未注明 , 均为原创丨
    转载请注明原文链接:【漏洞】CVE-2019-0708(RDP RCE)漏洞复现
    喜欢 (0)