Вы здесь

Аудит и взлом паролей в Active Directory: Шаги и инструменты


Аудит и взлом паролей в Active Directory: Шаги и инструменты

Привет! Сегодня мы рассмотрим важную тему – проверку безопасности паролей в Active Directory. Зачем это нужно? Потому что безопасные пароли – залог безопасности вашей организации. В этой статье вы узнаете, как администраторы и специалисты по информационной безопасности могут убедиться в работоспособности парольных политик и обнаружить слабые пароли.

Шаг 1: Предварительные требования:

Первым шагом в аудите паролей является извлечение хешей паролей из базы данных Active Directory. Для этой задачи мы воспользуемся модулем для PowerShell - DSInternals, который вы можете скачать ]]>здесь]]>. Скопируйте его, например, в папку C:\New Folder, на контроллере домена.

Шаг 2: Копирование базы NTDS из теневой копии:

Теперь, так как прямое копирование базы NTDS невозможно, нам нужно воспользоваться теневой копией. Запустите PowerShell с правами администратора и выполните следующие команды:

$path="C:\New folder\"
cd $path
$vss=$null
$vss=Get-CimInstance -ClassName Win32_ShadowCopy -Property * | Select-Object DeviceObject,ID
vssadmin create shadow /for=C:
$vss=Get-CimInstance -ClassName Win32_ShadowCopy -Property * | Select-Object DeviceObject,ID
$vss[0]

PowerShell - создание теневой копии

К сожалению, при копировании данных непосредсвенно из PowerShell у меня возникали ошибки, поэтому выполните копирование из cmd, запущенном от имени администратора:

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy317\Windows\NTDS "C:\new folder"

Замените "HarddiskVolumeShadowCopy317" на актуальный номер, который был показан ранее в $vss[0].

cmd - копирование данных из теневой копии

Шаг 3: Извлечение хешей паролей и анализ:

После создания теневой копии вернитесь в PowerShell, удалите теневую копию и выполните следующие команды для извлечения хешей паролей всех активных пользователей:

vssadmin.exe delete shadows /shadow="$($vss[0].ID)" /quiet
esentutl /r edb /d
import-module -name .\dsinternals
$key=Get-BootKey -Online
$dump=Get-ADDBAccount -all -DBPath '.\ntds.dit' -BootKey $key | Where-Object {$_.enabled -eq "True"}
$dump | where-object {$_.samaccounttype -eq "user"} | Format-Custom -View PwDump | out-file -FilePath users.pwdump -Encoding utf8
remove-item *edb*
remove-item *ntds*

Powershell - получение хэшей паролей пользователей

Важно!!! Полученный в результате файл является предельно критичным. Храните его соответсвующе и не допускайте его утечки! Я бы рекомендовал, удалять его безвозратно, сразу после анализа. Не оставляйте его на сревере после генерации.

Упрощённый вариант предыдущих шагов:

Я сделал программу, которая выполняет предущие шаги в атоматическом режиме за несколько секунд.

Скачать её можно ]]>здесь]]>.

Проект программы на github, если кому-то нужны будут исходники - ]]>тут]]>.

Если посчитаете, что прогамма вам полезна - донаты приветсвуются.

результат работы программы getADHashes

Шаг 4: Анализ хешей паролей и взлом:

Полученные хеши паролей могут быть проанализированы на предмет повторяющихся значений и слабых паролей (хэшей). В случае, если один и тот же пароль повторяется у множества пользователей - это повод забить тревогу, и предпринять некоторые организационные меры. 

Полученный список хэшей паролей из Active Directory с повторяющимися значениями паролей

Для дополнительной проверки того, на сколько слабые пароли установелены, можно воспользоваться программой Hashcat, которую вы можете скачать ]]>здесь]]>, и различными словарями паролей, доступными на сайте ]]>weakpass.com]]>.

В папке с программой можно сделать подпапку Dictionaries, и скопровать в неё нужные словари.

Также, в папке с программой нужно создать список уникальных хешей с имененм hacklist.txt. Оставить только уникальные хэши, можно, например, удалив дубликаты, импортировав ранее полученные данные в Excel.

Запускаем взлом командой:

hashcat.exe hacklist.txt Dictionaries\* -m 1000

Выполнение взлома паролей при помощи Hashcat

После завершения взлома, можно посмотреть список паролей в файле hashcat.potfile. Cопоставив хэши ненадёжных паролей с пользователями, можно заставить их сменить такие пароли.

Результат взлома

Заканчивая наш разговор о проверке паролей в Active Directory, помните, что обеспечение безопасности данных – это ключевая задача. Анализ и улучшение политик паролей помогут сделать вашу организацию более защищенной от потенциальных угроз.

Не забывайте при этом про нормы закона и этики.

8 13

Поделитесь статьей с друзьями в соц. сетях, возможно, она будет им полезна.


Если вам помогла статья, вы можете >>отблагодарить автора<<