Revizija korisničkih lozinki u Active Directoryu

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..