Windows 10已经发布了一段时间,目前节节攀升的装机量与被越来越多企业采用的消息频现,可谓是形势一片大好。相关人士预计9月末Win 10的装机量将达到一亿台。我相信很多人过去几周都在虚拟环境中体验着Win 10系统。
而我的主要目的是为了研究系统升级对于我的标准工具有何影响。本文中,我将就Win 10系统中hash以及明文密码提取的一些发现进行分享。
Win 10:I WANT YOU
我们都知道windows密码hash的价值,以及我们通过hash传递攻击测试而获得的无穷乐趣。如果你尚未意识到这一点,请允许我强烈推荐你进行一下尝试。现在,我更喜欢无论在什么条件下只要能获取到实际密码,即使是hash也足够了。
我把常用的一些工具在Win 10中使用,看看效果究竟如何:
·mimkatz 2.0
·wce 1.42 beta
·fgdump 2.10
所有测试均在Win 10 Pro x64中执行。
mimikatz 2.0 alpha x64 输出
wce 1.42beta x64 输出
fgdump 2.1.0 输出
结果
·mimkatz 2.0
我们可以抓取到hash,但没有明文密码
·wce 1.42 beta
似乎没有抓取到,无论是hash还是明文密码
·fgdump 2.10
果然抓取到hash
一般来说,这样的结果并不是太糟糕。有hash之后,我们同样可以破解它然后用来进行hash传递攻击测试……但是,没有直接抓取到明文密码?不要这样吧!
遇见神器RWMC
我决定在网上闲逛一下,又去咨询了一些朋友看是否有什么有趣的工具能够拿到Win 10中的明文密码。于是,我发现了由Pierre-Alexandre Braeken创造的、被称为“PowerMemory”的一组工具。其中最令人兴奋的是一个被称为“Reveal Windows Memory Credentials”(RWMC)的Powershell脚本。
我从github中找到了RWMC,然后在我的测试虚拟机上运行。
注释:你必须先执行Powershell的“Set-ExecutionPolicy Unrestricted-force”,才能执行脚本。
下面这张截图演示了如何使用RWMC从一台本地Windows 10 Pro x64的机器抓取明文密码,尽管这里并不该与其他Windows操作系统有所不同。
运行RWMC
有趣的是,该工具建议建立一个注册表密码然后重启。我看了一下脚本,有如下发现:
在这里我们看到一个用于为WDigest提供者明文存储凭证的注册表,被设置为1。我没有在这个Win 10 Pro中的设置进行任何破坏,因此在Windows 10中UseLogonCredential必须默认设置为0。跟进这个问题后发现似乎至少回到Win 8.1情况都是如此。
让我们在修改过注册表并重启之后,再次尝试一下RWMC。
情况有所好转,我们获得的结果如图所示:
太棒了!完全可以运行,甚至可以说任务完成得非常出色!RWMC还有其他许多功能,例如远程抓取密码以及找回dump密码。更多信息可以从这里获得。
如果注册表设置无法启用,我就不得不进行重启。这相当不方便,但是我还没能在我有限的测试中找到一种有效的方法解决这一问题。
但是现在注册表设置可以启用,让我们再次开启mimikatz来看看会发生什么:
现在我们终于得到了我们想要的。Mimikatz现在抓取hash不存在任何问题。而有趣的是,WCE在我的测试中仍然失败。
结果终于(或多或少)正常了:
·mimikatz
UseLogonCredentials列表设置可用
·RWMC
UseLogonCredentials列表设置可用
·WCE
在我的快速检测中,似乎并没有什么用
·fgdump
如预期,注册表并不需要调整,但又不与WDigest进行交互
有趣的是Windows Defender(微软自带防护软件)确实就这些工具的执行进行了“抱怨”,但是并没有阻止它们的运行。
编者注:
从相关研究人员处获悉,本文中作者操作的失当导致了图片中显示的“WCE执行后说服务安装失败”。WCE提示错误是因为其权限不够,作者应该用system权限执行WCE。因此,结果可能会有所不同。