Složitost hesla uživatele domény Active Directory je jednou z nejdůležitějších bezpečnostních funkcí jak pro uživatelská data, tak pro celou doménu. Uživatelé zpravidla preferují jednoduchá a snadno zapamatovatelná hesla, která jim usnadní život. Tím však vážně snižují úroveň ochrany svých účtů před vetřelci. V tomto článku ukážeme, jak utratit Auditujte hesla uživatelů ve službě Active Directory pomocí prostředí PowerShell.
Abychom otestovali odolnost uživatelských hesel vůči útokům, použijeme modul PowerShell od třetích stran - DSInternals. Tento modul obsahuje řadu rutin, které umožňují provádět různé operace s databází AD online nebo offline (přímo se souborem ntds.dit). Zejména nás zajímá cmdlet Test-PasswordQuality, identifikuje uživatele se slabými, stejnými, standardními nebo prázdnými hesly.
Poznámka:. Hesla uživatelů z databáze AD samozřejmě nelze získat jednoznačně, ale porovnáním hashe hesel uživatelů AD s hashováním slov ze slovníku lze hesla uživatelů určit (nebo porovnat).Obsah:
- Instalace DSInternals
- Slovník hesel
- Auditujte hesla v AD pomocí Test-PasswordQuality
Instalace DSInternals
V PowerShell 5 můžete nainstalovat modul DSInternals online z oficiální galerie skriptů PowerShell, jako je tato:
Instalační modul DSInternals
V předchozích verzích PowerShell nebo v izolovaných systémech budete muset stáhnout archiv zip s nejnovější verzí modulu z GitHub (https://github.com/MichaelGrafnetter/DSInternals/releases). V době psaní nejnovější verze - DSInternals v2.16.1 Výsledný archiv musí být rozbalen do jednoho z adresářů s moduly PowerShell:
- C: \ Windows \ system32 \ WindowsPowerShell \ v1.0 \ Moduules \ DSInternals
- C: \ Users \% username% \ Documents \ WindowsPowerShell \ Modules \ DSInternals
Nebo importujte modul příkazem:
Importní modul C: \ distr \ PS \ DSInternals \ DSInternals.psd1
Seznam dostupných modulů cmdlets lze získat následujícím způsobem:
Get-Command - Modul DSInternals
Slovník hesel
Dále potřebujeme soubor se slovníkem často používaných a „špatných“ hesel. Můžete si ji stáhnout z internetu nebo si ji vytvořit sami. Uživatelské účty služby Active Directory budou porovnány s hesly v tomto slovníku. Uložte hesla do textového souboru PasswordDict.txt.
Auditujte hesla v AD pomocí Test-PasswordQuality
V následujících proměnných zadejte cestu k souboru pomocí hesel, názvu domény a řadiče domény.
$ DictFile = "C: \ distr \ PS \ DSInternals \ PasswordDict.txt"
$ DC = "msk-dc01"
$ Domain = "DC = winitpro, DC = loc"
Pak musíte získat NT hash pro všechna hesla ze souboru slovníku, abyste je mohli následně porovnat s hashovacími hesly uživatelů AD:
$ Dict = Get-Content $ DictFile | ConvertTo-NTHashDictionary
Dále použijte rutinu Jdi-ADReplAccount získat seznam objektů v AD datech jejich NT, LM hashe, stejně jako historie hashe. Poté se u každého uživatele provede kontrola, zda se hash hesla shoduje s hashe ze souboru slovníku.
Získejte-ADReplAccount -Všechny -Server $ DC -NamingContext $ Domain |
Test-HesloKvalita - SlabéPasswordHashes $ Dict -ShowPlainTextPasswords -IncludeDisabledAccounts
Výsledek skriptu může vypadat takto:
Zpráva o kvalitě hesla pro Active Directory
--
Hesla těchto účtů jsou ukládána pomocí reverzibilního šifrování:
LM hash hesel těchto účtů jsou přítomny:
Tyto účty nemají nastaveno žádné heslo:
Host
Hesla těchto účtů byla nalezena ve slovníku:
aromanov q1w2e3
nejpřesnější P @ ssw0rd
dbidus q1w2e3
sivannikov Pa $$ w0rd
locadmin P @ ssw0rd
tstusr P @ ssw0rd
Historická hesla těchto účtů byla nalezena ve slovníku:
správce P @ ssw0rd
aromanov červenec2016
dbidus srpen2016
Tyto skupiny účtů mají stejná hesla:
Skupina 1:
KMedveděv
Avanov
NPetrov
Skupina 2:
ARMTest
locadmin
tst
Skupina 3:
DRomanov
Dbacess
Tyto účty počítače mají výchozí hesla:
Klíče Kerberos AES chybí v těchto účtech:
Předběžné ověření Kerberos není vyžadováno pro tyto účty:
V těchto účtech je povoleno používat pouze šifrování DES:
Tyto administrativní účty mohou být delegovány na službu:
Administrátor
srv-zenoss
krbtgt
nnovikov
Hesla těchto účtů nikdy nevyprší:
jsmith
kabrams
U těchto účtů není vyžadováno heslo:
usertst1
usertst2
Jak vidíte, uživatelé AD byli úspěšně nalezeni, jejichž hesla odpovídají slovníku (včetně vyhledávání na základě historie uživatelských hesel). Nalezli také uživatele se stejnými hesly.
Takže pomocí tohoto scénáře můžete docela jednoduše analyzovat kvalitu hesel uživatelů AD, jejich odolnost vůči hrubé síle, vyhodnotit politiku složitosti hesla používanou v doméně a vyvodit organizační závěry :). Správci služby Active Directory mohou (a dokonce by měli) provádět tento audit pravidelně..