PowerShell批量检查域密码弱口令
生活随笔
收集整理的這篇文章主要介紹了
PowerShell批量检查域密码弱口令
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需求:標題就是需求,想用密碼庫批量檢測一下域內的弱密碼。
解決:PowerShell來實現,不需要第三方工具,不怕被人偷了密碼。
本腳本需要3個文件,空的即可,位于d:/pwd下
1 name.csv,保存需要測試的用戶名列表
2 pwd.csv,保存需要測試的密碼列表
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?=?"tech\"?+"$bb" 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?當前測試密碼$pwd2Write-Host?"密碼測試成功?->?"?$($auth.Name)?-foregroundcolor?'green'$a?=?"密碼測試成功?->?$UserName?$pwd2"?|Out-File?-Append??D:\pwd\name2.csv?}????}????}如果有密碼驗證成功的,會自動追加寫入到D:\pwd\name2.csv下,同時,控制臺會綠色顯示那條記錄。
在上面的腳本中,我注釋掉了兩行,可以顯示密碼驗證失敗的時候,以紅色顯示記錄,考慮到不顯示會更節省內存,所以注釋掉了。這個腳本用到了很多PowerShell的知識點,有興趣的同學可以自己看看。
轉載于:https://blog.51cto.com/jiushu/1675200
總結
以上是生活随笔為你收集整理的PowerShell批量检查域密码弱口令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Codeforces 164 E Com
- 下一篇: Sonar-project.proper