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