域账号弱口令批量检查-PowerShell

2016-09-22 浏览:1192
域账号弱口令批量检查-PowerShell
评论:(0)复制地址

最近电话诈骗横行,一时疏忽被骗子套到了公司的初始密码,唉~ 防不胜防啊。遂有了标题的需求。


本脚本需要3个文件,位于d:/pwd下

1 name.csv,保存需要测试的用户名列表   (在A列 表头为  name)

2 pwd.csv,保存需要测试的密码列表      (在A列 表头为  pwd)

3 name2.csv,保存验证成功的密码

域不能限制测试密码次数,必须管理员方式运行

echo "本脚本需要3个文件,位于d:/pwd下"
echo "1 name.csv,保存需要测试的用户名列表 "
echo "2 pwd.csv,保存需要测试的密码列表"
echo "3 name2.csv,保存验证成功的密码"
echo "域不能限制测试密码次数,必须管理员方式运行"
$files = (Get-Childitem d:\pwd\name2.csv).pspath
$content = get-content $files
Import-Csv -Path D:\pwd\name.csv | foreach { 
$bb ="{0}" -F $_.name
$UserName = "xxxx.com\" +"$bb"
# xxxx.com 设置为你们自己的域
Import-Csv -Path D:\pwd\pwd.csv | foreach { 
$pwd2 ="{0}" -F $_.pwd
$pass = ConvertTo-SecureString -AsPlainText $_.pwd -Force
$cred = New-Object System.Management.Automation.PSCredential($UserName,$Pass) 
$dCred = $cred
$dUsername = $dCred.username
$dPassword = $dCred.GetNetworkCredential().password
$currentDomain = "LDAP://" + ([ADSI]"").distinguishedName
$auth = New-Object System.DirectoryServices.DirectoryEntry($CurrentDomain,$dUserName,$dPassword)
    if ($auth.name -eq $null)
    {
   # Write-Host 当前测试用户$bb 当前测试密码$pwd2
   # Write-Host "验证密码失败." -foregroundcolor 'Red'
    }
    else
   {      Write-Host 当前测试用户$bb 当前测试密码$pwd2
    Write-Host "密码测试成功 -> " $($auth.Name) -foregroundcolor 'green'
     $a = "密码测试成功 -> $UserName $pwd2" |Out-File -Append  D:\pwd\name2.csv 
    }    }    }

如果有密码验证成功的,会自动追加写入到D:\pwd\name2.csv下,同时,控制台会绿色显示那条记录。


用法:

建一个记事本,贴入修改后的代码,然后文件保存为 xxx.ps1 后缀为ps1

在域中任何一台计算机中,以管理员身份运行powershell,然后进入到这个脚本所在目录

直接使用 .\xxx.ps1  即可执行  


脚本转至http://jiushu.blog.51cto.com/972756/1675200

评论:(0)复制地址
发布:zpblog | 分类:Windows | Tags:脚本

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。