Auditovanie hesiel používateľov v službe Active Directory

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