Active Directory (AD) є важливим компонентом для керування мережевими ресурсами організацій на базі Windows. Ця ієрархічна система забезпечує централізовану аутентифікацію та авторизацію, що робить її ключовою мішенню для кіберзлочинців. Використовуючи інструменти, такі як BloodHound і SharpHound, можна здійснювати аудит середовища AD, виявляти вразливості та захищати організацію від загроз. Стаття детально описує структуру AD, її основні компоненти, методи безпеки та шляхи, за допомогою яких зловмисники намагаються отримати контроль над системою, використовуючи такі вразливості, як PrintNightmare і Zerologon.
Active Directory (AD) — це система каталогів, яка використовується для керування мережами на основі Windows. Вона відіграє ключову роль у централізованому адмініструванні ресурсів організацій, включаючи користувачів, комп’ютери, групи, мережеві пристрої, спільні файли, групові політики та довіри між доменами. Ієрархічна і розподілена архітектура AD дозволяє масштабувати її до великих організацій, підтримуючи мільйони об’єктів в одному домені з можливістю створення нових доменів у міру росту компанії.
Однак саме централізація даних робить Active Directory привабливою ціллю для кіберзлочинців, які часто використовують її як центральний елемент у своїх атаках. Приблизно 95% компаній зі списку Fortune 500 покладаються на AD, що робить її вкрай важливою мішенню для зловмисників, які прагнуть отримати доступ до корпоративних мереж. Однією з поширених загроз є фішинг-атаки, які можуть дати хакерам доступ до AD через обліковий запис звичайного користувача домену, відкриваючи можливості для вивчення внутрішньої структури та пошуку слабких місць.
Однією з причин, чому AD стала частою мішенню, є її функціональність, яка одночасно забезпечує і автентифікацію, і авторизацію в мережах Windows. Багато можливостей AD, через зворотну сумісність, не є безпечними за замовчуванням, що відкриває шлях до можливих помилок конфігурації та експлуатації уразливостей. Ба більше, базові облікові записи користувачів можуть отримати доступ до значної частини інформації про об’єкти AD, що робить критично важливим правильний захист цього середовища.
Останнім часом все більше атак спрямовані безпосередньо на AD. Зокрема, кіберзлочинні групи, що використовують програми-вимагачі, активно атакують цю службу, оскільки вона є критичною частиною IT-інфраструктури організацій. Наприклад, група, що використовує програму-вимагач Conti, була причетна до понад 400 атак по всьому світу, застосовуючи нові уразливості Active Directory, як-от PrintNightmare (CVE-2021-34527) і Zerologon (CVE-2020-1472), для підвищення привілеїв та подальшого проникнення в мережі.
Контролер домену виступає основним елементом управління в Active Directory, виконуючи функції керування каталогом і забезпечення його коректної роботи. Його головне завдання — забезпечити доступ до мережевих ресурсів та облікових записів користувачів шляхом надання послуг автентифікації та авторизації для всіх користувачів і сервісів у системі. Контролер домену займає найвищу позицію в ієрархії Active Directory, маючи максимальні адміністративні повноваження і повний контроль над середовищем. По суті, контролер домену виступає ключовою фігурою, яка виконує роль адміністратора в інфраструктурі AD.
Сховище даних Active Directory являє собою сукупність файлів бази даних і процесів, які відповідають за зберігання та обробку інформації про користувачів, служби та додатки в мережі. Основним елементом цього сховища є файл «NTDS.DIT», який зберігається в каталозі «%SystemRoot%\NTDS» на всіх контролерах домену. Цей файл є критично важливим, оскільки містить усю інформацію про структуру Active Directory та доступний лише через спеціалізовані процеси й протоколи контролера домену. NTDS.DIT вважається найважливішим компонентом в архітектурі AD, оскільки без нього неможлива коректна робота системи.
Домен служить організаційною одиницею, яка групує об’єкти та забезпечує керування цими об’єктами. Домен створює межу для автентифікації та авторизації, дозволяючи контролювати доступ до ресурсів у цьому конкретному домені. Наприклад, уявіть http://abc.com як домен.
Дерева в Active Directory представляють собою групи доменів, які мають спільний безперервний простір імен, починаючи з батьківського домену. Ця структура включає головний домен і всі дочірні домени, що з ним пов’язані. Дерева забезпечують транзитивні довірчі відносини між доменами, що означає, що довіра, встановлена між двома доменами в межах одного дерева, автоматично поширюється на всі інші домени цього дерева. Це дозволяє доменам в межах дерева взаємодіяти один з одним, забезпечуючи єдиний доступ до ресурсів і спрощуючи управління.
У контексті Active Directory дерево можна візуалізувати як ієрархію доменів з батьківським доменом у верхній частині та дочірніми доменами, що відходять від нього. Прикладом деревоподібної структури може бути головний домен, наприклад « abc.com », з різними географічними розташуваннями, представленими як дочірні домени, наприклад « ca.abc.com » для Канади, « na.abc.com » для Північної Америки та « au.abc.com » для Австралії.
Організаційні підрозділи (OU) є контейнерами в Active Directory, що використовуються для структурування та управління об’єктами, такими як групи користувачів, комп’ютери й інші підрозділи. OU створюють ієрархічну організаційну структуру, яка полегшує адміністрування та керування об’єктами. Вони також дозволяють делегувати права адміністраторам на різні рівні та застосовувати політики до певних підрозділів, що робить управління масштабними організаціями більш ефективним.
Простими словами, довіри в Active Directory — це засіб встановлення доступу між ресурсами для отримання дозволу на використання ресурсів в іншому домені. Трасти можна загалом розділити на два типи: спрямований траст і транзитивний траст.
Спрямована довіра: цей тип довіри встановлюється в односторонньому напрямку, коли довіряючий домен надає доступ до довіреного домену. Візуальне представлення цієї концепції показано на схемі.
Перехідна довіра: цей тип довіри розширює зв’язок за межі довіри одного домену, включаючи інші довірені домени. Для кращого розуміння цієї концепції надається діаграма.
Важливо відзначити, що довірчі відносини створюються для забезпечення безпечного доступу до ресурсів у кількох доменах, що робить їх ключовим компонентом безпеки Active Directory.
Завантажте останню версію BloodHound зі сховища GitHub: https://github.com/BloodHoundAD/BloodHound/releases
Розпакуйте завантажений ZIP-файл до папки у вашій системі.
Установіть Neo4j Community Edition (потрібне для BloodHound) з: https://neo4j.com/download-center/#community
Після встановлення Neo4j запустіть його та створіть нову базу даних графів. Запам’ятайте пароль бази даних.
Перейдіть до папки, куди ви розпакували BloodHound, і запустіть файл «BloodHound.exe».
Підключіться до бази даних Neo4j, ввівши ім’я користувача за замовчуванням «neo4j» і пароль, який ви встановили для бази даних графів.
Після підключення BloodHound відобразить свій основний інтерфейс.
Завантажте останню версію SharpHound зі сховища GitHub: https://github.com/BloodHoundAD/SharpHound3/releases
Розпакуйте завантажений ZIP-файл до папки у вашій системі.
Запустіть SharpHound у цільовому домені за допомогою командного рядка з правами адміністратора. Перейдіть до папки, що містить файл «SharpHound.exe», і виконайте таку команду:
SharpHound.exe --CollectionMethod All
Після завершення збору даних SharpHound створить ZIP-файл із файлами JSON. Цей файл зазвичай називається « BloodHound-yyyyMMddhhmmss.zip ».
У BloodHound натисніть кнопку «Завантажити дані» (значок хмари зі стрілкою вгору) у верхньому правому куті.
Перейдіть до місця, де зберігається файл ZIP, створений SharpHound, і виберіть його.
BloodHound почне імпортувати дані, що може зайняти кілька хвилин залежно від розміру даних.
Після імпорту даних ви можете використовувати BloodHound для аналізу результатів і визначення потенційних вразливостей і шляхів атак.
Використовуйте панель пошуку у верхньому лівому куті, щоб знайти певних користувачів, комп’ютери або групи.
Клацніть вузли та перегляньте їхні властивості, вхідні та вихідні зв’язки, щоб проаналізувати їхні з’єднання та привілеї.
Використовуйте вбудовані запити в BloodHound, щоб визначити потенційні шляхи атаки, наприклад «Найкоротші шляхи до адміністраторів домену» або «Знайти всіх адміністраторів домену».
Дотримуючись цих кроків і використовуючи BloodHound, ви зможете ефективно проаналізувати своє середовище Active Directory і виявити потенційні вразливості, якими можуть скористатися зловмисники.