Windows远程桌面漏洞Esteemaudit(CVE-2017-9073)补丁简要分析
本文讲的是Windows远程桌面漏洞Esteemaudit(CVE-2017-9073)补丁简要分析,在上个月,我们为方程式组织被泄漏的ESTEEMAUDIT漏洞撰写了一个简要的分析,并且直到我们发现这一漏洞攻击只适用于加入Windows域的计算机前,我们都在试图去重现这个问题,不过相对来说编写补丁还是相当简单的。下图显示了当检测到并阻止ESTEEMAUDIT攻击时显示的源代码和“Exploit Attempt Blocked”对话框。
我们的补丁很简单:我们先去检查从远程智能卡收到的数据(由ESTEEMAUDIT模拟)是否大于80h,这是gpkcsp.dll中目标缓冲区的大小。如果接收到的数据较大,并且使用ESTEEMAUDIT,则我们首先警告我们本地运行的0patch代理(弹出警报),然后将接收到的数据的大小减小到80h,以防止缓冲区溢出。通过在原始代码中引入4个机器指令,可以有效地阻止攻击而不会中断那些合法功能。
而在大约一个月后,微软公布了ESTEEMAUDIT和其它漏洞的官方更新,并且表示会向客户提供更多的支持。这是非常好的,因为官方的供应商更新是修复漏洞的首选方法,我们的目标是为那些还未修复的问题在修复前提供尽可能的服务,或者在安全更新时间差中为一些客户组织提供对关键漏洞的保护。
当然,我们对微软如何修复这个漏洞非常感兴趣,并将其修复方案与我们的进行了比较。输入IDA Pro和BinDiff,几分钟后,我们就可以并列的去比较两者了。
在左边的固定代码和右边的易受攻击的代码上,微软的补丁在完全相同的位置也引入了同样的检查。我们修复方案的主要区别在于,尽管我们将接收到的数据切割为有效长度,但如果数据太长,则仍然会产生错误,并放弃连接。
这是非常有道理的,因为官方补丁就是应该提供故障排除信息,微软应该尽量用最小的代码关闭漏洞。
当然我们也发现了非常惊喜的地方——BinDiff展现了了另一个变化。
在代码中的其他地方,微软也添加了类似的检查——检查接收到的数据长度超过80h,如果是,则返回错误。
他们显然审计了他们的代码,并注意到在另一个DoSCardTransmit调用之后存在类似的错误,并修复它。请注意,这个第二个错误并没有被ESTEEMAUDIT利用,但是很有可能会由第一个bug 进而被发现。微软和其他类似的软件供应商经常在他们的代码中搜索那些类似已发现的漏洞(内部或外部),并主动修复它们。
毫无疑问,这个被发现的第二个问题也给我们带来了新的问题:还有其他类似的问题吗?
在gpkcsp.dll中有66次对DoSCardTransmt调用,我们来简要地看看他们。事实上,我们对接收到的缓冲区将被复制到其他缓冲区的情况很感兴趣。实际上还有一个这样的情况,除了微软修补的问题,如下图所示:
同样,最新的gpkcsp.dll还是位于左侧,但显然这里没有添加任何数据长度检查。该代码与易受攻击的代码存在相似的嫌疑,但它实际上取决于ds上的目标缓冲区的大小:[edx + ebx]。我们没有时间进一步了解这一点,但是我们希望微软去进行尝试并确认它是不可利用的。
最后顺便说一下,ESTEEMAUDIT漏洞被分配了代号CVE-2017-9073,但微软将其修复与CVE-2017-0176进行了相互的关联。这很容易会引起一些混乱,让人们想知道两个CVE是否是重复的。基于对Microsoft的修复的上述分析,似乎可以准确的说一点,CVE-2017-9073其实是CVE-2017-0176的一个子集,前者只是ESTEEMAUDIT漏洞,而后者还包括上文中所述的第二个类似的问题,微软也进行了修补。
原文发布时间为:2017年6月22日 本文作者:Change 本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。 原文链接Autodesk 3ds Max 2023 for Windows(含激活补丁) Autodesk 3ds Max是全球专业的3D动画、渲染和模型动画软件,以及3D动画建模和渲染软件。广泛应用于广告、影视行业、工业设计、建筑设计、3D内容、多媒体制作、游戏、辅助教学和工程可视化等领域。
Waves 14 Complete for Windows (含激活补丁) Waves V14主要新功能: 1.Mix和Trim旋钮加入到众多热门压缩器中,动态控制更快捷更方便 API 2500、CLA-2A、CLA-3A、CLA-76、R-Comp、SSL G-Master Buss Compressor中加入两个新控制旋钮
如何查找前置补丁-Windows安装补丁提示需要安装前置补丁 需要安装的补丁名称如KB3139914,提醒需要安装前置补丁,如何查找呢?1、进入https://www.catalog.update.microsoft.com/Home.aspx 输入补丁名称搜索相关的补丁信息2、根据系统版本找到对应的补丁。
相关文章
- Windows 10秘籍:瞬间干掉所有无响应进程的必杀技
- Windows现漏洞 可绕过AppLocker白名单实施攻击
- Confluence 6 Windows 中以服务方式自动重启修改运行服务的用户
- 人人都可以把 Windows 玩蓝屏的漏洞,微软为什么不急着修复?(附视频)
- 利用CVE-2018-0950漏洞自动窃取Windows密码
- 【经典漏洞案例】NSA黑客工具包——Windows 0day验证实验
- windows/linux 系统 openresty(nginx)操作命令
- 一年期早过:Windows 10免费升级漏洞仍然敞开着
- 如何查看Windows 10系统版本号?
- windows 下搭建一台git服务器 started from idea Failed to create JVM:CProgram files
- 统计机构数据显示Windows 10已成为第二大操作系统
- Windows所有版本绕过漏洞 AtomBombing内存注入技术 现有杀毒软件无效
- 关于windows内存的一些简单看法
- [mysql-Ver5.6.23] windows版my.ini配置
- windows部署iBase4J
- Windows内核再次出现0Day漏洞 影响win2000到win10所有版本 反病毒软件恐成瞎子
- 绿盟科技网络安全威胁周报2017.24 关注Windows LNK文件远程代码执行漏洞CVE-2017-8464
- 绿盟科技网络安全威胁周报2017.15 建议关注方程式组织泄漏大量针对Windows攻击工具
- 如何在Windows下面运行hadoop的MapReduce程序
- Xmind8 Pro Windows安装教程
- Windows Server中的 WINS 服务器远程内存损坏漏洞分析
- Windows注册密码能保护你的数据安全吗?
- SvCom控件,在所有Windows都使用Delphi
- JavaFX 11在Windows、Linux或Mac上的安装与使用配置
- 【Windows 逆向】CE 地址遍历工具 ( CE 结构剖析工具 | 尝试进行瞬移操作 | 尝试查找飞天漏洞 )
- 【一】ODB - C++ 访问数据库的利器--Hello World On Windows(Version-24)
- 这段百度问答,对我相关有对啊!!!----如何获取Windows系统登陆用户名