设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 服务器 > 系统 > 正文

Windows RDP的RCE漏洞分析和复现(CVE-2019-0708)(6)

发布时间:2021-01-04 22:39 所属栏目:52 来源:网络整理
导读:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?图26.客户端名称请求内存转储 当RDP服务器接收RDPDR客户端名称请求PDU时,调用内核模块termdd.sys中的函数IcaChannelInputInternal以首先调度信道数据,然后将调用RD

Windows RDP的RCE漏洞分析和复现(CVE-2019-0708)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?图26.客户端名称请求内存转储

当RDP服务器接收RDPDR客户端名称请求PDU时,调用内核模块termdd.sys中的函数IcaChannelInputInternal以首先调度信道数据,然后将调用RDPDR模块来解析客户端名称请求PDU 的数据部分。客户端名称请求PDU的函数IcaChannelInputInternal应用与Refresh Rect PDU有相同的代码逻辑。它将调用ExAllocatePoolWithTag来分配带有标记TSic的内核内存,并使用memcpy将客户端名称请求数据复制到新分配的内核内存,如图27所示。

Windows RDP的RCE漏洞分析和复现(CVE-2019-0708)

Windows RDP的RCE漏洞分析和复现(CVE-2019-0708)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图27.客户端名称请求

到目前为止,我们已经证明复制的数据内容和长度都由RDP客户端控制,并且客户端名称请求PDU可以合法地多次发送。由于其灵活性和利用漏洞的特性,客户端名称请求PDU可用于回收UAF漏洞利用中的释放内核池,也可用于将shellcode写入内核池,甚至可以使用将连续的客户端控制数据喷射到内核内存中。

如图28所示,我们成功获得了稳定的池分配,并使用RDPDR客户端名称请求PDU将客户端控制的数据写入内核池。

Windows RDP的RCE漏洞分析和复现(CVE-2019-0708)

Windows RDP的RCE漏洞分析和复现(CVE-2019-0708)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?图28.客户端名称请求稳定池分配

? ? ? ? ? ?上面介绍了使用RDP PDU将数据写入内核的三种方法。
  • 位图缓存PDU允许RDP服务器在0x2b5200大小的池分配之后分配0xc3870大小的内核池并将可控数据写入其中,但不能多次执行0xc3870大小的内核池分配。
  • 刷新Rect PDU可以喷射许多0x828大小的内核池,这些内核池是0x1000对齐的,并将8个可控字节写入每个0x828大小的内核池中。

0x04 漏洞复现

1.测试环境:

攻击机:kali2019.2?

靶机: win7 sp1 7061 ?和 win2008r2 ?sp1??english ?standard

Windows7 SP1下载地址:

ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/

?

Windows RDP的RCE漏洞分析和复现(CVE-2019-0708)

Windows RDP的RCE漏洞分析和复现(CVE-2019-0708)

win2008r2 sp1 下载地址:

http://download.microsoft.com/download/7/5/E/75EC4E54-5B02-42D6-8879-D8D3A25FBEF7/7601.17514.101119-1850_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso

Windows RDP的RCE漏洞分析和复现(CVE-2019-0708)

2.复现测试

(1).替换所需文件

cve_2019_0708_bluekeep_rce.rb ? 替换 ?/usr/share/metasploit-framework/modules/exploit/windows/rdp/ ? ? ? ? ? ? #如果没有RDP目录需要自检

rdp.rb ? 替换 ?/usr/share/metasploit-framework/lib/msf/core/exploit/rdp.rb

rdp_scanner.rb 替换 ?/usr/share//metasploit-framework/modules/auxiliary/scanner/rdp/rdp_scanner.rb

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

Kali下执行如下命令进行替换:

wget?https://raw.githubusercontent.com/rapid7/metasploit-framework/edb7e20221e2088497d1f61132db3a56f81b8ce9/lib/msf/core/exploit/rdp.rb

wget?https://github.com/rapid7/metasploit-framework/raw/edb7e20221e2088497d1f61132db3a56f81b8ce9/modules/auxiliary/scanner/rdp/rdp_scanner.rb

wget?https://github.com/rapid7/metasploit-framework/raw/edb7e20221e2088497d1f61132db3a56f81b8ce9/modules/exploits/windows/rdp/cve_2019_0708_bluekeep_rce.rb

wget?https://github.com/rapid7/metasploit-framework/raw/edb7e20221e2088497d1f61132db3a56f81b8ce9/modules/auxiliary/scanner/rdp/cve_2019_0708_bluekeep.rb

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

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

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

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

(2) 攻击window7 ?sp1漏洞复现

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读