Felhasználói jelszavak ellenőrzése az Active Directory-ban

Az Active Directory tartományi felhasználó jelszó bonyolultsága az egyik legfontosabb biztonsági szolgáltatás mind a felhasználói adatok, mind a teljes domain számára. Általános szabály, hogy a felhasználók inkább az egyszerű, könnyen megjegyezhető jelszavakat részesítik előnyben, hogy életüket megkönnyítsék. De ezáltal súlyosan csökkentik számláik behatolókkal szembeni védelmének szintjét. Ebben a cikkben megmutatjuk, hogyan kell költeni Ellenőrizze a felhasználói jelszavakat az Active Directory-ban a PowerShell használatával.

A felhasználói jelszavak támadásokkal szembeni ellenállásának tesztelésére egy harmadik fél által készített PowerShell modult fogunk használni - DSInternals. Ez a modul számos olyan parancsmagot tartalmaz, amelyek lehetővé teszik, hogy különféle műveleteket végezzen az AD adatbázisban online vagy offline módon (közvetlenül az ntds.dit fájllal). Különösen az érdekli a cmdlet Test-PasswordQuality, gyenge, azonos, szabványos vagy üres jelszóval azonosítja a felhasználókat.

megjegyzés. Az AD-adatbázisból származó felhasználói jelszavak természetesen nem kaphatók tiszta szövegben, de összehasonlítva az AD felhasználói jelszavak kivonatát a szótárban szereplő szavak kivonataival, a felhasználói jelszavak meghatározhatók (vagy összehasonlíthatók)..

Tartalom:

  • A DSInternals telepítése
  • Jelszó szótár
  • Ellenőrizze a jelszavakat az AD-ben a Test-PasswordQuality segítségével

A DSInternals telepítése

A PowerShell 5 programban a DSInternals modult online telepítheti a hivatalos PowerShell szkriptgalériából:

Telepítőmodul DSInternals

A PowerShell korábbi verzióiban vagy elszigetelt rendszerekben a zip archívumot a modul legújabb verziójával kell letöltenie a GitHub-ról (https://github.com/MichaelGrafnetter/DSInternals/releases). Az írás idején a legújabb kiadás - DSInternals v2.16.1 A kapott archívumot ki kell csomagolni a PowerShell modulokkal rendelkező egyik könyvtárba:

  • C: \ Windows \ system32 \ WindowsPowerShell \ v1.0 \ Modulok \ DSInternals
  • C: \ Felhasználók \% felhasználónév% \ Dokumentumok \ WindowsPowerShell \ Modulok \ DSInternals

Vagy importálja a modult a következő paranccsal:

C modul importálása: \ distr \ PS \ DSInternals \ DSInternals.psd1

Az elérhető modul-parancsmagok listája a következőképpen szerezhető be:

Get-Command -modul DSInternals

Jelszó szótár

Ezután szükségünk van egy fájlra a gyakran használt és a "rossz" jelszavak szótárával. Letöltheti az internetről, vagy létrehozhatja saját maguk is. Az Active Directory felhasználói fiókokat a szótár jelszavaival ellenőrizzük. Mentsen jelszavakat egy szöveges fájlba PasswordDict.txt.

Ellenőrizze a jelszavakat az AD-ben a Test-PasswordQuality segítségével

A következő változókban adja meg a fájl elérési útját jelszavakkal, a domain nevet és a tartományvezérlőt.

$ DictFile = "C: \ distr \ PS \ DSInternals \ PasswordDict.txt"
$ DC = "msk-dc01"
$ Domain = "DC = winitpro, DC = loc"

Ezután be kell szereznie az NT-kivonatokat az összes jelszóhoz a szótárfájlból, hogy ezeket később összehasonlíthassa az AD-felhasználók jelszó-kivonataival:

$ Dict = Get-Content $ DictFile | ConvertTo-NTHashDictionary

Ezután használja a parancsmagot kap-ADReplAccount szerezzen egy objektumot az NT, LM kivonat AD adataiban, valamint a kivonat történelemét. Ezután minden felhasználónál ellenőrzést kell végezni annak megállapítására, hogy a jelszó-kivonat megegyezik-e a szótár-fájl kivonataival.

Get-ADReplAccount -Minden -Szerver $ DC -NamingContext $ Domain |
Teszt-JelszóMinőség -WeakPasswordHashes $ Dict -ShowPlainTextPasswords -IncludeDisabledAccounts

A szkript eredménye így néz ki:

Active Directory jelszóminőségi jelentés

--

Ezen fiókok jelszavait reverzibilis titkosítással tárolják:

Ezen fiókok jelszóinak LM-kivonatai vannak jelen:

Ezeknek a fiókoknak nincs beállítva jelszava:

vendég

Ezen fiókok jelszavai megtalálhatók a szótárban:

aromanov q1w2e3

armtest P @ ssw0rd

dbidus q1w2e3

sivannikov Pa $ $ w0rd

locadmin P @ ssw0rd

tstusr P @ ssw0rd

Ezen fiókok történelmi jelszavai megtalálhatók a szótárban:

adminisztrátor P @ ssw0rd

aromanov, 2016. július

dbidus2016. augusztus

Ezeknek a fiókcsoportoknak ugyanazok a jelszavak:

1. csoport:

KMedvedev

AIvanov

NPetrov

2. csoport:

ARMTest

locadmin

TST

3. csoport:

DRomanov

DBacess

Ezeknek a számítógépfiókoknak vannak alapértelmezett jelszavaik:

A Kerberos AES kulcsok hiányoznak a következő fiókokból:

A Kerberos előhitelesítésére nincs szükség az alábbi fiókokhoz:

Csak a DES titkosítás használható ezekkel a fiókokkal:

Ezeket az adminisztratív fiókokat átruházhatják egy szolgáltatásra:

adminisztrátor

srv-zenoss

krbtgt

nnovikov

Ezen fiókok jelszavai soha nem járnak le:

jkovacs

kabrams

Ezeknek a fiókoknak nem szükséges jelszó:

usertst1

usertst2

Mint láthatja, sikeresen megtaláltak olyan AD-felhasználókat, akiknek jelszavai megegyeznek a szótárral (beleértve a felhasználói jelszavak előzményein alapuló kereséseket is). Ugyanazokkal a jelszavakkal rendelkező felhasználókat is talált.

Tehát ezt a forgatókönyvet használva egyszerűen elemezheti az AD felhasználói jelszavak minőségét, a brutális erővel szembeni ellenálló képességüket, kiértékelheti a tartományban használt jelszó-összetettségi politikát, és következtetéseket vonhat le :). Az Active Directory rendszergazdái rendszeresen elvégezhetik (és akár meg is kellene) ezt az ellenőrzést..