Složenost lozinke korisnika domene Active Directory jedna je od najvažnijih sigurnosnih značajki kako za korisničke podatke, tako i za cijelu domenu. U pravilu korisnici preferiraju jednostavne lozinke koje se lako pamte kako bi im olakšali život. Ali time ozbiljno smanjuju razinu zaštite svojih računa od uljeza. U ovom ćemo članku pokazati kako trošiti Pregledajte korisničke lozinke u Active Directoryu pomoću PowerShell-a.
Za testiranje otpornosti korisničkih lozinki prema napadima, upotrijebit ćemo treći strani PowerShell modul - DSInternals. Ovaj modul sadrži niz cmdleta koji vam omogućuju obavljanje različitih operacija s bazom podataka AD online ili offline (izravno s datotekom ntds.dit). Posebno nas zanima cmdlet Test-PasswordQuality, identificira korisnike sa slabim, identičnim, standardnim ili praznim zaporkama.
primjedba. Korisničke lozinke iz AD baze podataka, naravno, ne mogu se dobiti na jasnom mjestu, ali usporedbom oznaka lozinki AD korisnika sa slojevima riječi iz rječnika, korisničke lozinke mogu se odrediti (ili usporediti).sadržaj:
- Instaliranje DSInternalsa
- Rječnik zaporki
- Provjerite lozinke u AD-u pomoću Test-PasswordQuality
Instaliranje DSInternalsa
U PowerShell 5, možete instalirati DSInternals modul online iz službene galerije skripti PowerShell ovako:
Install-Module DSInternals
U prethodnim verzijama PowerShela ili na izoliranim sustavima morat ćete preuzeti zip arhivu s najnovijom verzijom modula s GitHub-a (https://github.com/MichaelGrafnetter/DSInternals/releases). U vrijeme pisanja, najnovije izdanje - DSInternals v2.16.1 Rezultirajuća arhiva mora biti raspakirana u jednu od mapa s PowerShell modulima:
- C: \ Windows \ system32 \ WindowsPowerShell \ v1.0 \ Moduli \ DSInternals
- C: \ Korisnici \% username% \ Documents \ WindowsPowerShell \ Modules \ DSInternals
Ili uvezite modul sa naredbom:
Uvozni modul C: \ distr \ PS \ DSInternals \ DSInternals.psd1
Popis raspoloživih cmdleta modula može se dobiti na sljedeći način:
Get-Command - modul DSInternals
Rječnik zaporki
Zatim nam treba datoteka s rječnikom često korištenih i "loših" lozinki. Možete ga preuzeti s interneta ili ga sami izraditi. Korisnički računi Active Directory provjerit će se protiv lozinki u ovom rječniku. Spremite zaporke u tekstnu datoteku PasswordDict.txt.
Provjerite lozinke u AD-u pomoću Test-PasswordQuality
U sljedećim varijablama navedite put do datoteke s lozinkama, nazivom domene i kontrolorom domene.
$ DictFile = "C: \ distr \ PS \ DSInternals \ PasswordDict.txt"
$ DC = "msk-dc01"
$ Domain = "DC = winitpro, DC = loc"
Tada morate dobiti NT heševe za sve lozinke iz datoteke rječnika, kako biste ih kasnije uspoređivali s hešpovima lozinki AD korisnika:
$ Dict = Dobivanje sadržaja $ DictFile | ConvertTo-NTHashDictionary
Zatim upotrijebite cmdlet dobiti-ADReplAccount dobiti popis objekata u AD podacima njihovih NT, LM heševa, kao i povijest heševa. Zatim će se za svakog korisnika izvršiti provjera utvrđuje li se hash lozinke podudara sa heševima iz datoteke rječnika.
Get-ADReplAccount -All -Server $ DC -NamingContext $ Domain |
Test-PasswordQuality -WeakPasswordHashes $ Dict -ShowPlainTextPasswords -IncludeDisabledAccounts
Rezultat skripte može izgledati ovako:
Izvješće o kvaliteti lozinke u aktivnom direktoriju
--
Lozinke ovih računa pohranjuju se reverzibilnom enkripcijom:
LM hasheve lozinki ovih računa prisutni su:
Ovi računi nisu postavljeni zaporkom:
gost
Zaporke ovih računa pronađene su u rječniku:
aromanov q1w2e3
stisak ruke P @ ssw0rd
dbidus q1w2e3
sivannikov Pa $$ w0rd
locadmin P @ ssw0rd
tstusr P @ ssw0rd
Povijesne lozinke tih računa pronađene su u rječniku:
administrator P @ ssw0rd
aromanov srpanj2016
dbidus kolovoz2016
Ove grupe računa imaju iste lozinke:
1. skupina:
KMedvedev
AIvanov
NPetrov
Skupina 2:
ARMTest
locadmin
TST
3. skupina:
DRomanov
DBacess
Ovi računalni računi imaju zadane lozinke:
Nema ključeva Kerberos AES s ovih računa:
Kerberos predbilježba nije potrebna za ove račune:
S ovim se računima smije koristiti samo DES enkripcija:
Ovi se administrativni računi mogu prenijeti na uslugu:
administrator
SRV-Zenoss
krbtgt
nnovikov
Zaporke ovih računa nikada neće isteći:
hhorvat
kabrams
Ovi računi ne moraju imati zaporku:
usertst1
usertst2
Kao što vidite, korisnici AD-a uspješno su pronašli čije se lozinke podudaraju s rječnikom (uključujući pretraživanja na temelju povijesti korisničkih lozinki). Pronađeni su i korisnici s istim zaporkama.
Dakle, koristeći ovaj scenarij, možete jednostavno jednostavno analizirati kvalitetu lozinki korisnika AD-a, njihovu otpornost na velike sile, procijeniti politiku složenosti lozinke koja se koristi u domeni i izvući organizacijske zaključke :). Administratori Active Directory mogu (i čak trebaju) redovito obavljati ovu reviziju..