T1547.008 Драйвер LSASS в MITRE ATT&CK: Пояснення
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
У статті пояснюється субтехніка стійкості драйвера LSASS, T1547.008, яку зловмисники використовують, щоб отримати стійке, високопривілейоване виконання на системах Windows, зловживаючи способом, яким LSASS завантажує компоненти, пов’язані з безпекою.
Розслідування
Атакуючі зазвичай починають із отримання системних привілеїв, потім розміщують шкідливий DLL або драйвер на цільовому вузлі і змінюють ключі реєстру в конфігурації LSA, щоб LSASS завантажував шкідливий компонент під час завантаження. У деяких випадках той же підхід можна застосувати для зловживання розширенням служб контролера домену.
Пом’якшення
Захисники повинні стежити за змінами в реєстрі, які впливають на ключі LSA, вимагати суворого підпису коду для драйверів і DLL, обмежувати права запису на відповідних шляхах реєстру та застосовувати моніторинг цілісності до компонентів, що завантажуються процесом LSASS.
Відповідь
Якщо виявлено підозрілі зміни в реєстрі або неочікувані завантаження драйверів у lsass.exe , ізолюйте вузол, зробіть знімок пам’яті LSASS для аналізу, орієнтованого на облікові дані, і відновіть модифіковані значення реєстру до відомого доброго стану, розслідуючи відповідальний батьківський процес.
Хід атаки
Ми все ще оновлюємо цю частину. Підпишіться, щоб отримати сповіщення
Сповістити МенеВиявлення
Можливе зняття даних для автентифікації за допомогою MSv1_0!SpAcceptCredentials Hook (через подію реєстру)
Перегляд
Можливе завантаження DLL через LSASS для збереження або виконання коду (через подію реєстру)
Перегляд
Додати підозрілу бібліотеку до постачальників підтримки безпеки [SSP] (через подію реєстру)
Перегляд
IOCs (Emails) для виявлення: T1547.008 Драйвер LSASS у рамках MITRE ATT&CK Пояснено
Перегляд
Виявлення стійкого виконання через модифікацію драйвера LSASS [подія реєстру Windows]
Перегляд
Виконання Симуляції
Передумова: Перевірка Передзапуску для Телеметрії та Базової Лінії повинна бути пройдена.
Обґрунтування: В цьому розділі описується точне виконання техніки противника (TTP), що спроектовано для активації правила виявлення. Команди та оповідання МАЮТЬ прямо відображати ідентифіковані TTP і мають генерувати точну телеметрію, очікувану логікою виявлення.
-
Сценарій Атаки та Команди:
- Підготовка – зкидання шкідливого DLL – Противник створює DLL (
maliciousLSASS.dll), який, завантажений LSASS, вилучає геші облікових даних та записує їх у%TEMP%. DLL розміщується на робочій станції жертви. - Стійкість через модифікацію реєстру – Використовуючи рідний
reg.exe, атакуючий додає повний шлях шкідливого DLL доSecurity Packagesзначення багато-строкового типу, яке LSASS читає під час запуску служби. - Тригер – Атакуючий примушує LSASS перевантажити пакети, перезапустивши
службу LSASS(потребує перезавантаження системи; для тесту ми імітуємо шляхом зупинки та запускуслужби WinDefend, що примушує LSASS перевантажити список пакетів безпеки).
- Підготовка – зкидання шкідливого DLL – Противник створює DLL (
-
Скрипт Регресійного Тестування:
# ------------------------------------------------- # Імітація стійкості драйвера LSASS (T1547.008) # ------------------------------------------------- $dllPath = "$env:USERPROFILEDesktopmaliciousLSASS.dll" # Переконатися, що існує пустий DLL файл (порожній файл-заглушка для тесту) if (-not (Test-Path $dllPath)) { New-Item -Path $dllPath -ItemType File -Force | Out-Null } # Створіть резервну копію орігінального значення $regPath = 'HKLM:SYSTEMCurrentControlSetControlLsaSecurity Packages' $original = (Get-ItemProperty -Path $regPath -Name '(Default)' -ErrorAction SilentlyContinue).'(Default)' # Додайте шлях до шкідливого DLL $newValue = @() if ($original) { $newValue = $original -split "`0" } $newValue += $dllPath Set-ItemProperty -Path $regPath -Name '(Default)' -Value $newValue -Force Write-Host "[+] Модифіковано значення реєстру Security Packages для включення шкідливого DLL." # Опціонально: Примусити LSASS перевантажити пакети без перезавантаження (перезапуск залежної служби) Restart-Service -Name WinDefend -Force -ErrorAction SilentlyContinue Write-Host "[+] Запрошено перезапуск служби для виклику перевантаження LSASS." # Пауза для дозволу збору журналів Start-Sleep -Seconds 10 # Відновіть оригінальне значення (крок очищення виконується окремо) -
Команди Очищення:
# ------------------------------------------------- # Очищення після симуляції # ------------------------------------------------- $regPath = 'HKLM:SYSTEMCurrentControlSetControlLsaSecurity Packages' # Відновіть оригінальне значення багато-строкового типу, зловлене раніше (якщо таке є) if ($original) { Set-ItemProperty -Path $regPath -Name '(Default)' -Value $original -Force } else { # Повністю видаліть значення, якщо воно було спочатку порожнім Remove-ItemProperty -Path $regPath -Name '(Default)' -Force -ErrorAction SilentlyContinue } Write-Host "[+] Відновлено оригінальне значення реєстру Security Packages." # Видаліть фіктивний DLL Remove-Item -Path "$env:USERPROFILEDesktopmaliciousLSASS.dll" -Force -ErrorAction SilentlyContinue Write-Host "[+] Видалено тимчасовий шкідливий DLL." # Опціонально: Перезавантажте вузол для повного скидання стану LSASS (не обов'язково для тесту) # Restart-Computer -Force