有没有办法审核 AD 中的特定密码?

有没有办法审核 AD 中的特定密码?

有没有什么方法可以审核 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 没有为管理员提供太多内置密码检查实用程序,因为它是专门为管理员设置的,以便管理员可以重置或清空密码,但不知道“丢失”或“忘记”的密码是什么。

相关内容