今年5月, 哥伦比亚安全研究员 Juan Diego向微软报告了一个漏洞, 该漏洞可使得攻击者在无需任何用户交互的情况下随意窃取 Windows NTLM 密码哈希, 允许与受害者网络直接连接的攻击者升级对附近系统的访问。 Microsoft通过ADV170014安全顾问在本月的补丁周二修补了该漏洞, 此次补丁仅适用于Windows 10和Windows Server 2016的用户。
事实上, 这种攻击操作性强且不涉到较深层次的技术技能, 攻击者只需要将特制的 Shell 命令文件 (SCF 文件) 放在可公开访问的 windows 文件夹中, 然后该文件将由于安全问题而执行收集 NTLM 密码哈希, 并将其发送回攻击者的服务器;这样一来, 攻击者可以轻松破解 NTLM密码哈希并且随意访问受害者的计算机。 今年5月, 哥伦比亚安全研究员 Juan Diego向微软报告了黑客的入侵。
大家都知道微软 NTLM 体系结构有一些漏洞, 当pentester发动攻击的时候, 第一件事情就是窃取哈希, 这已经不新鲜了,而且大多时候这些技术需要用户介入来进行完整的攻击。 不过此次的攻击黑客掌握全部主动权:SCF文件中的恶意命令就在黑客将共享文件夹中里SCF文件上传之后就已经开始运行了, 并不需要等待用户查看文件内容, 也就是说不需要用户交互就能完成攻击。 除了已经被修复的windows 10 和服务器 2016, 较旧版本的 windows 3.11 到 windows 10、台式机和服务器由于注册表修改与旧版本的 windows 防火墙不兼容问题依然容易被攻击。 当然, 我只测试了windows 7 和 windows 10, 其他的就需要让微软自己来做了。
然而, 并不是所有共享文件夹的计算机都属于易被攻击对象, 由于Windows 限制漏洞范围的默认选项, 黑客攻击对具有密码保护的共享文件夹的计算机就不起作用, 不过介于大多情况下, 许多 Windows 用户诸如企业环境, 学校和其他公共网络中的用户通常会因为自身需求而共享无需密码的文件夹从而受到攻击。
只不过, Juan Diego表示他无法详细说明攻击的根本缘由,按理说, 在过去已知的攻击中因需要触发漏洞而利用SCF文件, 受害者应该拥有访问该文件夹的权限才对。
这种自动发生的攻击其根本原因对我来说依然是个谜, 微软方面也对此守口如瓶。
显然, 微软提供的补丁并没有真正修复关于SCF 文件的自动执行, Juan Diego虽然无法给出解释根由但致力于修补一个存在二十年之久、且被称之为 pass-the-hash 的攻击, 它能自动共享 NTLM 哈希与服务器位于用户的外部网络;类似这样的问题在很多针对 Windows 的攻击中都有体现;比如, 在今年春季, pass-the-hash 结合 Chrome 与 SCF文件来窃取用户凭据, 且在 2015、16年, pass-the-hash 攻击均有出现过。 而Microsoft 提供的修补程序只能够防止攻击者诱使本地用户在本地网络外部的服务器上进行身份验证。
事实上, 在 Diego 之前, 早在今年3 月份德国研究员Stefan Kanthak 已经向微软报告;报告了类似的为题。
在我报告的6个问题里微软只公布和修复了2个, 不得不说微软的效率真的很慢。
Stefan 表示其实有更多的方法能破解 pass-the-hash 攻击。 相应的, Diego 也给出支持性回应表示正在研究相关破解方法。
当然, 最好最直接的还是不要分享无需密码的文件。
……