ADWS та прихований шлях до переліку Active Directory
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
У статті описується тиха методика отримання інформації з Active Directory за допомогою протоколу Active Directory Web Services (ADWS) через TCP порт 9389. Використовуючи ADWS замість стандартного LDAP на портах 389 або 636, зловмисники можуть уникнути багатьох звичних мережевих виявлень і сповіщень EDR. Цей підхід зловживає легітимними адміністративними протоколами та інструментарієм, щоб приховати діяльність розвідки.
Розслідування
Розслідування вивчає технічні шари, що стоять за ADWS, включаючи .NET Message Framing, NegotiateStream і NBFSE двійкове кодування SOAP. Пояснюється, як ці компоненти покращують оперативну безпеку, приховуючи мережевий трафік і ускладнюючи ідентифікацію джерела запитів. Автор також представляє інструмент-концепт під назвою ADWSHound для демонстрації та перевірки цієї техніки.
Пом’якшення
Рекомендовані методи пом’якшення включають моніторинг трафіку через TCP порт 9389, увімкнення діагностичного журналювання Directory Service з Event 1644 і застосування аудиту доступу через SACL до чутливих об’єктів каталогу. Організаціям слід також розглянути можливість розгортання об’єктів-приманок для виявлення несанкціонованого отримання інформації. Кореляція подій Directory Service за допомогою Operation ID може додатково допомогти реконструювати підозрілу активність отримання даних.
Відповідь
Якщо така поведінка виявлена, респонденти повинні дослідити походження з’єднання з портом 9389 та ідентифікувати будь-який процес, що не має легітимної причини для комунікації через ADWS. Потім потрібно зіставити обліковий запис, використовуваний для запитів каталогу, з активними сесіями по всьому середовищу, щоб виявити скомпрометовану систему. Подію 4662 також слід переглянути на предмет ознак несанкціонованого доступу до захищених об’єктів.
Послідовність атаки
Виявлення
Можливе зловживання Active Directory Web Services (ADWS) для отримання інформації про облікові записи / групи / системи (через network_connection)
Перегляд
Виявлення LDAP запитів через ADWS з використанням модуля PowerShell AD [Журнал безпеки Microsoft Windows]
Перегляд
Виявлення переліку ADWS через мережеві індикатори [Windows Sysmon]
Перегляд
Виконання моделювання
Необхідна умова: Перевірка телеметрії та базового рівня повинна бути пройдена.
Обґрунтування: Цей розділ описує точне виконання техніки нападу (TTP), призначеної для спрацьовування правила виявлення. Команди та наратив МАЮТЬ безпосередньо відображати визначені TTP та націлюватися на створення точної телеметрії, очікуваної логікою виявлення. Абстрактні чи несуміжні приклади призведуть до неправильного діагностування.
-
Опис та команди атаки: Супротивник отримав початковий доступ до робочої станції і намагається перелічити користувачів домену для полегшення бокового переміщення. Щоб уникнути виявлення базовими інструментами на основі сигнатур, атакуючий вирішує використати офіційний модуль Microsoft PowerShell Active Directory. Вони виконують
Get-ADUserщоб отримати список усіх користувачів у домені. Ця дія змушує Active Directory Web Services (ADWS) обробити запит LDAP, який, завдяки увімкненому діагностичному журналюванню, генерує подію Windows 1644, що містить рядок “Get-ADUser”, тим самим викликаючи наше правило виявлення. -
Скрипт для регресійного тестування:
# Забезпечте наявність модуля Active Directory if (!(Get-Module -ListAvailable ActiveDirectory)) { Write-Error "Цей скрипт вимагає модуля RSAT Active Directory." return } Write-Host "[+] Запуск симуляції: Отримання даних LDAP через Get-ADUser" -ForegroundColor Cyan # Викличте виявлення, запитуючи одного користувача за допомогою патерну Get-AD* # Очікується генерація події ID 1644 у журналі служби каталогу try { Get-ADUser -Filter * -ResultSetSize 1 | Out-Null Write-Host "[+] Команда симуляції виконана успішно." -ForegroundColor Green Write-Host "[+] Перевірте журнали служби каталогу на предмет наявності події ID 1644, що містить 'Get-AD*'" -ForegroundColor Yellow } catch { Write-Host "[-] Помилка виконання команди: $($_.Exception.Message)" -ForegroundColor Red } -
Команди очищення:
# Ніякі постійні зміни не були внесені до бази даних AD. # Якщо вручну збільшені рівні діагностики реєстру, поверніть їх: # Set-ItemProperty -Path "HKLM:SystemCurrentControlSetServicesNTDSDiagnostics" -Name "16 LDAP Interface Contained" -Value 0 Write-Host "[+] Очищення завершено. Немає змін стану для відновлення." -ForegroundColor Cyan