Chinaunix首页 | 论坛 | 博客
  • 博客访问: 238485
  • 博文数量: 40
  • 博客积分: 3166
  • 博客等级: 大尉
  • 技术积分: 475
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-08 17:43
文章分类

全部博文(40)

文章存档

2011年(19)

2010年(21)

分类: 网络与安全

2010-12-06 17:22:55

NT hash LM Hash password crack
Windows存储密码 LANManager
 
本文的设置方法可以提高账号的安全性,有效防止windows密码通过彩虹表读取而得到administrator密码。

  Windows 使用两种不同的密码表示方法(通常称为“哈希”)生成并存储用户帐户密码,而不是以明文存储用户帐户密码。当您将用户帐户的密码设置或更改为包含少于 15 位字符的密码时,Windows 会为此密码同时生成 LAN Manager 哈希(LM 哈希)和 Windows NT 哈希(NT 哈希)。这些哈希存储在本地安全帐户管理器 (SAM) 数据库或 Active Directory 中。

  与 NT 哈希相比,LM 哈希相对较弱,因此容易遭到强力攻击。因此,您可能希望阻止 Windows 存储密码的 LM 哈希。本文介绍如何进行操作,以便 Windows 仅存储密码较强的 NT 哈希。

  要阻止 Windows 存储密码的 LM 哈希,请使用下列任一方法:

  方法 1:通过使用“组策略”实现 NoLMHash 策略

  要通过使用“本地组策略”(Windows XP 或 Windows Server 2003)禁止在本地计算机的 SAM 数据库中存储用户密码的 LM 哈希,或通过使用 Active Directory 中的“组策略”(Windows Server 2003)在 Windows Server 2003 Active Directory 环境中禁止存储该哈希,请按照下列步骤操作:
  在“组策略”中,依次展开“计算机配置”、“Windows 设置”、“安全设置”、“本地策略”,然后单击“安全选项”。
  在可用策略的列表中,双击“网络安全:不要在下次更改密码时存储 LAN Manager 的哈希值”。
单击“启用”,然后单击“确定”。

  方法 2:通过编辑注册表实现 NoLMHash 策略(不建议)
  
  Windows 2000 SP2 和更高版本
  在 Windows 2000 Service Pack 2 (SP2) 和更高版本中,使用下列步骤之一可阻止 Windows 在您下次更改密码时存储 LM 哈希值。
警告:“注册表编辑器”使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因“注册表编辑器”使用不当而导致的问题。使用“注册表编辑器”需要您自担风险。
重要说明:NoLMHash 注册表项及其功能未经测试或记录,在 Windows 2000 SP2 之前的生产环境中使用可能不安全。

要使用“注册表编辑器”添加此注册表项,请按照下列步骤操作:
启动“注册表编辑器”(Regedt32.exe)。
找到并单击下面的注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
在“编辑”菜单上,单击“添加项”,键入 NoLMHash,然后按 Enter 键。
退出“注册表编辑器”。
重新启动计算机,然后更改密码以使设置生效。
注意:
要在 Windows 2000 Active Directory 环境中禁止存储用户密码的 LM 哈希,必须在所有 Windows 2000 域控制器上都进行此注册表项更改;此注册表项可阻止在基于 Windows 2000 的计算机上创建新的 LM 哈希,但是它不会清除所存储的 LM 哈希的历史记录。所存储的现有 LM 哈希将在更改密码时被删除。

  Windows XP 和 Windows Server 2003
警告:“注册表编辑器”使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因“注册表编辑器”使用不当而导致的问题。使用“注册表编辑器”需要您自担风险。
要使用“注册表编辑器”添加此 DWORD 值,请按照下列步骤操作:
单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
在注册表中找到并单击以下注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
键入 NoLMHash,然后按 Enter 键。
在“编辑”菜单上,单击“修改”。
键入 1,然后单击“确定”。
重新启动计算机,然后更改密码。
注意:
要在 Windows 2003 Active Directory 环境中禁止存储用户密码的 LM 哈希,必须在所有 Windows Server 2003 域控制器上都进行此注册表更改。如果您是域管理员,则可以使用“Active Directory 用户和计算机”Microsoft Management Console (MMC),将此策略部署到所有域控制器或域中的所有计算机上,如方法 1(通过使用“组策略”实现 NoLMHash 策略)中所述。
此 DWORD 值可阻止在基于 Windows XP 的计算机和基于 Windows Server 2003 的计算机上创建新的 LM 哈希。在完成这些步骤后,所有以前 LM 哈希的历史记录都将被清除。
重要说明:如果您创建了可同时用在 Windows 2000 和 Windows XP(或 Windows Server 2003)上的自定义策略模板,则可以同时创建此注册表项和此值。此值与注册表项位于同一位置;该值为 1 时禁止创建 LM 哈希。此注册表项在 Windows 2000 系统升级到 Windows Server 2003 时被升级。但是,最好两个设置均在注册表中。
回到顶端

  方法 3:使用长度至少为 15 位字符的密码
  阻止 Windows 存储密码的 LM 哈希的最简单方法是:使用长度至少为 15 位字符的密码。在这种情况下,Windows 会存储无法用于验证用户身份的 LM 哈希值。

参考文献:
NT hash LM Hash password crack
Windows存储密码 LANManager (LM)哈希
阅读(4017) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~