众所周知,系统中都存在本地管理帐户,如本地管理员帐户,root账户或应用程序为了能在所有系统中共享数据而特定设置了一个通用的账户密码。

如果你的这些众多帐户都仅仅使用系统默认的那些单一的、共享的密码,那么管理这些密码就会变得很棘手。因为厂商发布的产品中设置的默认密码都是一样的,系统管理员密码使用的也是一些常见的密码。

而且厂商往往不会去更改默认密码,比如POS供应商,自1990年以来都一直设置着相同的默认密码。这导致使用该默认密码的人越来越容易被破解。黑客仅仅只需要通过暴力攻击就能轻易地进入受害者的电脑。

同时,在Windows网络中常常出现这种情况:电脑都是由有一个共同的本地管理员密码的“黄金映像”配置。如果改了这个密码就会造成巨大的安全隐患。如果你需要一个分享在网络上的本地管理员密码,你就必须要有与域管理员等效的帐户才能获得密码。而黑客只需要使用哈希值传递攻击然后通过一个弹出的对话框就可以获取密码了。

对此我们用什么办法来解决这个问题?

阻止网络访问本地帐户

最简单的一个方法就是阻止网络访问本地帐户。在Windows 8.1和Windows 2012 创建新的本地SID:

S-1-5-113: NT AUTHORITY\Local account
S-1-5-114: NT AUTHORITY\Local account and member of Administrators group

然后我们就可以利用这些SID来拒绝RDP和其他网络访问本地帐户。

对于window 2008和window 7,你需要先安装安全更新程序KB 2871997。然后,配置以下GPO设置:

Computer Configuration → Windows Settings → Security Settings → Local Policies → User Rights Assignment (计算机配置→Windows设置→安全设置→本地策略→用户权利分配)


LAPS解决方案

微软使用本地管理员密码解决方案 (LAPS)解决了这个问题。这是一个免费的本地管理员帐户的密码管理解决方案。LAPS为本地管理员帐户定期自动生成随机密码,并安全地存储到他们的活动目录(Active Directory)的属性里。你也可以将权限给需要查看密码的组别,比如服务台(Helpdesk),然后他们就可以使用LAPS GUI或PowerShell脚本或直接查找AD属性的方法来查找计算机的密码。

这是GUI客户端:

可以从Microsoft LAPS下载中心下载LAPS.x86.msi(32位系统)或LAPS.x64.msi(64位系统)。

安装好后,用管理员权限打开PowerShell窗口,装载LAPS模块,然后运行Update-AdmPwdADSchema:

Import-Module AdmPwd.PS
Update-AdmPwdADSchema

然后你可以看到:

具体如何设置可以看此处

这个免费的解决方案还是相当不错的,但有一些要注意:

※正确的授权和指令很重要。
※像helpdesk用户的特权帐户如果获得了LAPS密码就更需要保护。

网络分段

如果由于某种原因,以上方法不能用,你可以使用网络分段减少黑客获得本地管理员密码后会发生的潜在危险。这是很普遍的问题,人们一般都挺信任自己的内部网络然后每个人都可以随时连接到内网中任何人的电脑上。但是,现在我们不能再完全信任内部网络了。比如会计不应该获得进入研发网络的权限,那么基于业务不同需要分割网络。网络分段很重要,可以预防黑客在你的网络里畅游。但这并不是解决问题的办法,它只能作为只是一个限制因素。

结论

密码管理是一个复杂的话题,对于其本身来说改权限就是一种挑战。所幸我们在Windows环境下有些好的解决方案,是减轻哈希值攻击的关键。

*参考来源dfirblog 编译/江湖小吓,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

源链接

Hacking more

...