Zložitosť hesla používateľa domény Active Directory je jednou z najdôležitejších bezpečnostných funkcií pre údaje používateľa aj pre celú doménu. Používatelia spravidla dávajú prednosť jednoduchým a ľahko zapamätateľným heslám, ktoré uľahčia ich život. Týmto spôsobom vážne znižujú úroveň ochrany svojich účtov pred votrelcami. V tomto článku si ukážeme, ako minúť Auditujte heslá používateľov v službe Active Directory pomocou PowerShell.
Na testovanie odolnosti hesiel používateľov voči útokom použijeme modul PowerShell od iných výrobcov - DSInternals. Tento modul obsahuje množstvo rutín, ktoré vám umožňujú vykonávať rôzne operácie s databázou AD online alebo offline (priamo so súborom ntds.dit). Zaujíma nás najmä cmdlet Test-PasswordQuality, identifikuje používateľov so slabými, identickými, štandardnými alebo prázdnymi heslami.
poznámka. Používateľské heslá z databázy AD samozrejme nie je možné získať jednoznačne, ale porovnaním hashov hesiel používateľov AD s hashmi slov zo slovníka môžete určiť (alebo porovnať) heslá používateľov.obsah:
- Inštalácia DSInternals
- Slovník hesiel
- Auditujte heslá v AD pomocou Test-PasswordQuality
Inštalácia DSInternals
V PowerShell 5 môžete nainštalovať modul DSInternals online z oficiálnej galérie skriptov PowerShell, ako je tento:
Inštalačný modul DSInternals
V predchádzajúcich verziách PowerShell alebo v izolovaných systémoch budete musieť stiahnuť archív zip s najnovšou verziou modulu z GitHub (https://github.com/MichaelGrafnetter/DSInternals/releases). V čase písania posledného vydania - DSInternals v2.16.1 Výsledný archív musí byť rozbalený do jedného z adresárov s modulmi PowerShell:
- C: \ Windows \ system32 \ WindowsPowerShell \ v1.0 \ Moduules \ DSInternals
- C: \ Users \% username% \ Documents \ WindowsPowerShell \ Modules \ DSInternals
Alebo modul importujte príkazom:
Importný modul C: \ distr \ PS \ DSInternals \ DSInternals.psd1
Zoznam dostupných modulov cmdlet je možné získať nasledovne:
Get-Command - Modul DSInternals
Slovník hesiel
Ďalej potrebujeme súbor so slovníkom často používaných a „zlých“ hesiel. Môžete si ho stiahnuť z internetu alebo si ho vytvoriť sami. Používateľské účty služby Active Directory sa budú porovnávať s heslami v tomto slovníku. Uložte heslá do textového súboru PasswordDict.txt.
Auditujte heslá v AD pomocou Test-PasswordQuality
V nasledujúcich premenných zadajte cestu k súboru pomocou hesiel, názvu domény a radiča domény.
$ DictFile = "C: \ distr \ PS \ DSInternals \ PasswordDict.txt"
$ DC = "msk-dc01"
$ Domain = "DC = winitpro, DC = loc"
Potom musíte získať NT hash pre všetky heslá zo súboru slovníka, aby ste ich mohli následne porovnať s hashami hesiel používateľov AD:
$ Dict = Get-Content $ DictFile | ConvertTo-NTHashDictionary
Ďalej použite rutinu cmdlet dostať-ADReplAccount získať zoznam objektov v AD dátach ich NT, LM hashe, ako aj históriu hashe. Potom sa pre každého používateľa skontroluje, či sa hash hesla zhoduje s hashmi zo súboru slovníka.
Získajte-ADReplAccount -Všetky -Server $ DC -NamingContext $ Domain |
Test-HesloKvalita - SlabéPasswordHashes $ Dict -ShowPlainTextPasswords -IncludeDisabledAccounts
Výsledok skriptu môže vyzerať takto:
Správa o kvalite hesla Active Directory
--
Heslá týchto účtov sa ukladajú pomocou reverzibilného šifrovania:
LM hash hesiel týchto účtov sú prítomné:
Tieto účty nemajú nastavené žiadne heslo:
hosť
Heslá týchto účtov boli nájdené v slovníku:
aromanov q1w2e3
najtvrdšie P @ ssw0rd
dbidus q1w2e3
sivannikov Pa $$ w0rd
locadmin P @ ssw0rd
tstusr P @ ssw0rd
Historické heslá týchto účtov sa našli v slovníku:
správca P @ ssw0rd
aromanov júl2016
dbidus August2016
Tieto skupiny účtov majú rovnaké heslá:
Skupina 1:
KMedvedev
AIvanov
NPetrov
Skupina 2:
ARMTest
locadmin
TST
Skupina 3:
DRomanov
DBacess
Tieto účty počítačov majú predvolené heslá:
Kľúče AES Kerberos chýbajú v týchto účtoch:
Predbežná autentifikácia Kerberos sa nevyžaduje pre tieto účty:
V týchto účtoch je povolené používať iba šifrovanie DES:
Tieto administratívne účty sa môžu delegovať na službu:
správca
srv-Zenoss
krbtgt
nnovikov
Heslá týchto účtov nikdy nevypršia:
jkovac
kabrams
Tieto účty nemusia mať heslo:
usertst1
usertst2
Ako vidíte, používatelia AD boli úspešne nájdení, ktorých heslá sa zhodujú so slovníkom (vrátane vyhľadávaní na základe histórie používateľských hesiel). Našli tiež používateľov s rovnakými heslami.
Takže pomocou tohto scenára môžete jednoducho analyzovať kvalitu hesiel používateľov služby AD, ich odolnosť voči hrubej sile, vyhodnotiť politiku zložitosti hesla použitú v doméne a vyvodiť organizačné závery :). Správcovia služby Active Directory môžu (a dokonca by mali) vykonávať tento audit pravidelne..