有没有什么方法可以审核 AD 来检查特定的密码?
我们过去对所有新用户使用“标准”密码(例如MyPa55word)我要确保这个东西在我们的庄园里不再被使用。
我能想到的唯一方法是 a)以某种方式审核目录中使用此密码的任何用户或 b)设置专门禁止此密码的 GP(理想情况下,这会提示用户重置密码。)
有人能对我该如何处理这个问题提出任何建议吗?
哒,
本
答案1
这里有几个想法 - 它们都不是很好(从它们可能触发防病毒或入侵检测警报的角度来看):
您可以从 Active Directory 中转储密码哈希值并对其运行密码破解程序。该隐和亚伯可以帮你破解。你可以用 fgdump 得到哈希值。注意——这两个实用程序可能会在你的防病毒软件中拉响警报。
您可以编写一个简单的脚本来遍历用户列表的输出,使用“NET USE”命令检查密码是否有效。使用如下命令:
@echo 关闭 rem 将“驱动器”映射至密码测试的目标路径 设置 DESTPATH=\\SERVER\Share rem 用于“映射”驱动器号以进行密码测试 设置驱动器号=Q: rem 要测试的 NetBIOS 域名 设置域=域 rem 包含用户名列表的文件,每行一个 设置用户列表=用户列表.txt rem 测试密码 设置密码=MyPa55word rem 输出文件 设置输出=输出.txt 如果存在“%DRIVE_LETTER%\。”转到_letter_used 对于/f %%i 在(%USERLIST%)中执行( 网络使用%DRIVE_LETTER%%DESTPATH%/USER:%DOMAIN%\%%i%PASSWORD% 如果存在“%DRIVE_LETTER%\。” echo %%i 密码是 %PASSWORD%>>%OUTPUT% 净使用%DRIVE_LETTER%/ d / y ) 转到结束 :_letter_used echo %DRIVE_LETTER% 已被使用。将其更改为可用的驱动器号并重新运行。 :结尾
将用户列表放入“userlist.txt”中(每行一个用户名),设置脚本顶部的变量以引用用户应该能够“映射”到“驱动器”的路径,并确保您正在运行它的PC没有任何其他“驱动器” “映射”到目标服务器(因为Windows PC一次只允许一组凭据用于SMB客户端与给定服务器的连接)。
就像我说的——这两种方法可能都不是一个好主意。>微笑<
答案2
没有官方的方法来查看用户密码(这是可能的,但你必须深入研究...安全实用程序)。最好从密码年龄的角度来解决这个问题。听起来好像你可以将用户创建日期与密码上次更改的日期进行比较,如果匹配,则切换“下次登录时更改密码”字段。
答案3
创建一个共享,在使用网络使用时会要求您输入密码。然后编写一个脚本,尝试将共享与所有用户名和默认密码进行映射。这样就不需要登录,也不会违反政策
答案4
您可以尝试找到一种方法来编写登录共享或资源的脚本,该脚本将尝试对列表中的每个用户使用“标准”密码,就像批处理文件方法一样,然后记录哪些是成功的。但是,如果您不是拥有大量帐户的大型企业,这对于单次审计来说将是大量工作。可能有一些灰帽安全实用程序,但我不知道您会信任它们多少。
您可能能够获得一个带有基于字典的攻击(l0phtcrack?)的密码审计实用程序,并仅使用您的默认密码作为自定义字典。这可能会让事情变得更快、更容易。
这很危险,因为这些实用程序既能帮上忙,又能带来坏处。即使你将它们用于合法目的,某些恶意软件扫描程序也会标记它们。Windows 没有为管理员提供太多内置密码检查实用程序,因为它是专门为管理员设置的,以便管理员可以重置或清空密码,但不知道“丢失”或“忘记”的密码是什么。