Windows 10已经发布了一段时间,目前节节攀升的装机量与被越来越多企业采用的消息频现,可谓是形势一片大好。相关人士预计9月末Windows 10的装机量将达到一亿台。我相信很多人过去几周都在虚拟环境中体验着Windows 10系统。
而我的主要目的是为了研究系统升级对于我的标准工具有何影响。本文中,我将就Windows 10系统中hash以及明文密码提取的一些发现进行分享。
Windows 10:I WANT YOU
我们都知道windows密码hash的价值,以及我们通过hash传递攻击测试而获得的无穷乐趣。如果你尚未意识到这一点,请允许我强烈推荐你进行一下尝试。现在,我更喜欢无论在什么条件下只要能获取到实际密码,即使是hash也足够了。
我把常用的一些工具在Windows 10中使用,看看效果究竟如何:
◆mimkatz 2.0
◆wce 1.42 beta
◆fgdump 2.10
所有测试均在Windows 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传递攻击测试……但是,没有直接抓取到明文密码?不要这样吧!
#p#
遇见神器RWMC
我决定在网上闲逛一下,又去咨询了一些朋友看是否有什么有趣的工具能够拿到Windows 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。我没有对这个Windows 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。因此,结果可能会有所不同。