Kompleksnost gesla uporabnika domene Active Directory je ena najpomembnejših varnostnih funkcij tako za uporabniške podatke kot celotno domeno. Uporabniki praviloma raje preprosta, enostavno zapomnjena gesla, da si olajšajo življenje. Toda s tem resno znižujejo raven zaščite svojih računov pred vsiljivci. V tem članku bomo pokazali, kako porabiti Preglejte uporabniška gesla v Active Directory s programom PowerShell.
Za testiranje odpornosti uporabniških gesel do napadov bomo uporabili zunanji modul PowerShell - DSInternals. Ta modul vsebuje številne ukazne vrstice, ki omogočajo izvajanje različnih operacij z bazo podatkov AD v spletu ali brez povezave (neposredno z datoteko ntds.dit). Predvsem nas zanima cmdlet Test-PasswordQuality, prepozna uporabnike s šibkimi, enakimi, standardnimi ali praznimi gesli.
Opomba. Uporabniškega gesla iz baze podatkov AD seveda ni mogoče dobiti na jasnem, vendar lahko s primerjanjem šifranj gesel uporabnikov AD s poševnimi besedami iz slovarja uporabniška gesla določimo (ali primerjamo).Vsebina:
- Namestitev DSInternals
- Geslo slovar
- Preglejte gesla v AD-ju z uporabo Test-PasswordQuality
Namestitev DSInternals
V PowerShell 5 lahko v uradno galerijo skriptov PowerShell v spletu namestite modul DSInternals takole:
Namestitveni modul DSInternals
V prejšnjih različicah PowerShell ali na izoliranih sistemih boste morali prenesti zip arhiv z najnovejšo različico modula iz GitHub (https://github.com/MichaelGrafnetter/DSInternals/releases). V času pisanja, zadnja izdaja - DSInternals v2.16.1 Nastali arhiv je treba razpakirati v enega od imenikov z moduli PowerShell:
- C: \ Windows \ system32 \ WindowsPowerShell \ v1.0 \ Moduli \ DSInternals
- C: \ Uporabniki \% uporabniško ime% \ Dokumenti \ WindowsPowerShell \ Moduli \ DSInternals
Ali uvozite modul z ukazom:
Uvozni modul C: \ distr \ PS \ DSInternals \ DSInternals.psd1
Seznam razpoložljivih ukaznih kod modulov lahko dobite na naslednji način:
Get-Command -Module DSInternals
Geslo slovar
Nato potrebujemo datoteko s slovarjem pogosto uporabljenih in "slabih" gesel. Lahko ga prenesete iz interneta ali pa si ga ustvarite sami. Uporabniški računi Active Directory bodo preverjeni glede na gesla v tem slovarju. Shranite gesla v besedilno datoteko PasswordDict.txt.
Preglejte gesla v AD-ju z uporabo Test-PasswordQuality
V naslednjih spremenljivkah določite pot do datoteke z gesli, imenom domene in krmilnikom domene.
$ DictFile = "C: \ distr \ PS \ DSInternals \ PasswordDict.txt"
$ DC = "msk-dc01"
$ Domain = "DC = winitpro, DC = lokal"
Nato morate dobiti slovarja NT za vsa gesla iz slovarske datoteke in jih nato primerjati s šiframi uporabnikov AD:
$ Dict = Pridobite vsebino $ DictFile | Pretvori v NTashD slovar
Nato uporabite cmdlet Pridite-ADReplAccount dobite seznam predmetov v podatkih AD njihovih NT, LM hešev in zgodovino hešev. Nato bo za vsakega uporabnika opravljen pregled, da se ugotovi, ali se hash gesla ujema z oznakami iz slovarske datoteke.
Pridobite-ADReplAccount -All -Server $ DC -NamingContext $ Domain |
Test-GesloKvaliteta -SlabaPasswordHashes $ Dict -ShowPlainTextPasswords -IncludeDisabledAccounts
Rezultat skripte lahko izgleda tako:
Poročilo o kakovosti gesla Active Directory
--
Gesla teh računov so shranjena z reverzibilnim šifriranjem:
LM-ovi imajo gesla teh računov:
Za te račune ni nastavljeno geslo:
Gost
Gesla teh računov so najdena v slovarju:
aromanov q1w2e3
armtest P @ ssw0rd
dbidus q1w2e3
sivannikov Pa $$ w0rd
locadmin P @ ssw0rd
tstusr P @ ssw0rd
Zgodovinska gesla teh računov so bila najdena v slovarju:
administrator P @ ssw0rd
aromanov julij2016
dbidus avgust2016
Te skupine računov imajo enaka gesla:
Skupina 1:
KMedvedev
AIvanov
NPetrov
Skupina 2:
ARMTest
locadmin
tst
Skupina 3:
DRomanov
Nesreča
Ti računalniški računi imajo privzeta gesla:
V teh računih manjkajo ključi Kerberos AES:
Kerberosova predhodna overitev za te račune ni potrebna:
S temi računi je dovoljeno uporabljati samo šifriranje DES:
Te upravne račune je dovoljeno delegirati na storitev:
Skrbnik
srv-zenoss
krbtgt
nnovikov
Gesla teh računov ne bodo nikoli potekla:
jsmith
kabram
Za te račune ni treba imeti gesla:
usertst1
usertst2
Kot lahko vidite, so uporabniki AD-ja uspešno našli, katerih gesla se ujemajo s slovarjem (vključno z iskanjem, ki temeljijo na zgodovini uporabniških gesel). Našli smo tudi uporabnike z enakimi gesli.
Tako lahko s tem scenarijem preprosto preprosto analizirate kakovost gesel uporabnikov AD, njihovo odpornost na grobo silo, ocenite politiko zapletenosti gesla, ki se uporablja v domeni, in naredite organizacijske sklepe :). Skrbniki Active Directory lahko (in celo bi morali) to revizijo redno izvajati..