本文我将为大家介绍一种,绕过Windows Server 2008 R2服务器的身份验证以及重置系统管理员密码的技术。此技术几乎适用于所有的Windows系统,但必须具备以下两个前提之一。即我们可以对运行Windows服务器的机器进行物理访问,或当Windows Server 2008 R2运行虚拟化时可以访问hypervisor的管理接口。其实这并不是什么新奇的“黑客”技术,大多时候会被系统管理员用作忘记密码时的最后手段。但在某些情况下这种方法会带给你意想不到的惊喜。例如在渗透测试时当我们控制了hypervisor软件的管理面板时,这种访问将允许你像对物理访问一样控制虚拟机,包括使用引导磁盘和修改系统文件等。或者,你也可以在对主机进行某种物理访问时应用此技术。
几个月前,我对在VMware虚拟机hypervisor上运行的Windows域环境进行了一次渗透测试。该环境主要包括一个域控制器和3个运行Windows Server 2008 R2的服务器。此外,我还遇到了一些基于Linux的网络和备份设备。由于在这个网络环境中,渗透机器并没有遇到太大的困难。因此在渗透测试的早期阶段,我就以管理员身份访问了VMware vSphere管理面板。该访问级别允许我使用引导CD来重置管理员密码,最终我成功获取到了管理员权限并以管理员身份登录到了到Windows Server。在下文中我将详细为大家讲解我是如何做到这一点的,以及如何通过应用该技术来保护Windows安装。
重置Windows Server 2008 R2管理员密码
本教程中我使用的是引导CD安装的Windows Server 2008 R2 Enterprise的机器,并使用了Hiren启动CD(HBCD)。你也可以使用其他方式来启动CD,包括Windows安装盘。从引导CD引导系统后,我们导航到包含Windows Server 2008 R2安装的驱动器的以下目录:
/Windows/System32
在该目录中,我们可以找到一个名为“Utilman.exe”的可执行文件。utilman.exe是一个系统进程,为Windows辅助工具管理器程序,用于配置辅助功能选项,如放大镜和屏幕键盘。Utilman.exe的特别之处在于我们可以在登录系统之前执行它,通过点击Windows登录菜单左下角的“可访问性”按钮来完成此操作:
现在我们可以访问/Windows/System32目录,我们使用cmd.exe程序来替换Utilman.exe程序。当替换成功后我们就可以通过点击“可访问性”按钮,来启动具有系统权限的cmd.exe而不再是Utilman.exe。这样我们就可以轻松的重置管理员密码,并使用管理员账号来登录系统了。
首先,我们将Utilman.exe程序重命名为Utilman.exe.old,如下所示:
下一步,将cmd.exe重命名为Utilman.exe,如下所示:
现在我们已经用cmd.exe替换了Utilman.exe,我们只需重启机器到Windows界面,然后单击登录屏幕上的辅助功能按钮。如下所示,我们直接打开了一个命令行输入窗口:
接着我们来更改管理员的密码,如下:
最后,我们使用新的管理员密码来登录Windows:
总结
从本文我们可以看,到系统管理程序(hypervisor)被控制后,想要获取Windows Server 2008 R2 Enterprise主机的管理员访问权限是多么的容易。以及使用引导CD启动机器,可能导致硬盘驱动器的数据被恶意篡改的严重安全问题。因此,想要避免类似的情况发生,我建议大家可以设置BIOS密码保护,这样渗透者就无法更改机器的引导选项从CD引导。其次更有效的办法就是进行全盘加密,以防止渗透者恶意篡改数据。