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