使用 PowerShell 进行暴力密码破解(示例脚本)

我最近使用 PowerShell 构建了一个应用程序,用于根据可选择的标准生成强随机密码。 在编写了基于 GUI 的密码生成器之后,我开始思考是否可以使用 PowerShell 来执行相反的操作 – 破解密码。 当我思考这个想法时,我考虑了考虑到可用的不同密码的多样性,我应该尝试破解哪种类型的密码。 最终,我决定使用一个受密码保护的文件碰碰运气,而我长期以来因忘记密码而被锁定。 相关:如何使用 PowerShell 获取 Active Directory 密码帮助 这个修改后的脚本可以被认为是一个DIY渗透测试工具,为暴力破解密码提供了基本结构。 我没有公开发布一个可以在不修改密码的情况下破解密码的工具。 用于暴力破解密码的 PowerShell 脚本 话虽如此,这是我的脚本: 函数测试密码 { Param( [String]$Password ) $ErrorOccurred=$False Try{ # 在此处插入代码以尝试使用当前密码 } Catch{ $ErrorOccurred = $True Return $ErrorOccurred } Return $ErrorOccurred } $UpperCase=@('A','B', 'C'、'D'、'E'、'F'、'G'、'H'、'I'、'J'、'K'、'L'、'M'、'N'、'O ','P','Q','R','S','T','U','V','W','X','Y','Z') $LowerCase=@ ('a','b','c','d','e','f','g','h','i','j','k','l',' m'、'n'、'o'、'p'、'q'、'r'、's'、t'、'u'、'v'、'w'、'x'、'y' ,'z') $Numbers=@('1','2','3','4','5','6','7','8','9','0') $Symbols=@('!','@','$','?','','*','&') $Charset = […]