CVE-2019-0708 微软远程桌面服务远程代码执行漏洞分析之补丁分析

2019.09.30——更新:本分析最后对于漏洞的判断有误,漏洞是UAF漏洞,所以更新了一篇文章,具体请看:

CVE-2019-0708 微软远程桌面服务远程代码执行漏洞之漏洞分析与漏洞利用

声明:分析只是个人观点,可能关注的点并不对,分析的可能有问题 仅供参考

5月14日,微软发了这个漏洞的补丁。

不废话直接补丁对比,看看啥情况,安装完是termdd.sys这个驱动更新了,应该是这个的问题

上神器对比,可以看到改了两处——IcaRebindVirtualChannels和IcaBindVirtualChannels

在点开最后一个看看,加了一个strcmp

看伪代码好看点

可以看到重点应该在MS_T120这个名字的Channel,假如是这个Channel,那么strcmp返回0

最后调用的是_IcaBindChannel(v5, 5, 31, v7);

可以看到这个直接将第3个参数写死了——31

我们跟进函数看看,假如第3的参数可控,那么就能达到越界写的效果,所以微软直接将参数写死为31了

由于对rdp不太熟悉,能力也不足,构造poc这事暂时是干不了,也就写到这了。

而且其实另外一个函数IcaBindVirtualChannels也是这么修改的

声明

以上分析只是个人观点,可能关注的点并不对,仅供参考

打赏专区