Esteemaudit,4月份时候Shadow Brokers公布的其中一个漏洞攻击工具,针对windows 2003及windows XP的RDP(3389)的远程攻击0day。日前启明星辰也及时发布了针对这个漏洞的预警《NSA之“Esteemaudit”深度分析与验证:警惕下一次“蓝”》。外面安全厂商以及freebuf安全社区里面都已经有很多详细的分析以及漏洞复现步骤。但是由于windowsXP和windows 2003已经EOS了,暂时又没有MS17-010那么好的待遇推出专门的补丁。目前流行大部分的建议都是关闭3389端口或升级系统到win7之类的。但是对甲方来说似乎都不太现实。笔者根据前人的深入分析,尝试了一些方法来缓解这个漏洞的影响。
原理:
在5月9日,腾讯安全联合实验室发布过针对的Esteemaudit的分析。当中提到:
windows server 2003在处理来自Gemplus GemSAFE Card的远程登录过程中存在一个越界写漏洞和一个逻辑不正确漏洞,(漏洞)利用代码模拟出一个Gemplus GemSAFE card硬件设备来与服务器进行远程桌面通信,通信协议则采用的是开源的RDP。通过伪造一系列smart card登录认证所需要的数据包来触发漏洞并最终实现远程代码执行。
缓解方法:
因此笔者这里尝试通过注册表禁用的方法。
注册表路径为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\GemplusGemSAFE Card CSP v1.0,默认值Type为1,修改为0
之后再利用工具进行攻击则不再成功。
以上测试在windowsXP的SP3及windows 2003企业版上有效。而且无需重启系统,策略即生效,攻击失败。
其他的一些方法:
1)今天凌晨,国外也有人提出通过反注册gpkcsp.dll来实现防御。测试发现反注册后注册表中就没有Gemplus GemSAFE Card CSP v1.0的项目了。所以再次攻击也无法成功了。
regsvr32 /s /u gpkcsp.dll
2)5月17日的时候,0patch公司提出已经研制出修复的补丁,但是看上去要安装0path的客户端。
测试当中有几个坑:
所有被测试的靶机需要加入域环境,不然攻击不会成功。
之前对这个漏洞的认识,认为需要启动“智能卡认证”的功能才生效。
实际上,windows XP下“本地安全策略中智能卡交互登入”的功能默认是没有配置的,windows 2003默认是禁用的。而注册表的Gemplus GemSAFE Card CSP v1.0值均为“1”。在测试过程中发现,的确是默认情况就能够实现攻击,而无需启用智能卡认证。
测试XP系统的时候,如果启动了“本地安全策略中智能卡交互登入”,那么就悲催了,会提示登录系统不成功。
最后
最新的消息,目前已经为这个漏洞分配了一个CVE号,CVE-2017-9073,说不定微软会推出针对这个漏洞的补丁。但是目前资源情况下,不妨尝试通过修改注册表来缓解。
以上测试如不正确之处和更多的缓解方案,欢迎留言交流。
参考链接:
http://www.freebuf.com/articles/system/132171.html
http://slab.qq.com/news/tech/1570.html
https://blog.fortinet.com/2017/05/11/deep-analysis-of-esteemaudit